Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.6
2026-03-16
- Autopilot continuation no longer gets permanently blocked after an error in a previous turn
- In autopilot, task_complete summary is now required and renders as markdown
- Input placeholder text is no longer read aloud by screen readers on every prompt submission
- Free tree-sitter WASM objects after shell command parsing to prevent memory leak
- /help dialog starts scrolled to the top in alt-screen mode
- Auto-update correctly recovers from race conditions on Windows
- CLI no longer fails to load on Windows after updating while another instance is running
- Reduce memory usage by eliminating redundant environment variable copies per child process spawn
- Remaining requests widget no longer shows inaccurate quota data for Copilot Free users
- Resolve session crashes caused by HTTP/2 connection pool race conditions when sub-agents are active
- CLI loads the latest version of itself after an auto-update
- Kill command validation no longer incorrectly blocks some legitimate commands. e.g. p.kill() in a python script
- Instruction file frontmatter applyTo field accepts both string and array values
- Improve streaming and tool-output memory usage
- Model can discover and use tools dynamically with tool search for Claude models
- Hooks fire correctly when resuming a previous session
- Prompt input in alt screen mode renders all lines without truncation
- Links and right-click paste no longer trigger twice when running in VS Code's integrated terminal
- Hook configuration files now work across VS Code, Claude Code, and the CLI without modification by accepting PascalCase event names alongside camelCase
- Native module prebuilds (e.g., conpty.node on Windows ARM64) load reliably on first launch
- Subagent elapsed time in /tasks view freezes when idle and resumes when active again
- Flags --enable-all-github-mcp-tools, --add-github-mcp-toolset, and --add-github-mcp-tool now take effect when using the SDK (ACP mode)
- Custom instruction file paths load correctly when using COPILOT_CUSTOM_INSTRUCTIONS_DIRS
- Command output is no longer lost when a command causes the shell to exit
- Plugins using .claude-plugin/plugin.json are discovered when loaded via --plugin-dir
- Fix handling of shift+enter on VS Code with old /terminal-setup config.
- Agent creation wizard shows the correct user agents directory path
- Support Open Plugin spec file locations for loading plugin and marketplace manifests
- Show friendlier error messages and provide keyboard shortcut to open event links in browsers
- Extension tools now work with the permissions system, use
skipPermissionper-tool to bypass permission prompts - Hook config files now support Claude Code's nested matcher/hooks structure and optional type field
- Sub-agents launched by the task tool are assigned human-readable IDs based on their name (e.g.,
math-helper-0) instead of genericagent-0identifiers - The create_pull_request tool now includes the PR URL in its output so the agent can share the direct link
- read_agent output includes inbound messages that triggered each turn in multi-turn agents
- Improve compatibility with the Open Plugins spec: support
.lsp.json, PascalCase hook event names,exclusivepath mode, and:namespace separator
1.0.6-2
Improved
- Reduce memory usage by eliminating redundant environment variable copies per child process spawn
Fixed
- Free tree-sitter WASM objects after shell command parsing to prevent memory leak
- /help dialog starts scrolled to the top in alt-screen mode
- Auto-update correctly recovers from race conditions on Windows
- CLI no longer fails to load on Windows after updating while another instance is running
1.0.6-1
Improved
- Improve streaming and tool-output memory usage
Fixed
- Remaining requests widget no longer shows inaccurate quota data for Copilot Free users
- Resolve session crashes caused by HTTP/2 connection pool race conditions when sub-agents are active
- CLI loads the latest version of itself after an auto-update
- Kill command validation no longer incorrectly blocks some legitimate commands. e.g. p.kill() in a python script
- Instruction file frontmatter applyTo field accepts both string and array values
1.0.6-0
Added
- Model can discover and use tools dynamically with tool search for Claude models
Improved
- Support Open Plugin spec file locations for loading plugin and marketplace manifests
- Show friendlier error messages and provide keyboard shortcut to open event links in browsers
- Extension tools now work with the permissions system, use
skipPermissionper-tool to bypass permission prompts - Hook config files now support Claude Code's nested matcher/hooks structure and optional type field
- Sub-agents launched by the task tool are assigned human-readable IDs based on their name (e.g.,
math-helper-0) instead of genericagent-0identifiers - The create_pull_request tool now includes the PR URL in its output so the agent can share the direct link
- read_agent output includes inbound messages that triggered each turn in multi-turn agents
- Improve compatibility with the Open Plugins spec: support
.lsp.json, PascalCase hook event names,exclusivepath mode, and:namespace separator
Fixed
- Hooks fire correctly when resuming a previous session
- Prompt input in alt screen mode renders all lines without truncation
- Links and right-click paste no longer trigger twice when running in VS Code's integrated terminal
- Hook configuration files now work across VS Code, Claude Code, and the CLI without modification by accepting PascalCase event names alongside camelCase
- Native module prebuilds (e.g., conpty.node on Windows ARM64) load reliably on first launch
- Subagent elapsed time in /tasks view freezes when idle and resumes when active again
- Flags --enable-all-github-mcp-tools, --add-github-mcp-toolset, and --add-github-mcp-tool now take effect when using the SDK (ACP mode)
- Custom instruction file paths load correctly when using COPILOT_CUSTOM_INSTRUCTIONS_DIRS
- Command output is no longer lost when a command causes the shell to exit
- Plugins using .claude-plugin/plugin.json are discovered when loaded via --plugin-dir
- Fix handling of shift+enter on VS Code with old /terminal-setup config.
- Agent creation wizard shows the correct user agents directory path
1.0.5
2026-03-13
- Terminal title resets to default after running /clear or /new
- Add /extensions command to view, enable, and disable CLI extensions
- @ file mentions now support paths outside the project: absolute paths (@/usr/...), home directory (@~/...), and relative parent paths (@../...)
- Toggling experimental mode with /experimental on|off automatically restarts the CLI to apply changes immediately
- Right-click paste goes to the active dialog input instead of the main conversation input
- Introducing /pr to help create and view PRs, automatically fix CI failures, address review feedback, and resolve merge conflicts
- Block network (UNC) paths to prevent credential leakage via SMB authentication
- Send follow-up messages to background agents with the write_agent tool for multi-turn conversations
- Memory storage errors now indicate when repository doesn't exist or you lack write access
- Show a clear error when a classic Personal Access Token (ghp_) is set in environment variables instead of silently exiting
- Diff view displays correctly on Windows instead of showing corrupted/overwritten text
- Fix Kitty keyboard protocol escape sequences appearing at shutdown
- Setting claude-sonnet-4.6 as the default model is now preserved correctly
- Plugin uninstall reliably removes files using the stored install path
- Add /version command to display CLI version and check for updates from within the session
- Add experimental embedding-based dynamic retrieval of MCP and skill instructions per turn
- Syntax highlighting in /diff with support for 17 programming languages
- Add preCompact hook to run commands before context compaction starts
- Request ID from the API now appears in the timeline when errors occur after retries are exhausted
- PR descriptions with backtick-formatted code render correctly on Windows/PowerShell
- Show a helpful error message when a file path is passed as a CLI command
- Session reports an authentication error instead of hanging when the token is invalid or expired
- View tool shows partial content for large single-line files (e.g. minified JS, large JSON blobs) instead of empty output
- /changelog supports
last <N>,since <version>, andsummarizeto browse and summarize multiple release notes at once - Hooks config files that omit the version field are now accepted by the CLI
1.0.5-0
Added
- Add /version command to display CLI version and check for updates from within the session
- Add experimental embedding-based dynamic retrieval of MCP and skill instructions per turn
- Syntax highlighting in /diff with support for 17 programming languages
- Add preCompact hook to run commands before context compaction starts
Improved
- /changelog supports
last <N>,since <version>, andsummarizeto browse and summarize multiple release notes at once - Hooks config files that omit the version field are now accepted by the CLI
Fixed
- Request ID from the API now appears in the timeline when errors occur after retries are exhausted
- PR descriptions with backtick-formatted code render correctly on Windows/PowerShell
- Show a helpful error message when a file path is passed as a CLI command
- Session reports an authentication error instead of hanging when the token is invalid or expired
- View tool shows partial content for large single-line files (e.g. minified JS, large JSON blobs) instead of empty output
1.0.4
2026-03-11
- Add
session.shell.execandsession.shell.killRPC methods for executing shell commands with streaming stdout/stderr output - Custom agents from --plugin-dir plugins now load correctly in ACP mode
- Adaptive color engine with dynamic color modes and interactive theme picker. Gracefully degrades on limited-color terminals and Windows
- MCP OAuth re-authentication works reliably when callback port changes or when using Microsoft Entra ID
- Replace /pr open with /pr view [local|web] to view PR status locally or open in browser
- Enables OpenTelemetry instrumentation for observability into agent sessions, LLM calls, and tool executions
- Extensions can now be written as CommonJS modules (extension.cjs)
- Show loaded extensions count in the Environment loaded startup message
- Support disableAllHooks flag to disable all hooks from a configuration file
- Support Azure DevOps repository identification in session logs
- Session export header renders each field on its own line in shared gists
- Auto-update now retries without authentication token on SAML enforcement errors
- Autopilot mode stops continuing after API errors instead of looping indefinitely
- Status line context window percentage no longer inflates across turns by using the last call's input and output tokens instead of cumulative totals
- Kitty keyboard protocol is properly disabled on suspend when using alternate screen
- Only show reasoning headers when it's the only reasoning text available.
- Terminal properly resets when CLI crashes, preventing shell corruption
- /update command automatically restarts to apply updates instead of requiring manual exit
- OAuth authentication now handles Microsoft Entra ID and other OIDC servers reliably with proper resource indicators and refresh token support
- Show individual instruction file names in /instructions picker with [external] labels for injected files
- Path permission dialog offers a one-time approval option in addition to adding the path to the allowed list
- 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
- Interactive shell initialization no longer times out on slow machines
- 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
1.0.4-3
Added
- Add
session.shell.execandsession.shell.killRPC methods for executing shell commands with streaming stdout/stderr output
Fixed
- Custom agents from --plugin-dir plugins now load correctly in ACP mode
1.0.4-2
New
- Adaptive color engine with dynamic color modes and interactive theme picker. Gracefully degrades on limited-color terminals and Windows
Improved
- Replace /pr open with /pr view [local|web] to view PR status locally or open in browser
Fixed
- MCP OAuth re-authentication works reliably when callback port changes or when using Microsoft Entra ID
1.0.4-1
New
- Enables OpenTelemetry instrumentation for observability into agent sessions, LLM calls, and tool executions
Added
- Extensions can now be written as CommonJS modules (extension.cjs)
- Show loaded extensions count in the Environment loaded startup message
- Support disableAllHooks flag to disable all hooks from a configuration file
- Support Azure DevOps repository identification in session logs
Improved
- Only show reasoning headers when it's the only reasoning text available.
- Terminal properly resets when CLI crashes, preventing shell corruption
- /update command automatically restarts to apply updates instead of requiring manual exit
- OAuth authentication now handles Microsoft Entra ID and other OIDC servers reliably with proper resource indicators and refresh token support
- Show individual instruction file names in /instructions picker with [external] labels for injected files
- Path permission dialog offers a one-time approval option in addition to adding the path to the allowed list
Fixed
- Session export header renders each field on its own line in shared gists
- Auto-update now retries without authentication token on SAML enforcement errors
- Autopilot mode stops continuing after API errors instead of looping indefinitely
- Status line context window percentage no longer inflates across turns by using the last call's input and output tokens instead of cumulative totals
- Kitty keyboard protocol is properly disabled on suspend when using alternate screen