Skip to content

Releases: github/copilot-cli

1.0.9

19 Mar 03:52

Choose a tag to compare

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

18 Mar 19:38

Choose a tag to compare

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

18 Mar 15:02

Choose a tag to compare

1.0.8-0 Pre-release
Pre-release

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

17 Mar 17:52

Choose a tag to compare

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

17 Mar 15:22

Choose a tag to compare

1.0.7-0 Pre-release
Pre-release

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

1.0.6

16 Mar 22:44

Choose a tag to compare

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 skipPermission per-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 generic agent-0 identifiers
  • 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, exclusive path mode, and : namespace separator

1.0.6-2

16 Mar 20:37

Choose a tag to compare

1.0.6-2 Pre-release
Pre-release

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

16 Mar 16:05

Choose a tag to compare

1.0.6-1 Pre-release
Pre-release

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

16 Mar 11:10

Choose a tag to compare

1.0.6-0 Pre-release
Pre-release

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 skipPermission per-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 generic agent-0 identifiers
  • 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, exclusive path 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

13 Mar 09:56
894b48f

Choose a tag to compare

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>, and summarize to browse and summarize multiple release notes at once
  • Hooks config files that omit the version field are now accepted by the CLI