Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.37
2026-04-27
- Location-based permission persistence is now enabled by default, so approvals carry over across sessions for the same directory
- Add
copilot completion <bash|zsh|fish>subcommand to generate static shell completion scripts for subcommands, flags, and known choice values - Press
sin the session picker to cycle sort order: relevance, last used, created, or name - ACP model config options now include description and metadata for clients using the configOptions API
- Model and effort change notification no longer appears when re-selecting the same model or effort level
- Clipboard write no longer leaks X11 handles on Linux
- Pending message indicator displays correctly alongside prompt frames
- Fix detached HEAD detection always returning false after switch to git branch --show-current
- Skill picker list stays fully visible when skills have errors or warnings
- /ask responses now render markdown, including tables and formatted links
1.0.36
2026-04-24
- Subcommand picker shows a selection indicator (❯) next to the highlighted item
- Clearer error message with a direct link when multiple Copilot licenses are detected
- Fixed an issue where preToolUse.matcher was ignored. After upgrade, hooks with matcher run only for tool names that fully match the regex.
/keep-aliveis available without experimental mode to prevent system sleep while Copilot CLI is active- /remote command shows current status and supports /remote on and /remote off to toggle remote control
- Disabled skills no longer appear in the slash command list
- Add a 'changes' statusline toggle to show added/removed line counts for the session
- Custom instruction files in .gitignored directories (e.g., .github/instructions/) now load correctly
- Require double Esc to cancel in-flight work, preventing accidental interruptions
- Saving debug logs or feedback bundles no longer overwrites existing archive files
- Custom agents, skills, and commands from ~/.claude/ are no longer loaded by the Copilot CLI
- Claude Opus 4.6 now uses medium reasoning effort by default
1.0.36-1
Added
- Add a 'changes' statusline toggle to show added/removed line counts for the session
Improved
- Require double Esc to cancel in-flight work, preventing accidental interruptions
Fixed
- Custom instruction files in .gitignored directories (e.g., .github/instructions/) now load correctly
1.0.36-0
Improved
- Claude Opus 4.6 now uses medium reasoning effort by default
Fixed
- Saving debug logs or feedback bundles no longer overwrites existing archive files
- Custom agents, skills, and commands from ~/.claude/ are no longer loaded by the Copilot CLI
1.0.35
2026-04-23
- Slash commands support tab-completion for arguments and subcommands
- 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
- Session selector shows branch names, idle/in-use status, and has improved search with cursor support
- 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
- Support COPILOT_GH_HOST environment variable for GitHub hostname, taking precedence over GH_HOST
- Press Ctrl+Y (in addition to Tab) to accept the highlighted option in completion popups (@-mentions, path completions, slash commands)
- Add /session delete, delete , and delete-all subcommands, and x-to-delete in the session picker
- MCP server names with spaces and special characters are now supported
- Skill slash commands (e.g. /skill-name) passed as the initial prompt via -i are recognized correctly on startup
- Shell completion notifications are not duplicated when read_bash already returned the result
- --continue prefers resuming sessions from the current working directory instead of the most recently touched session
- Status line script now includes context window fields that match the model badge and /context output
- User settings are now stored in ~/.copilot/settings.json, separate from internal state in config.json
- Name sessions with --name and resume them by name with --resume=
- Configure Copilot agent now has shell access on Windows
- Show a helpful error message with install instructions when clipboard utilities (wl-clipboard or xclip) are missing on Linux
- LSP server entries in lsp.json support configurable spawn, initialization, and warmup timeouts
- Context window indicator in the statusline is now hidden by default
- Move MCP OAuth into the shared runtime flow and clear associated OAuth state when removing an MCP server.
- Added a GitHub-style contribution graph to /usage that adapts to terminal color mode and falls back to distinct glyphs in no-color terminals
- Self-correcting custom tool calls in agentic loop
- Cursor movement, deletion, and rendering work correctly for emoji and multi-codepoint characters in the text input
- 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
- Improve rendering performance when displaying large amounts of text in the timeline
- Sync task calls 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
- Tab navigation supports Home/End keys to jump to first and last tab
- Plugins take effect immediately after install without requiring a restart
- Add continueOnAutoMode config option to automatically switch to auto model on rate limit instead of pausing
- Auto mode no longer fails with an error 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
- Extension shutdown errors no longer appear as error-level log noise on every session exit
- LSP refactoring tools now register correctly on the first turn when LSP configs are present
- Add HTTP hook support, allowing hooks to POST JSON payloads to a configured URL instead of running a local command
- Hide subagent thinking from the timeline
- Custom agent name is now visible in the statusline footer and can be toggled via /statusline
- Pressing Escape on startup dialogs no longer causes race conditions
- grep and glob tools now accept multiple search paths
1.0.35-6
Improved
- Session sync prompt uses clearer labels and explains GitHub.com cross-device sync
1.0.35-5
Added
- Support COPILOT_GH_HOST environment variable for GitHub hostname, taking precedence over GH_HOST
- Press Ctrl+Y (in addition to Tab) to accept the highlighted option in completion popups (@-mentions, path completions, slash commands)
- Add /session delete, delete , and delete-all subcommands, and x-to-delete in the session picker
Improved
- --continue prefers resuming sessions from the current working directory instead of the most recently touched session
- Status line script now includes context window fields that match the model badge and /context output
- User settings are now stored in ~/.copilot/settings.json, separate from internal state in config.json
Fixed
- MCP server names with spaces and special characters are now supported
- Skill slash commands (e.g. /skill-name) passed as the initial prompt via -i are recognized correctly on startup
- Shell completion notifications are not duplicated when read_bash already returned the result
1.0.35-4
Added
- Name sessions with --name and resume them by name with --resume=
Improved
- LSP server entries in lsp.json support configurable spawn, initialization, and warmup timeouts
- Context window indicator in the statusline is now hidden by default
- Move MCP OAuth into the shared runtime flow and clear associated OAuth state when removing an MCP server.
Fixed
- Configure Copilot agent now has shell access on Windows
- Show a helpful error message with install instructions when clipboard utilities (wl-clipboard or xclip) are missing on Linux
1.0.35-3
Added
- Added a GitHub-style contribution graph to /usage that adapts to terminal color mode and falls back to distinct glyphs in no-color terminals
Improved
- Improve rendering performance when displaying large amounts of text in the timeline
- Sync task calls 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
- Tab navigation supports Home/End keys to jump to first and last tab
- Plugins take effect immediately after install without requiring a restart
Fixed
- Self-correcting custom tool calls in agentic loop
- Cursor movement, deletion, and rendering work correctly for emoji and multi-codepoint characters in the text input
- 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
1.0.35-2
Added
- Add continueOnAutoMode config option to automatically switch to auto model on rate limit instead of pausing
Fixed
- Auto mode no longer fails with an error 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
- Extension shutdown errors no longer appear as error-level log noise on every session exit
- LSP refactoring tools now register correctly on the first turn when LSP configs are present