Copilot CLI v1.0.35: Session Names, MCP Spaces, Tab Completion
Copilot CLI 1.0.35 adds session naming, slash command tab-completion, MCP server support for special characters, HTTP hooks, and dozens of fixes. Session picker now shows branch names and status; emoji rendering fixed; plugin hot-reload enabled.
TL;DR
- Name and resume sessions by name with --name and --resume=
- Slash command tab-completion, MCP servers with spaces/special chars, HTTP hooks
- Shell escape commands now respect $SHELL; session picker shows branch names and status
New
- Session naming — Name sessions with --name and resume them by name with --resume= instead of relying on timestamps
- Slash command tab-completion — Arguments and subcommands now support tab-completion for faster navigation
- MCP server names with spaces — Special characters and spaces in MCP server names are now supported
- HTTP hook support — Hooks can now POST JSON payloads to a configured URL instead of running local commands
- Session picker improvements — Shows branch names, idle/in-use status, and improved search with cursor support
- Ctrl+Y acceptance — Press Ctrl+Y (in addition to Tab) to accept highlighted options in completion popups
- Session delete subcommands — /session delete, delete, and delete-all subcommands plus x-to-delete in the session picker
- Skill slash commands on startup — Skill commands (e.g. /skill-name) passed via -i are now recognized correctly
- GitHub-style contribution graph — /usage now displays a contribution graph that adapts to terminal color mode
- Contribution graph in /usage — Adapts to terminal color mode and falls back to distinct glyphs in no-color terminals
- LSP timeout configuration — lsp.json entries support configurable spawn, initialization, and warmup timeouts
- Plugin hot-reload — Plugins take effect immediately after install without requiring a restart
- continueOnAutoMode config — Automatically switch to auto model on rate limit instead of pausing
- HTTP hook support — Hooks can POST JSON payloads to a configured URL instead of running local commands
- Custom agent name in statusline — Custom agent name is now visible in the statusline footer and can be toggled via /statusline
Fixed
- Shell escape commands (!) now use your $SHELL when set, instead of always invoking /bin/sh
- Permission prompts appear correctly in remote sessions for the CLI TUI
- Model change notification shows both the previous and new model name
- /update and /version commands now honor your configured update channel
- Session sync prompt uses clearer labels and explains GitHub.com cross-device sync
- --continue prefers resuming sessions from the current working directory instead of the most recently touched session
- Emoji and multi-codepoint character rendering in text input now works correctly
- Tool availability detection works correctly on Windows
- Session token expiry during a turn is handled automatically without requiring you to resend your message
- Initial tab and arrow key navigation in /cwd and /add-dir path picker selects the correct item
- Transient I/O errors no longer appear as red error entries in the timeline when an IDE or extension disconnects
- Custom agents and skills in ~/.claude/ are no longer incorrectly loaded as Copilot project config
- Login command restores interactive input correctly after authentication
- Tab navigation supports Home/End keys to jump to first and last tab
- Auto mode no longer fails when switching to a model that doesn't support the configured reasoning effort
- Pattern-specific instruction files (.github/instructions/*.instructions.md) no longer include their full body in the system prompt on every session
- LSP refactoring tools now register correctly on the first turn when LSP configs are present
- Pressing Escape on startup dialogs no longer causes race conditions
- grep and glob tools now accept multiple search paths
- Shell completion notifications are not duplicated when read_bash already returned the result
- Clipboard utility error handling on Linux now shows helpful install instructions
- Rendering performance improved when displaying large amounts of text in the timeline
- Subagent thinking is now hidden from the timeline
Breaking Changes
- Sync task calls now block until completion under MULTI_TURN_AGENTS instead of auto-promoting to background after 60s; sync no longer returns a reusable agent_id — use mode: "background" for follow-ups
- User settings are now stored in ~/.copilot/settings.json, separate from internal state in config.json
- Context window indicator in the statusline is now hidden by default
- MCP OAuth has moved into the shared runtime flow; clear associated OAuth state when removing an MCP server
- COPILOT_GH_HOST environment variable now takes precedence over GH_HOST for GitHub hostname configuration
Update with: npm install -g @github/copilot-cli@latest or check the release page for your platform.
Source: Copilot CLI