Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.11-1
Improved
- /clear now abandons the current session entirely, while /new starts a fresh conversation (keeping the old session backgrounded)
Fixed
- Extension hooks from multiple extensions now merge instead of overwriting each other or hooks from hooks.json
- sessionStart hook additionalContext is now injected into the conversation
1.0.11-0
Improved
- Custom instructions, MCP servers, skills, and agents are now discovered at every directory level from the working directory up to the git root, enabling full monorepo support
- Startup 'Environment loaded' message now shows the number of loaded hooks
- Background agent progress (current intent and tool calls completed) now surfaces in read_agent and task timeout responses
- statusLine.command path now supports ~ and environment variables (e.g.
$HOME, $ {VAR:-default}) - /new and /clear commands accept an optional prompt to start the new session with a first message
Fixed
- GitHub MCP server user configuration is respected when connecting to remote hosts
- Terminal screen redraws correctly after process suspend and resume (Ctrl+Z / fg)
- MCP OAuth authentication works with MCP servers like the Atlassian Rovo MCP Server which support Dynamic Client Registration but host authorization metadata at a non-standard URL
- /cd keeps a separate working directory per session, restored when switching sessions
1.0.10
2026-03-20
- Reduced memory usage when viewing large files in their entirety
- /login device flow works correctly in Codespaces and remote terminal environments
- Working directory is correctly detected when using --server mode with remote sessions
- Arrow keys work correctly in terminals using application keypad mode
- Repo hooks (.github/hooks/) now fire correctly when using prompt mode (-p flag)
- /copy writes formatted HTML to clipboard on Windows for pasting into Word, Outlook, and Teams
- SDK clients can register custom slash commands when starting or joining a session
- SDK clients can show elicitation dialogs to the user via session.ui.elicitation
- Add experimental support for multiple concurrent sessions
- Add --effort as a shorthand alias for --reasoning-effort
- Add /undo command to undo the last turn and revert file changes
- Markdown bullet lists render correctly in alt-screen mode when content contains hard line breaks
- Elicitation form shows Shift+Tab hint for navigating between fields in reverse
- Remote session URL displays as a compact clickable 'Open in browser' link instead of a duplicated raw URL
- Session history is no longer lost when exiting via /quit, Ctrl+C, or restart
- Hook matcher filters defined in nested hook structures are now correctly applied to inner hook items
- Plugins using .claude-plugin/ or .plugin/ manifest directories now load their MCP and LSP servers correctly
- /terminal-setup no longer shows a misleading error for WSL users
- Model picker reorganizes models into Available, Blocked/Disabled, and Upgrade tabs based on user plan and policy
- Workspace MCP servers from .mcp.json, .vscode/mcp.json, and devcontainer.json are now loaded only after folder trust is confirmed
- Config settings renamed to camelCase:
includeCoAuthoredBy,effortLevel,autoUpdatesChannel,statusLine(old names still work) - When copying assistant responses, the leading 2-space UI indent is stripped from selections where all selected lines share that indent
- Plugins loaded via --plugin-dir now appear in /plugin list under a separate 'External Plugins' section
1.0.10-1
Added
- /copy writes formatted HTML to clipboard on Windows for pasting into Word, Outlook, and Teams
1.0.10-0
Added
- SDK clients can register custom slash commands when starting or joining a session
- SDK clients can show elicitation dialogs to the user via session.ui.elicitation
- Add experimental support for multiple concurrent sessions
- Add --effort as a shorthand alias for --reasoning-effort
- Add /undo command to undo the last turn and revert file changes
Improved
- Model picker reorganizes models into Available, Blocked/Disabled, and Upgrade tabs based on user plan and policy
- Workspace MCP servers from .mcp.json, .vscode/mcp.json, and devcontainer.json are now loaded only after folder trust is confirmed
- Config settings renamed to camelCase:
includeCoAuthoredBy,effortLevel,autoUpdatesChannel,statusLine(old names still work) - When copying assistant responses, the leading 2-space UI indent is stripped from selections where all selected lines share that indent
- Plugins loaded via --plugin-dir now appear in /plugin list under a separate 'External Plugins' section
Fixed
- Markdown bullet lists render correctly in alt-screen mode when content contains hard line breaks
- Elicitation form shows Shift+Tab hint for navigating between fields in reverse
- Remote session URL displays as a compact clickable 'Open in browser' link instead of a duplicated raw URL
- Session history is no longer lost when exiting via /quit, Ctrl+C, or restart
- Hook matcher filters defined in nested hook structures are now correctly applied to inner hook items
- Plugins using .claude-plugin/ or .plugin/ manifest directories now load their MCP and LSP servers correctly
- /terminal-setup no longer shows a misleading error for WSL users
1.0.9
2026-03-19
- Spurious I/O error messages (ENOTCONN, EIO) no longer appear in the timeline during SSH disconnects or terminal closes
- Add include_gitignored config option to include gitignored files in @ file search
- Copying text on WSL correctly preserves CJK and other non-ASCII characters
- Marketplace and plugin installs from shortened URLs (e.g., aka.ms links) now work correctly
1.0.8
2026-03-18
- Agent mode labels and borders display correct colors on non-truecolor terminals (tmux, SSH, screen)
- Alternate screen buffer is now enabled by default for a cleaner terminal experience
- Exit plan mode tool remains available when an extension subprocess joins an active session
- Repo-level hooks are loaded only after folder trust is confirmed, not before the trust dialog is shown
- Idle subagents no longer clutter the /tasks view — they are hidden after 2 minutes of inactivity
- Add extension mode setting to control extensibility
- MCP servers can be validated against configured registries using the experimental MCP_ALLOWLIST feature flag
- Allow --resume to accept a task ID in addition to a session ID
- Support defining hooks in settings.json, settings.local.json, and config.json
- Scroll works correctly in macOS Terminal.app and other terminals that don't support SGR mouse encoding
- Mouse scroll works correctly in tmux after returning from an external editor
- Ctrl-C in prompt mode now exits immediately instead of waiting for the request to complete
- Spinner animation no longer delays visible output from appearing in the timeline
- Dialog titles display consistently inside all dialog boxes
1.0.8-0
Added
- Add extension mode setting to control extensibility
- MCP servers can be validated against configured registries using the experimental MCP_ALLOWLIST feature flag
- Allow --resume to accept a task ID in addition to a session ID
- Support defining hooks in settings.json, settings.local.json, and config.json
Improved
- Dialog titles display consistently inside all dialog boxes
Fixed
- Scroll works correctly in macOS Terminal.app and other terminals that don't support SGR mouse encoding
- Mouse scroll works correctly in tmux after returning from an external editor
- Ctrl-C in prompt mode now exits immediately instead of waiting for the request to complete
- Spinner animation no longer delays visible output from appearing in the timeline
1.0.7
2026-03-17
- Improve color contrast across CLI themes for better readability and accessibility
- User messages display with a subtle background color for visual differentiation from assistant messages
- Add support for gpt-5.4-mini model
- Tab bar selected tab uses compact [label] style with cleaner spacing
- Add "customize" mode to system message config for section-level system prompt overrides
- Double-Esc clears input when text is present, or triggers undo when the prompt is empty, with a hint shown after the first Esc
- Session resume no longer fails with 'Session file is corrupted' for sessions created before 1.0.6
- Branch indicator distinguishes unstaged changes (*), staged changes (+), and untracked files (%) in the header
- Add experimental SDK session APIs to list and manage skills, MCP servers, and plugins, with optional config auto-discovery from the working directory
- Add subagentStart hook that fires when a subagent is spawned, with support for injecting additional context into the subagent's prompt
- Pro and trial users now see all models they are entitled to in the model picker
- CLI restart no longer re-sends the -i/--interactive prompt to the new session
- Resolve an edge case where auto-update could leave an incomplete package on Windows
1.0.7-0
Added
- Add experimental SDK session APIs to list and manage skills, MCP servers, and plugins, with optional config auto-discovery from the working directory
- Add subagentStart hook that fires when a subagent is spawned, with support for injecting additional context into the subagent's prompt
Fixed
- Pro and trial users now see all models they are entitled to in the model picker
- CLI restart no longer re-sends the -i/--interactive prompt to the new session
- Resolve an edge case where auto-update could leave an incomplete package on Windows