Skip to content

Releases: github/copilot-cli

1.0.40

01 May 13:10

Choose a tag to compare

2026-05-01

  • PR branch decoration displays correctly in the footer regardless of model name length
  • /clear and /new reset the active custom agent selection
  • Assistant responses stream with smoother text output
  • copilot plugin list shows the correct version after running copilot plugin update
  • Add support for client_credentials OAuth grant type for MCP servers, enabling fully headless authentication without a browser
  • Subagents correctly evaluate tool search support for their own model instead of inheriting the parent session's settings
  • Switching sessions with /new or /resume no longer carries over pending messages to the new session
  • CLI no longer hangs at 100% CPU when sending a large file attachment
  • Resume session picker no longer shows duplicate entries for the same Mission Control-backed session
  • Session resume selector displays summaries on a single line, truncated to fit the column width
  • Print "Exiting…" to stderr immediately on Ctrl+C during prompt mode so shutdown progress is visible
  • /research uses an orchestrator/subagent model for more thorough and reliable deep research results
  • Autopilot mode now limits continuation messages to 5 by default (configurable with --max-autopilot-continues)
  • Automatically clean up old CLI package versions from disk during auto-update
  • Remote session statusline shows the remote working directory and branch instead of local context
  • /update no longer re-submits the original -i prompt after restarting
  • Detect Azure DevOps repositories and auto-disable the GitHub MCP server
  • Session history, file tracking, and the /chronicle command are now available to all users
  • Skills are available as slash commands in ACP clients, matching the CLI experience
  • Resuming a session no longer falsely reports it as in use after a previous CLI process exited unexpectedly
  • --config-dir now propagates correctly to plugin subcommands; --config-dir is deprecated in favor of COPILOT_HOME
  • Mouse selection works while the /ask response dialog is open, so its content can be highlighted and copied
  • Improve CLI startup speed by loading custom CA certificates asynchronously
  • Remote control link shows the full URL in the timeline instead of 'Open in browser'
  • ACP clients (e.g. Zed) now display the agent's live plan as it works through multi-step tasks
  • Add toggle for custom statusLine.command visibility in the statusline picker
  • ACP clients can now list and switch custom agents via the agent config option
  • MCP OAuth tokens cache correctly when multiple servers share the same URL but use different static OAuth client IDs
  • MCP tool names with dots or other invalid characters are now sanitized correctly
  • Ctrl+C and double-Esc remove pending queued messages one at a time instead of all at once
  • Slash command suggestions rank prefix matches above fuzzy matches
  • Prompt mode (-p) now gates repo hooks and workspace MCP behind opt-in env vars (GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS and GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP) for secure-by-default behavior

1.0.40-3

30 Apr 23:20

Choose a tag to compare

1.0.40-3 Pre-release
Pre-release

Added

  • Add support for client_credentials OAuth grant type for MCP servers, enabling fully headless authentication without a browser

Improved

  • Print "Exiting…" to stderr immediately on Ctrl+C during prompt mode so shutdown progress is visible
  • /research uses an orchestrator/subagent model for more thorough and reliable deep research results
  • Autopilot mode now limits continuation messages to 5 by default (configurable with --max-autopilot-continues)
  • Automatically clean up old CLI package versions from disk during auto-update
  • Remote session statusline shows the remote working directory and branch instead of local context

Fixed

  • Subagents correctly evaluate tool search support for their own model instead of inheriting the parent session's settings
  • Switching sessions with /new or /resume no longer carries over pending messages to the new session
  • CLI no longer hangs at 100% CPU when sending a large file attachment
  • Resume session picker no longer shows duplicate entries for the same Mission Control-backed session
  • Session resume selector displays summaries on a single line, truncated to fit the column width

1.0.40-2

30 Apr 15:25

Choose a tag to compare

1.0.40-2 Pre-release
Pre-release

Fixed

  • /update no longer re-submits the original -i prompt after restarting

1.0.40-1

30 Apr 14:44

Choose a tag to compare

1.0.40-1 Pre-release
Pre-release

Added

  • Detect Azure DevOps repositories and auto-disable the GitHub MCP server
  • Session history, file tracking, and the /chronicle command are now available to all users
  • Skills are available as slash commands in ACP clients, matching the CLI experience

Improved

  • Improve CLI startup speed by loading custom CA certificates asynchronously
  • Remote control link shows the full URL in the timeline instead of 'Open in browser'
  • ACP clients (e.g. Zed) now display the agent's live plan as it works through multi-step tasks
  • Add toggle for custom statusLine.command visibility in the statusline picker

Fixed

  • Resuming a session no longer falsely reports it as in use after a previous CLI process exited unexpectedly
  • --config-dir now propagates correctly to plugin subcommands; --config-dir is deprecated in favor of COPILOT_HOME
  • Mouse selection works while the /ask response dialog is open, so its content can be highlighted and copied

1.0.40-0

29 Apr 16:02

Choose a tag to compare

1.0.40-0 Pre-release
Pre-release

Added

  • ACP clients can now list and switch custom agents via the agent config option

Improved

  • Ctrl+C and double-Esc remove pending queued messages one at a time instead of all at once
  • Slash command suggestions rank prefix matches above fuzzy matches
  • Prompt mode (-p) now gates repo hooks and workspace MCP behind opt-in env vars (GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS and GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP) for secure-by-default behavior

Fixed

  • MCP OAuth tokens cache correctly when multiple servers share the same URL but use different static OAuth client IDs
  • MCP tool names with dots or other invalid characters are now sanitized correctly

1.0.39

28 Apr 23:25

Choose a tag to compare

2026-04-28

  • Allow ACP clients to toggle allow-all permission mode via session configuration
  • Add /compact, /context, /usage, and /env slash commands for ACP sessions
  • Press ctrl+x → b to move the current running task or shell command to the background
  • Transient pipe errors on child process stdio streams no longer cause crashes or trigger false crash reports
  • /remote status output now shows actionable hints for each connection state
  • Improve --resume session picker with better tab layout, status display, and progressive loading
  • Slash command argument picker opens immediately at exact command boundaries without requiring a trailing space

1.0.39-0

28 Apr 21:50

Choose a tag to compare

1.0.39-0 Pre-release
Pre-release

Added

  • Press ctrl+x → b to move the current running task or shell command to the background

Improved

  • /remote status output now shows actionable hints for each connection state
  • Improve --resume session picker with better tab layout, status display, and progressive loading
  • Slash command argument picker opens immediately at exact command boundaries without requiring a trailing space

Fixed

  • Transient pipe errors on child process stdio streams no longer cause crashes or trigger false crash reports

1.0.37

27 Apr 23:07

Choose a tag to compare

2026-04-27

  • Location-based permission persistence is now enabled by default, so approvals carry over across sessions for the same directory
  • Add copilot completion <bash|zsh|fish> subcommand to generate static shell completion scripts for subcommands, flags, and known choice values
  • Press s in the session picker to cycle sort order: relevance, last used, created, or name
  • ACP model config options now include description and metadata for clients using the configOptions API
  • Model and effort change notification no longer appears when re-selecting the same model or effort level
  • Clipboard write no longer leaks X11 handles on Linux
  • Pending message indicator displays correctly alongside prompt frames
  • Fix detached HEAD detection always returning false after switch to git branch --show-current
  • Skill picker list stays fully visible when skills have errors or warnings
  • /ask responses now render markdown, including tables and formatted links

1.0.36

24 Apr 18:39

Choose a tag to compare

2026-04-24

  • Subcommand picker shows a selection indicator (❯) next to the highlighted item
  • Clearer error message with a direct link when multiple Copilot licenses are detected
  • Fixed an issue where preToolUse.matcher was ignored. After upgrade, hooks with matcher run only for tool names that fully match the regex.
  • /keep-alive is available without experimental mode to prevent system sleep while Copilot CLI is active
  • /remote command shows current status and supports /remote on and /remote off to toggle remote control
  • Disabled skills no longer appear in the slash command list
  • Add a 'changes' statusline toggle to show added/removed line counts for the session
  • Custom instruction files in .gitignored directories (e.g., .github/instructions/) now load correctly
  • Require double Esc to cancel in-flight work, preventing accidental interruptions
  • Saving debug logs or feedback bundles no longer overwrites existing archive files
  • Custom agents, skills, and commands from ~/.claude/ are no longer loaded by the Copilot CLI
  • Claude Opus 4.6 now uses medium reasoning effort by default

1.0.36-1

24 Apr 14:51

Choose a tag to compare

1.0.36-1 Pre-release
Pre-release

Added

  • Add a 'changes' statusline toggle to show added/removed line counts for the session

Improved

  • Require double Esc to cancel in-flight work, preventing accidental interruptions

Fixed

  • Custom instruction files in .gitignored directories (e.g., .github/instructions/) now load correctly