Copilot CLI changelog
The last 25 stable releases of Copilot CLI, newest first, with the lines that remove, rename or deprecate something pulled out on top. Taken from the GitHub releases every morning.
Breaking changes and deprecations
- 1.0.104
- When a saved Auto preference is no longer available, Auto falls back to its default preference instead of failing each turn
- 1.0.81
- Removed the PLUGINS_DASHBOARD opt-out and the legacy skills picker it kept alive. /skills, bare /mcp, and /mcp show (with no server name) always open the dashboard; /mcp config still opens the dedicated MCP wizard.
- Removed /plugins; its resources moved to /plugin, /mcp and /skills, with /subagents and /instructions for agents and instructions.
- 1.0.79
- /theme now only shows its deprecation notice for a valid color mode, so a mistyped mode no longer suggests an invalid command or hides the notice from your next valid /theme.
- BREAKING: the sandbox setting allowDevToolCaches is renamed allowDevToolAccess, since it grants dev-tool config and registries too, not just caches. The old key is no longer read and is ignored silently, so an existin…
Latest releases
-
- Selecting Copilot Fusion High or Max in /model now works from long-context sessions
-
- Breaking When a saved Auto preference is no longer available, Auto falls back to its default preference instead of failing each turn
- Managed model "fusion" now starts sessions on Auto and applies fusionTier settings
- Interactive and SDK Autopilot sessions keep waiting for attached background tasks instead of stopping after COPILOT_TASK_WAIT_TIMEOUT_SECONDS; -p --autopilot still honors it
- When a saved Auto preference is no longer available, Auto falls back to its default preference instead of failing each turn
- Assisted Permissions are available without enabling experimental mode.
-
- Clicking a completed response code block copies its original code when enabled.
- ACP sessions now honor saved sandbox settings and --sandbox/--no-sandbox flags, including on resume.
- Cloud replies keep full text when the CLI reconnects after a dropped connection
- Sessions browser shows a session's recorded title instead of a generic Session N fallback when available
- Model-specific default Responses verbosity now applies correctly for GPT-5 models unless session verbosity is explicitly set
- Allow dnx commands to use existing .NET and NuGet sandbox grants when developer-tool access is enabled
- Windows dev-tool shims like npm.cmd now receive the same sandbox grants as npm.
- Gemini tool calls now avoid 400 schema validation errors for nullable and enum fields
- Resume sessions under mandatory managed model defaults without rejecting saved preferences
- Hash mention suggestions refresh automatically when the GitHub client becomes ready
-
- Prompt mode now honors managed Auto model selection for -p and piped stdin runs
- Subagents honor custom and MCP tool approvals, avoiding duplicate permission prompts and allowing inherited workflows to run
- Plugin marketplaces accept git-subdir sources and long plugin descriptions
- Fish shell completion works when aliases include option aliases like --effort
- Chats no longer get blocked by organization plugin preparation while sending messages
- Long-running sandboxed commands continue running reliably past 10 seconds
- Replies cut off by a provider overload error retry with backoff and show the provider's message and request ID
- Sandboxed network traffic now honors NO_PROXY and ALL_PROXY when inheriting host proxy settings
-
- Add native structured output for dynamic workflow subagents on supported models
- Add assistedApprovalInstructions setting to guide Assisted Permissions confirmation decisions
- Shell commands that create and then enter a directory now request path approval instead of being denied early.
- Headless and SDK sessions without an OAuth handler skip MCP connections when saved tokens require sign-in, while renewable grants still connect.
- macOS sandboxed commands can connect directly to localhost TCP services when local access is enabled and no host filters apply.
- Local models and loopback providers in providers.json no longer block Auto, your saved model or the default model when signed in to Copilot
- Explicit Entra MCP sign-in now recovers from rejected cached tokens by continuing to interactive sign-in.
- Switching only reasoning effort no longer forces compaction in over-budget sessions.
- Copy keys now reliably copy mouse selections even when pressed immediately after dragging.
- Cancel abandoned Microsoft sign-in flows so retries start cleanly
-
- Add --disable-client-telemetry flag to turn off client telemetry uploads from the CLI
- Add --trust-folder for one-off prompt-mode sessions started with -p or piped stdin
- Install verified Skills and plugins from GitHub install links via copilot plugin install "ghapp://air/install?..."
- Open /share without arguments to view a full-screen action menu for sharing the current session
- Sandbox host-rule traffic now honors HTTPS_PROXY and HTTP_PROXY when no sandbox proxy is configured
- Voice dictation no longer inserts language markers like into transcript text
- Managed plugins update activation in existing sessions when managed policy changes
- Sessions no longer stall for minutes when an MCP server hangs while loading tools.
- Gemini tool calls no longer fail when array parameters define enum values
- Gemini chats no longer fail after earlier tool results contain no readable content.
-
- Add support for Gemini 4 Argon
- Command hooks complete reliably even when child-exit signals are lost under Node
- MCP status and /mcp commands stay synced to the active session after split-view session switches
- Resuming a session now respects abandoned pending-permission work and continues only active permission requests.
- Keep ordinary characters typed while the input box is still coming up at startup, instead of dropping them
- Expand /ask answers with Ctrl+E, copy the entire answer with Ctrl+Y, and reopen the last usable completed answer in the session with /ask or /btw.
-
- Add agent-scoped declarative hooks for custom agents
- Remote plugin marketplace and plugin fetches retry once with your signed-in GitHub token after HTTPS auth fails.
- Streamed responses behind TLS-intercepting proxies complete when close_notify is omitted
- Fix parsing of GitHub SCP remotes with absolute paths so repository owner and name resolve correctly
- Discover all custom agents even when repositories define more than 100 or nest agent files deeply.
- Autopilot denies a preToolUse hook's "ask" decision instead of stopping on a permission dialog nobody is watching
- Keep Windows taskbar agent icons grouped across CLI updates by using a stable icon path
- Keep saved settings such as dismissed prompts, trusted folders and sign-ins when one entry in config.json is invalid, instead of resetting them on every launch
- In /config, managed permission rules are read-only and hidden unless set by your organization.
- Show billed AI Credits in /usage for token-billed sessions, including after resume
-
- Interactive sandbox settings suggest possible environment secrets and let you add masking hosts before saving.
- Make model IDs in /model and /config model case-insensitive and save canonical IDs
- Keep /allow-all available during startup while enterprise policy is still resolving
- /add-dir grants sandbox access to added directories for the current session
- /user list shows the authentication source for each signed-in account
- Show retry progress messages before recovered responses after transient model failures
- Model completions no longer show an authentication warning when an account-owned catalog is unavailable while signed out
- Interactive sessions in git repositories reach the input prompt sooner
- Timeline now shows whether you, Assisted Permissions, policy, or unattended fallback made each permission decision.
-
- Use native Microsoft Entra broker authentication on macOS when available, with browser fallback.
- copilot config supports sandbox credential injectHosts keys, with key completion in Bash, Zsh, and Fish.
- --context now applies to new and resumed ACP sessions instead of silently using the default or previously saved context tier
- Managed plugin setup retries hourly or after policy changes instead of on every message failure
-
- Add Claude Haiku 5.5 to model selection and --model completions
- copilot mcp add recovers cleanly after interrupted MCP config initialization
- MCP enable/disable now works before server discovery without starting MCP servers
- Assisted permissions send visible shell code to the permission judge instead of requiring unnecessary manual approval
- Show a policy warning when startup bypass-permission flags are suppressed by managed settings
- Clicking a Sessions sidebar row now reliably switches sessions during split-view reconciliation
- Show update guidance when managed settings request a newer CLI version without blocking normal prompts
- Managed policy can disable Assisted Permissions and keep sessions in Manual Approval mode.
-
- Add enterprise permissions.limitTo to enforce managed domain boundaries for network requests
- Run safe /user commands immediately during active turns, reject unsafe remote commands during active turns without opening dialogs, and queue commands advertised by relay hosts
- Plugin skill commands stay available after reloading enabled plugins
- Sandbox local-network allowlists now include localhost and loopback hosts.
- GitHub.com Connector users can expand GitHub CLI permissions in place and retry connections without switching sign-in methods.
- Honor --context long_context at startup and show accurate context allowance in /context
- Connecting a Connector without the required GitHub scope now prompts to update your authorization instead of failing with an authentication error
- Warmed language servers stay running across LSP requests when sandboxing is disabled
- Clicking a truncated compact shell command expands it
- Command sandboxing is available to all users via /sandbox and --sandbox.
-
- Add copilot config subcommands to list, read, set, and remove settings.
- Add a pre-conversation Ctrl+E environment picker to switch between local and cloud runs
- Entra-protected MCP servers can silently renew access-token-only credentials.
- Legacy HTTP+SSE MCP connections no longer hang indefinitely when a message POST is never acknowledged; the acknowledgement is bounded by the server's configured timeout
- Voice runtime install errors name why the download from nuget.org failed, not only the fallback feed's 401
- Compaction keeps your latest prompt when requests exceed context limits
- Large Anthropic requests rejected by provider size limits now retry after downscaling images or removing attachments
- Custom agent model entries keep model-bound reasoning effort only when that model is selected
- Shell tool calls now stream live stdout and stderr output reliably in the timeline
- Usage reporting preserves provider-reported reasoning token totals when available
-
- Add copilot sandbox ca commands to check, create, trust, rotate, and remove proxy CA trust, including unattended Windows setup; /sandbox ca install becomes create and trust
- Session timelines now clear busy status after interrupted turns finish.
- Sandboxed commands run on Windows versions without filesystem enumeration support, with a warning that PowerShell's current location may be wrong
- Footer text selection stays on the same visible line when the footer grows or shrinks.
- Offer sandbox network bypass for Node/npm EACCES socket denials on Windows
- CLI shutdown flushes pending telemetry before exit, with a bounded delay when telemetry is still initializing.
- Complete, statically analyzable read-only shell pipelines can now enter execution-evidence review, while incomplete or unbound pipelines require explicit approval.
-
- Add support for GPT-6.1 Sol in model selection
- Add --mcp-github-auth to scope GitHub account auth to approved MCP server origins
- Add session-scoped read-only directory approvals to path access prompts
- Permission prompts remain answerable after resuming interrupted sessions.
- Auto-approval now takes into account messages you type while the agent is working, as it already did for prompts sent while it was idle
- Compaction now returns a summary even when instructions ask for tool use.
- Copying selected text on Wayland now finishes as soon as wl-copy accepts it, instead of timing out and falling back to the in-process clipboard that can print "Somebody else owns the clipboard now" over the UI
- A narrow Sessions sidebar drops keyboard hints that do not fit instead of cutting one off mid-word
- MCP tools recover after transient discovery failures without restarting the session; unchanged catalogs remain available during recovery.
- "No supported model available" is no longer shown on launch or in the model picker when a configured provider already supplies a model
-
- Left-clicking supported ask_user and elicitation form inputs focuses them and places the cursor at the clicked position
- Add support for Claude Code rule files in .claude/rules as custom instructions
- Sessions in the sidebar show a blue dot when they finished a turn you have not opened yet
- Auto suggests a routing tier and lets you switch with a shortcut or click
- Auto shows a quick feedback prompt after switching away to a manually selected model
- MCP pre-registered OAuth clients honor configured oauthScopes.
- In local sessions, Esc Esc in an empty chat input takes back a prompt whose turn the model has not started answering and removes it from the conversation
- Add GPT-6 Sol and GPT-6 Luna to the model picker when available
- Adding support for claude-opus-5.5
- Shell output no longer shows trailing command completion metadata.
-
- Add optional OSC 777 terminal notifications for direct Ghostty and WezTerm sessions.
- Text selection now works in bottom-anchored dialogs, including login device codes
- Preserve /allow-all during managed-settings refresh failures, and remember exact session approvals for missing paths without granting their parent directory; exact grants are visible in /list-dirs and cleared by /rese…
- Sandboxed network denials from proxy tunnel failures now show bypass guidance
- Custom-agent startup now distinguishes model-list load failures from an empty catalog, preventing false unavailable warnings and silent required-agent deselection
- Pressing Enter in freeform ask_user prompts adds a new line; submit with Ctrl+Enter or Ctrl+S as a fallback
- A custom agent's reasoning-effort now applies when the agent is selected, instead of only its model. An explicit --reasoning-effort still wins, and a level the selected model does not offer is reported and left unapplied
- Deferred MCP tools whose registered name needed sanitizing or shortening are now listed under that name, so tool search can find them, and deferred MCP tools with no resolvable server name are now listed with the othe…
- Prompt mode now warns when it stops waiting for background tasks and explains how to change the timeout limit.
- Resuming sessions no longer stalls when MCP permission prompts are pending
-
- Add user and managed startup defaults for the Auto routing tier, including strict and user-overridable organization policy
- Consecutive steering prompts in the same mode combine into one pending message. Press Up in an empty chat input to take it back for editing, including pasted text and attachments. The recall hint appears in the pendin…
- A worktreePathTemplate setting decides where /worktree, /move, /new and --worktree create worktrees. Set for example ~/src/worktrees/{repo}/{branch}; {repoPath}, {repo}, {branch} and {branchSlug} are supported. Unset…
- Number-key selection in the question dialog works for choices 10 and beyond
- Sandbox proxies work on Windows, and a proxy with a username and password works on every platform
- /keep-alive (and /caffeinate) no longer reports that sleep is prevented when the sleep inhibitor exits immediately on startup instead of acquiring the lock (e.g. no session bus on WSL/containers/headless); it now repo…
- Prompt mode exits successfully when a child task fails but the parent recovers.
- Resume very large local sessions and continue with new prompts reliably.
- Keep --yolo enabled after startup policy checks for authenticated unmanaged sessions
- Empty strictKnownMarketplaces allowlists now hide and block built-in plugin marketplaces.
-
- Custom agents can opt into repository instruction files (AGENTS.md, copilot-instructions.md, CLAUDE.md) by setting include-custom-instructions: true in their frontmatter.
- Resuming an active session without plugin-directory, discovery, or working-directory overrides preserves marketplace plugins and skills after reload. Configuration read or validation failures no longer discard active…
- /sandbox policy now reports local-network access using your configured setting
- The status row now says it is waiting for background shells, instead of "Working", when a turn ends while an attached background shell such as a dev server is still running.
- Resume sessions even when transcript files contain recoverable corruption
- Expanded reasoning text in the compact timeline is no longer dimmed, so it is as readable as the rest of the timeline.
- Autopilot stops after accepted task completion instead of continuing unexpectedly
-
- Vim mode is now available to everyone. Turn it on with /vim or by setting editorMode to vim for modal editing in the composer, with the current mode shown while you type.
- Add /settings options to opt in to context management tools for agents and subagents
- Set transcriptView to "concise" to group tool activity into expandable work summaries.
- Add /config to open a sidebar configuration screen in the CLI
- Add /sandbox Network host allow/deny rules without replacing your configured upstream proxy
- Add session and memory import commands for the semantic JSONL interchange format
- Add copilot instruction list and copilot lsp list, replacing copilot plugins list --kind instruction and --kind lsp
- Add --json to copilot plugin list, copilot plugin marketplace list and copilot plugin marketplace browse
- Add enable and disable to copilot plugin, copilot mcp and copilot skill, replacing copilot plugins enable/disable --plugin|--mcp|--skill
- Add support for GPT-6 Astra
-
- Show running Copilot sessions in the Windows 11 taskbar with live hover status cards
- Add Client ID Metadata Document (CIMD) support for MCP OAuth sign-in
- Custom agents can list several models in model, tried in order until one is available to you, and model-policy: required keeps model changes on that list
- Adding support for claude-fable-5.1
- Add Recent, Created, Name, and classic None sorting to the split Sessions sidebar, with the selected order saved across restarts
- Enterprise admins can pin sign-in to approved GitHub organizations with the forceLoginOrgs managed setting
- Add automatic HTTPS proxy mTLS client certificate support for model and web requests
- Detect the herdr terminal multiplexer instead of mistaking it for tmux, so the Kitty keyboard protocol, color scheme following, terminal progress, /copy and notifications work in herdr panes
- A session lock that is re-entered on the same thread now fails with a reported error instead of freezing the CLI.
- Kerberos proxy authentication reconnects when the initial challenge answers with Connection: close
-
- A message typed while /worktree or /move is preparing the worktree no longer breaks the switch into it
- Ctrl+E expands the plan approval card to show the full plan again
- Show the specific authentication failure (such as 401 Bad credentials) instead of only the /login prompt
-
- Breaking Removed the PLUGINS_DASHBOARD opt-out and the legacy skills picker it kept alive. /skills, bare /mcp, and /mcp show (with no server name) always open the dashboard; /mcp config still opens the dedicated MCP wizard.
- Breaking Removed /plugins; its resources moved to /plugin, /mcp and /skills, with /subagents and /instructions for agents and instructions.
- The plugins dashboard is available to everyone: run /plugin, /mcp, or /skills. Set PLUGINS_DASHBOARD=false to opt out of it and the copilot plugins command.
- Ship MCP 2026-07-28 support to CLI, SDK, IDE, and in-memory clients
- Hooks can now receive the current OpenTelemetry trace context and emit correlated spans: inputs gain traceparent (plus tracestate when the span has vendor state); command hooks also get env vars.
- Windows: remote MCP servers protected by Microsoft Entra ID can now sign in through the OS authentication broker (WAM), usually with no prompt at all. Other platforms, --device-code, and machines without the broker li…
- Add xhigh reasoning effort support for Grok 4.6
- Startup now offers to restore sessions that were still open when their CLI went away, so a crash or a machine restart no longer means reopening each terminal by hand
- models.list now includes service-published infoMessages and warningMessages per model
- Add copilot app to open the GitHub Copilot app in the current directory
- Add defaultMode and defaultPermissionMode settings to choose startup mode and approval behavior for new interactive sessions
- Add --with-token to copilot login to read an auth token from stdin
-
- Update model configurations
-
- Breaking /theme now only shows its deprecation notice for a valid color mode, so a mistyped mode no longer suggests an invalid command or hides the notice from your next valid /theme.
- Breaking BREAKING: the sandbox setting allowDevToolCaches is renamed allowDevToolAccess, since it grants dev-tool config and registries too, not just caches. The old key is no longer read and is ignored silently, so an existin…
- The /sandbox configuration dialog shows where sandbox settings are stored in settings.json
- Add support for enterprise allow-auto-only policy so /allow-all auto works while full allow-all remains blocked.
- Allow enterprise-managed sandbox policy to enforce a proxy URL while credentials remain user-controlled
- A tool directory inside your workspace that is on PATH (.venv/bin, node_modules/.bin, an in-repo GOPATH) no longer turns that part of the workspace read-only in the sandbox
- The /sandbox configuration dialog groups the git, gh, and (on macOS) keychain settings under a new Auth tab, and the settings keys moved from sandbox.gitAuth/sandbox.ghAuth to sandbox.auth.git/sandbox.auth.gh. There i…
- Added a worktreeBaseRef setting that controls whether /worktree, /worktree new, and --worktree start from HEAD or the remote default branch. All three now default to HEAD; previously --worktree started from the remote…
- Model picker groups models into Recent, Recommended, New, and other sections, and Shift+Tab switches grouping views.
- Large monorepos now use tgrep (trigram-indexed grep for fast regex search in large codebases) instead of ripgrep
- Agent Plugins spec plugins can now ship extensions under a com.github.copilot/extensions/ directory
- Add support for the kimi-k3 model
Other agents
Claude CodeCodex CLIGemini CLIopencodeHermes AgentQwen CodeKimi CLIGooseMistral VibeCrushAiderCline All agents →
Run Copilot CLI next to the other agents and see when one needs you: AgentVera keeps them in one window on Mac, Windows and Linux, and on your phone.
Bring your agents to one desk.
Download, pick a project, open your first agent. Your installed CLIs are ready to go.