Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.4-0
Added
- Add --reasoning-effort CLI flag to set reasoning effort level
- Hooks can now request user confirmation before tool execution with 'ask' permission decision
- Add configure-copilot sub-agent for managing MCP servers, custom agents, and skills via the task tool
Improved
- Faster shell commands on Windows by skipping PowerShell profile loading
- Improve CLI help documentation to use standard --option=value format and comma-separated list syntax
Fixed
- Interactive shell initialization no longer times out on slow machines
1.0.3
2026-03-09
- Enable alternate screen buffer by default for staff users
- Extensions are now available as an experimental feature — ask Copilot to write custom tools and hooks for itself using @github/copilot-sdk
- Document GH_HOST, HTTP_PROXY, HTTPS_PROXY, NO_COLOR, and NO_PROXY environment variables in help
- Read MCP server configuration from .devcontainer/devcontainer.json
- Add --binary-version flag to query the CLI binary version without launching
- Add /restart command to hot restart the CLI while preserving your session
- Background task notifications display in timeline with expandable detail
- Type 'quit' to exit the CLI, in addition to 'exit'
- Add extraKnownMarketplaces repository setting to replace marketplaces
- Add Windows Terminal support to /terminal-setup command
- /reset-allowed-tools now fully undoes /allow-all and re-triggers the autopilot permission dialog
- Improved handling of batched queries in the SQL tool
- Login flow no longer hangs on Ubuntu when system keyring is unresponsive
- Terminal is properly reset when CLI crashes unexpectedly
- Table disables borders in screen reader mode to prevent announcing decorative characters
- MCP servers with non-conforming outputSchema are now accessible
- /plugin update now works for GitHub-installed plugins
- /add-dir directories persist across session changes like /clear and /resume
- Prevent env command from being treated as safe to allow without approval
- Placeholder text color displays correctly when wrapping in narrow terminals
- /plugin update now works with marketplaces defined in project settings
- Retry status messages now display to show progress during server error recovery
- Show loading spinner in diff mode while fetching changes
- Suppress /init suggestion when .github/instructions/ contains instructions
- Rename merge_strategy config to mergeStrategy for consistency
- Suppress unknown field warnings in skill and command frontmatter
- Trust safe sed commands to run without confirmation
1.0.3-2
New
- Extensions are now available as an experimental feature — ask Copilot to write custom tools and hooks for itself using @github/copilot-sdk
Added
- Document GH_HOST, HTTP_PROXY, HTTPS_PROXY, NO_COLOR, and NO_PROXY environment variables in help
- Read MCP server configuration from .devcontainer/devcontainer.json
- Add --binary-version flag to query the CLI binary version without launching
- Add /restart command to hot restart the CLI while preserving your session
- Background task notifications display in timeline with expandable detail
- Type 'quit' to exit the CLI, in addition to 'exit'
- Add extraKnownMarketplaces repository setting to replace marketplaces
- Add Windows Terminal support to /terminal-setup command
Improved
- Retry status messages now display to show progress during server error recovery
- Show loading spinner in diff mode while fetching changes
- Suppress /init suggestion when .github/instructions/ contains instructions
- Rename merge_strategy config to mergeStrategy for consistency
- Suppress unknown field warnings in skill and command frontmatter
- Trust safe sed commands to run without confirmation
Fixed
- /reset-allowed-tools now fully undoes /allow-all and re-triggers the autopilot permission dialog
- Improved handling of batched queries in the SQL tool
- Login flow no longer hangs on Ubuntu when system keyring is unresponsive
- Terminal is properly reset when CLI crashes unexpectedly
- Table disables borders in screen reader mode to prevent announcing decorative characters
- MCP servers with non-conforming outputSchema are now accessible
- /plugin update now works for GitHub-installed plugins
- /add-dir directories persist across session changes like /clear and /resume
- Prevent env command from being treated as safe to allow without approval
- Placeholder text color displays correctly when wrapping in narrow terminals
- /plugin update now works with marketplaces defined in project settings
1.0.3-1
New
- Extensions are now available as an experimental feature — ask Copilot to write custom tools and hooks for itself using @github/copilot-sdk
Added
- Document GH_HOST, HTTP_PROXY, HTTPS_PROXY, NO_COLOR, and NO_PROXY environment variables in help
- Read MCP server configuration from .devcontainer/devcontainer.json
- Add --binary-version flag to query the CLI binary version without launching
- Background task notifications display in timeline with expandable detail
- Type 'quit' to exit the CLI, in addition to 'exit'
- Add Windows Terminal support to /terminal-setup command
Improved
- Retry status messages now display to show progress during server error recovery
- Show loading spinner in diff mode while fetching changes
- Suppress unknown field warnings in skill and command frontmatter
Fixed
- /reset-allowed-tools now fully undoes /allow-all and re-triggers the autopilot permission dialog
- Login flow no longer hangs on Ubuntu when system keyring is unresponsive
- Terminal is properly reset when CLI crashes unexpectedly
- Table disables borders in screen reader mode to prevent announcing decorative characters
- MCP servers with non-conforming outputSchema are now accessible
- /plugin update now works for GitHub-installed plugins
- /add-dir directories persist across session changes like /clear and /resume
- Prevent env command from being treated as safe to allow without approval
- /plugin update now works with marketplaces defined in project settings
1.0.3-0
Added
- Document GH_HOST, HTTP_PROXY, HTTPS_PROXY, NO_COLOR, and NO_PROXY environment variables in help
- Add --binary-version flag to query the CLI binary version without launching
- Background task notifications display in timeline with expandable detail
- Type 'quit' to exit the CLI, in addition to 'exit'
- Add Windows Terminal support to /terminal-setup command
Improved
- Retry status messages now display to show progress during server error recovery
- Show loading spinner in diff mode while fetching changes
- Suppress unknown field warnings in skill and command frontmatter
Fixed
- /reset-allowed-tools now fully undoes /allow-all and re-triggers the autopilot permission dialog
- Login flow no longer hangs on Ubuntu when system keyring is unresponsive
- Terminal is properly reset when CLI crashes unexpectedly
- Table disables borders in screen reader mode to prevent announcing decorative characters
- MCP servers with non-conforming outputSchema are now accessible
- /plugin update now works for GitHub-installed plugins
- /add-dir directories persist across session changes like /clear and /resume
- Prevent env command from being treated as safe to allow without approval
- /plugin update now works with marketplaces defined in project settings
1.0.2
2026-03-06
To commemorate GitHub Copilot CLI reaching general availability last week, we're incrementing the major version to 1.0!
- Type 'exit' as a bare command to close the CLI
- Ask_user form now submits with Enter key and allows custom responses in enum fields
- Support 'command' field as cross-platform alias for bash/powershell in hook configs
- Hook configurations now accept timeout as alias for timeoutSec
- Fix handling of meta with control keys (including shift+enter from /terminal-setup)
0.0.423
2026-03-06
- Users are prompted for shell commands with potentially dangerous expansion or substitution use cases, additional guardrails for malicious exploits
- Block /share gist for EMU and GHE Cloud users with clear error messaging
- Elicitation enum and boolean fields now require Enter to confirm a selection, with a ✓ indicator for confirmed values vs ❯ for the browsing cursor
- MCP servers can now request users to visit a URL for out-of-band interactions such as OAuth flows or API key entry
- Improve explore agent precision and large repository support with better context sharing
- Diff mode displays cleanly on Windows with CRLF line endings
0.0.422
2026-03-05
- Display request ID in authentication and authorization error messages to aid troubleshooting
- Load personal hooks from ~/.copilot/hooks in addition to repo-level .github/hooks
- Timeline now shows the question in a box and displays 'Making best guess on autopilot' when ask_user is auto-responded
- Add support for GPT-5.4 model
- Plugin cache automatically recovers from a corrupted or incomplete clone without manual intervention
- Show a clear, actionable error message when git is not installed and a remote plugin or marketplace is used
- Text selection persists after copying to clipboard in alt screen
- Scroll view no longer jumps to earlier messages when scrolling during response streaming or with popups open
- Add copy_on_select config option to auto-copy selected text to clipboard in alt screen mode
- IME candidate windows appear at correct cursor position in CJK input
- Add mouse scroll support to /diff in alt-screen mode
- Reduce memory usage in alt-screen mode for long sessions
- Diff mode now works correctly when git color.diff=always is configured
- Opening links on Windows correctly handles URLs with & query parameters
- @-mention file completion always reflects the current state of the working directory
- ESC key to cancel works correctly in tmux and other non-kitty terminals
- Click in the prompt input to reposition the text cursor
- Add /copy command to copy the last response to clipboard
- Links in alt-screen mode are rendered with underline styling for better visibility
- /delegate prompts for a target remote in multi-remote repositories and clarifies confirmation text
- GitHub MCP server stays enabled in repositories that have both Azure DevOps and GitHub remotes
- Colons in inline code render correctly inside markdown tables
- Pressing Ctrl+C on the help dialog now dismisses it cleanly
- Plugin-contributed LSP servers are now loaded, started, and shown in /lsp show
- Pressing Enter in required enum field now selects the highlighted option
- Hide noisy todo bookkeeping queries and show dependency details in timeline
- CLI no longer hangs for minutes when working in a directory with a large number of files
- Add --output-format json flag to emit JSONL in prompt mode for programmatic integrations
- Add exitPlanMode.request protocol method for SDK plan approval support
- Automatic notifications when background shell commands and agents complete
- GitHub MCP server connection status is accurately tracked and counted in the status indicator
- Press Ctrl+R to search command history with reverse incremental search (like Bash)
- Long diff lines no longer overflow and wrap in the diff view
- Add startup prompt hooks to auto-submit prompts or slash commands when a session starts
- Ctrl+K joins lines when cursor is at end of line, matching standard Emacs/terminal behavior
- Escape sequences split across input chunks no longer leak into text input
- Rename
launch_messagesconfig setting tocompanyAnnouncements - Show a waiting message when the terminal is handed to an external editor
- Support enabledPlugins in config for automatic plugin installation at startup
- Improve key bindings in reverse history search: Ctrl+J to accept, Ctrl+G to cancel
- Rename repository config from
.github/copilot/config.jsontosettings.json - Support installing plugins from ssh:// URLs
- Session usage metrics (requests, tokens, code changes) are now persisted to events.jsonl after each session ends
0.0.422-1
Added
- Load personal hooks from ~/.copilot/hooks in addition to repo-level .github/hooks
- Add copy_on_select config option to auto-copy selected text to clipboard in alt screen mode
- Add exitPlanMode.request protocol method for SDK plan approval support
- Automatic notifications when background shell commands and agents complete
- Press Ctrl+R to search command history with reverse incremental search (like Bash)
- Add startup prompt hooks to auto-submit prompts or slash commands when a session starts
- Support enabledPlugins in config for automatic plugin installation at startup
- Support installing plugins from ssh:// URLs
- Session usage metrics (requests, tokens, code changes) are now persisted to events.jsonl after each session ends
Improved
- Show a clear, actionable error message when git is not installed and a remote plugin or marketplace is used
- Text selection persists after copying to clipboard in alt screen
- Reduce memory usage in alt-screen mode for long sessions
- @-mention file completion always reflects the current state of the working directory
- Links in alt-screen mode are rendered with underline styling for better visibility
- /delegate prompts for a target remote in multi-remote repositories and clarifies confirmation text
- Hide noisy todo bookkeeping queries and show dependency details in timeline
- Rename
launch_messagesconfig setting tocompanyAnnouncements - Show a waiting message when the terminal is handed to an external editor
- Rename repository config from
.github/copilot/config.jsontosettings.json
Fixed
- Plugin cache automatically recovers from a corrupted or incomplete clone without manual intervention
- IME candidate windows appear at correct cursor position in CJK input
- Opening links on Windows correctly handles URLs with & query parameters
- ESC key to cancel works correctly in tmux and other non-kitty terminals
- GitHub MCP server stays enabled in repositories that have both Azure DevOps and GitHub remotes
- Colons in inline code render correctly inside markdown tables
- Plugin-contributed LSP servers are now loaded, started, and shown in /lsp show
- Pressing Enter in required enum field now selects the highlighted option
- CLI no longer hangs for minutes when working in a directory with a large number of files
- GitHub MCP server connection status is accurately tracked and counted in the status indicator
- Ctrl+K joins lines when cursor is at end of line, matching standard Emacs/terminal behavior
- Escape sequences split across input chunks no longer leak into text input
0.0.422-0
Added
- Load personal hooks from ~/.copilot/hooks in addition to repo-level .github/hooks
- Support enabledPlugins in config for automatic plugin installation at startup
- Session usage metrics (requests, tokens, code changes) are now persisted to events.jsonl after each session ends
Improved
- Show a clear, actionable error message when git is not installed and a remote plugin or marketplace is used
- Links in alt-screen mode are rendered with underline styling for better visibility
- /delegate prompts for a target remote in multi-remote repositories and clarifies confirmation text
- Hide noisy todo bookkeeping queries and show dependency details in timeline
- Rename
launch_messagesconfig setting tocompanyAnnouncements - Show a waiting message when the terminal is handed to an external editor
- Rename repository config from
.github/copilot/config.jsontosettings.json
Fixed
- Plugin cache automatically recovers from a corrupted or incomplete clone without manual intervention
- Opening links on Windows correctly handles URLs with & query parameters
- Colons in inline code render correctly inside markdown tables
- Ctrl+K joins lines when cursor is at end of line, matching standard Emacs/terminal behavior