Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.12-2
Added
- Plugin hooks now receive CLAUDE_PROJECT_DIR and CLAUDE_PLUGIN_DATA environment variables, and support {{project_dir}} and {{plugin_data_dir}} template variables in hook configurations
Improved
- Model display header shows the active reasoning effort level (e.g. "(high)") next to the model name
- /session rename auto-generates a session name from conversation history when called without a name argument
Fixed
- Workspace MCP servers are now correctly loaded and visible to the agent
- /clear preserves MCP servers in the new session
Removed
- Remove --alt-screen flag and alt_screen setting; alt screen is now always enabled
1.0.12-1
Improved
- Status line payload includes session_name field alongside session_id
Fixed
- OSC 8 hyperlinks are now clickable in VS Code terminals
- PowerShell /flag arguments (e.g., /all, /enum-devices) are no longer mistakenly treated as file paths
- Trusted folder access prompts no longer appear incorrectly on Windows OneDrive paths and case-insensitive filesystems
1.0.12-0
Improved
- Read .claude/settings.json and .claude/settings.local.json as additional repo config sources
- Model picker opens in full-screen view with inline reasoning effort adjustment using ← / → arrow keys
- OTEL hook executions are now recorded as span events instead of child spans, reducing trace clutter
- User prompt appears in the conversation immediately after pressing Enter
- /allow-all (/yolo) now supports on, off, and show subcommands to enable, disable, or check allow-all mode
- Ctrl+Y in plan mode opens the most recent research report when no plan exists yet
Fixed
- @ file picker no longer shows .git directory contents
- Scroll position stays in place when the terminal is resized
- /yolo path permissions persist after using /clear to start a new session
- Emoji characters are selected and highlighted correctly in terminal text selection
- Sessions with active work are no longer cleaned up by the stale session reaper
- Resume session restores the previously selected custom agent
- CLI no longer crashes with out-of-memory errors when running shell commands that produce high-volume output
- Pressing Escape multiple times during autopilot cancellation no longer leaves the session stuck
1.0.11
2026-03-23
- Ensure models appear in picker correctly, display model names where possible
- Show a warning when MCP servers are blocked by policy (e.g. allowlist enforcement)
- Organization policy for third-party MCP servers is now enforced for all users
- Add ~/.agents/skills/ as a personal skill discovery directory, aligning with VS Code's GHCP4A extension default
- 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
- /clear now abandons the current session entirely, while /new starts a fresh conversation (keeping the old session backgrounded)
- 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
- 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
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