GitHub Copilot CLI
v1.0.81 commercialGitHub Copilot CLI is an AI-powered command-line tool that generates shell commands and explains terminal operations using natural language.
echo "$COPILOT_TOKEN" | copilot login --with-token
export PLUGINS_DASHBOARD=false
copilot
copilot -p "Refactor the auth module" --agent myplugin:refactor-agent --usage-output-file usage.json
/worktree new
{
"pinnedPrompts": true,
"extraKnownMarketplaces": [
{
"url": "https://plugins.example.com",
"autoUpdate": true
}
],
"sandbox": {
"allowDevToolAccess": true,
"auth": {
"git": true,
"gh": true
}
}
}
copilot --plan --mode autopilot
/worktree new
{
"allowDevToolAccess": true,
"extraKnownMarketplaces": [
{
"url": "https://plugins.example.com",
"autoUpdate": true
}
]
}
/new-worktree
/permissions
allowDevToolCaches: false
forceRemoteSettingsRefresh: true
copilot login --web-flow
copilot login --device-code
copilot login --web-flow
copilot login --device-code
/limits predict
sidebar.hoverFocus: false
sidebar.accentActiveSession: true
/experimental on
/limits predict
/experimental on
stayInAutopilot: false
/model plan gemini-3.6-flash
/model plan off
/model plan gemini-3.6-flash
/model plan off
/model --session
copilot plugins install --skill ./my-skill --scope project
/settings shellShortcut on
{
"githubMcpToolsets": ["repos", "issues"],
"githubMcpTools": ["create_pull_request", "list_issues"]
}
copilot plugins marketplace browse
copilot plugins marketplace add <marketplace-url>
copilot -p --no-sandbox
{
"model": "gpt-5.6",
"effort": "high",
"contextTier": "full",
"deny": {
"mcp": ["untrusted-server"]
}
}
plugins:
- name: my-plugin
source:
url: https://github.com/org/my-plugin
sha: a3f8c21d9e4b7065f1234567890abcdef1234567
/mcp list
stayInAutopilot: true
/delegate --base main
/usage
/worktree fix the login redirect
copilot skill list
copilot --resume
/security-review
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"deferTools": true
}
}
}
/every 1d /chronicle standup
/subagents
{
"beepOnSchedule": false
}
/worktree feature/my-branch
builtInAgents:
rubberDuckAutoInvoke: false
lsp:
servers:
my-server:
bash: true
cwd: "$PLUGIN_ROOT/workspace"
/experimental on
/every 10m summarize open pull requests
/experimental on
/after 30m remind me to review the deployment checklist
{
"showTipsOnStartup": false
}
copilot config set builtInAgents.rubberDuck true
permissions:
disableBypassPermissionsMode: true
/autopilot Refactor the authentication module to use OAuth 2.0 PKCE flow
session.create({ pluginDirectories: ["/path/to/my-plugins"] })
/compact focus on the database migration steps only
---
name: my-large-agent
deferred-tool-loading: true
---
copilot --continue -C /path/to/other/dir
"terminalProgress": true
/security-review
/chronicle search "authentication flow"
auth:
redirectPort: 9876
COPILOT_PLUGIN_DIR_ONLY=1 copilot --plugin-dir ./plugins chat
/autopilot
/fork
gh copilot -C ~/projects/my-service
copilot -p 'Explain the architecture shown in this diagram' --attachment ./architecture.png
copilot --experimental
GITHUB_COPILOT_PROMPT_MODE_EXTENSIONS=true copilot -p 'Run the project lint extension and summarise findings'
copilot --max-autopilot-continues 10
GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP=1 copilot -p 'summarize open PRs in this repo'
COPILOT_HOME=~/.config/copilot-work copilot plugin list
ctrl+x → b
copilot completion zsh > ~/.zsh/completions/_copilot && source ~/.zshrc
/keep-alive
/remote
/remote off
gh copilot --name my-feature-work
# later...
gh copilot --resume=my-feature-work
continueOnAutoMode: true
hooks:
- event: tool_call
http:
url: https://hooks.example.com/copilot
method: POST
gh copilot --resume a3f92b1
gh copilot --print-debug-info
gh copilot --session-idle-timeout 30m
/statusline branch quota
servers:
- name: my-mcp-server
url: https://mcp.example.com/v1
/ask What does the OWASP Top 10 say about injection attacks?
copilot plugin marketplace update
echo "Plugin installed at: $COPILOT_PLUGIN_ROOT"
/env
/add-dir ./src
gh copilot /diff
/rewind
/allow-all on
# run your automated task
/allow-all off
/allow-all show
{
"hooks": {
"pre_tool_call": [
{
"command": "./scripts/audit.sh",
"args": ["{{project_dir}}", "{{plugin_data_dir}}"]
}
]
}
}
# .claude/settings.json — committed to the repo
{
"model": "claude-3-7-sonnet-20250219",
"reasoning_effort": "high"
}
# .claude/settings.local.json — git-ignored, personal overrides
{
"reasoning_effort": "low"
}
/new 'Run the full test suite and summarise failures'
statusLine.command: ~/.local/bin/my-status ${PROJECT:-default}
/undo
{ "statusLine": true, "effortLevel": "high", "autoUpdatesChannel": "stable" }
{
"hooks": {
"pre-commit": "npm run lint"
}
}
# In your system message config, set mode to 'customize' to enable section-level overrides
# Register a subagentStart hook in your SDK session setup to supply additional prompt context to each spawned subagent
COPILOT_CUSTOM_INSTRUCTIONS_DIRS=./team-instructions copilot
copilot --plugin-dir ./my-plugin
/pr
/changelog last 5
/changelog since 1.0.0
/changelog summarize
disableAllHooks: true
gh copilot /pr view local
mergeStrategy: squash
command: echo 'Running hook'
timeout: 30
gh copilot prompt --output-format json 'Summarize open TODOs in this repo' | jq '.content'
copy_on_select: true
enabledPlugins:
- my-org/copilot-plugin-terraform
- ssh://[email protected]/infra/copilot-plugin-k8s
copilot --plugin-dir ./my-local-plugin
{
"marketplaces": ["https://example.com/my-marketplace"],
"launchMessage": "Welcome to the team repo!"
}
/chronicle standup
/research How do supply-chain attacks target npm packages?
gh copilot suggest --help
/plugin install "/Users/analyst/My Plugins/vuln-scanner"
{
"plugins": [
{
"name": "my-remote-plugin",
"source": "https://github.com/my-org/my-copilot-plugin"
}
]
}
/mcp reload
include_coauthor: false
/init suppress
/streamer-mode
{
"servers": {
"my-mcp-server": {
"command": "npx",
"args": ["my-mcp-package"]
}
}
}
/mcp show
gh copilot plugin marketplace add https://example.com/my-copilot-plugin
/tasks
copilot login
/theme
launch_messages:
- 'Welcome to Copilot CLI. Remember to review AI suggestions before applying.'
/allow-all
echo '# summarize\nSummarize the current diff in one paragraph.' > .claude/commands/summarize.md
/diff
/mcp show <server-name>
gh copilot --acp
copilot update
/plugin install github.com/example-org/copilot-plugin
/init
/resume
# then press / to filter sessions by keyword
/diff
gh copilot --enable-all-github-mcp-tools
& summarize all open pull requests and save the results to pr-summary.md
/cd ~/projects/my-repo
gh copilot suggest --allow-all 'set up a new node project with eslint'
gh copilot suggest --share-gist 'Write a bash script to rotate AWS credentials'
/compact
/context
/share
COPILOT_GITHUB_TOKEN=${{ secrets.COPILOT_TOKEN }} gh copilot suggest -p 'write a bash script to archive logs older than 30 days'
gh copilot suggest --agent security-reviewer 'Review this PR for injection vulnerabilities'
/delegate Fix all TODO comments in the authentication module
gh copilot --enable-all-github-mcp-tools
copilot --disable-parallel-tools-execution
copilot --disallow-temp-dir
copilot --stream off
copilot help config
copilot --additional-mcp-config @base.json --additional-mcp-config @overrides.json
copilot --additional-mcp-config '{"mcpServers": {"my-tool": {"command": "my-tool-server", "args": []}}}'
log_level = debug
copilot -p --allow-all-paths
{
"env": {
"GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
/usage
copilot --continue
! grep -r 'TODO' ./src
/model claude-sonnet-4-5
copilot --allow-tool 'shell(npm run test:*)' --deny-tool 'shell(*)' Summary
GitHub Copilot CLI is a commercial AI tool that brings AI-powered coding assistance to the command line, enabling users to build, debug, and refactor code through natural language conversation. Accessing your repositories, issues, and pull requests is possible using natural language, all authenticated with your GitHub account. It is run as a command-line tool on Linux, macOS, and Windows. This is aimed at application developers, and its documentation does not name a comparable product. The project continues to iterate based on user feedback.
GitHub Copilot CLI is an AI-powered command-line tool that generates shell commands and explains terminal operations using natural language.
What GitHub Copilot CLI answers
Does it support other custom extensions?
the coding agent supports custom MCP servers to extend capabilities
What operating systems can I use it on?
it runs on Linux, macOS, and Windows
What is needed to run it on Windows?
PowerShell version 6 or higher
Can I run complex actions without risk?
every action has a preview that requires explicit approval before it executes
How deep is its integration with GitHub context?
it accesses repositories, issues, and pull requests using natural language with your authenticated GitHub account
Can I extend its functionality?
it takes advantage of the coding agent shipping with GitHub's MCP server and supports custom MCP servers
Examples
Command line
No option matches that search.
| option | found in | since | description |
|---|
No option matches that search.
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Release history
- v1.0.81
Copilot CLI v1.0.81 adds plugins dashboard, WAM auth, hooks trace context,
--with-tokenlogin, per-agent usage metrics, and more.└──▷ GET THIS VERSION$ git clone --branch v1.0.81 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.81
└──▷ TRY ITAuthenticate in a CI pipeline or script by piping a token directly tocopilot loginwithout interactive prompts.$ echo "$COPILOT_TOKEN" | copilot login --with-token
Opt a machine out of the plugins dashboard so the legacy workflow is preserved for automated or headless environments.$ export PLUGINS_DASHBOARD=false copilotCapture per-agent usage breakdown to a JSON file after a headless run with a plugin-contributed agent, for quota and cost tracking.$ copilot -p "Refactor the auth module" --agent myplugin:refactor-agent --usage-output-file usage.json
- ›Adds
--with-tokenflag tocopilot loginto read an auth token from stdin, enabling non-interactive authentication pipelines. - ›Adds
PLUGINS_DASHBOARD=falseenvironment variable to opt out of the plugins dashboard and thecopilot pluginscommand. - ›Adds
copilot appsubcommand to open the GitHub Copilot app in the current directory. - ›Adds
defaultModeanddefaultPermissionModesettings to configure startup mode and approval behavior for new interactive sessions. - ›Adds
--add-dirflag to discover skills and custom agents from additional directories.
+24 moreshow less
- ›Adds per-agent usage metrics to
--usage-output-fileJSON output. - ›Adds
traceparent(andtracestatewhen vendor state is present) inputs to hooks, plus env vars on command hooks, so hooks can receive the current OpenTelemetry trace context and emit correlated spans. - ›Adds
since_turnparameter support toread_agentcalls, which now consistently return full turn history unlesssince_turnis provided. - ›Ships MCP 2026-07-28 protocol support to CLI, SDK, IDE, and in-memory clients.
- ›Adds Ctrl+E in
/sandboxto opensettings.jsonin your editor. - ›Adds Ctrl+Space to toggle voice dictation.
- ›Adds Ctrl+X → G keyboard shortcut to expand or collapse the autopilot goal panel.
- ›Windows: remote MCP servers protected by Microsoft Entra ID can now authenticate through the OS broker (WAM), typically with no prompt; other platforms and machines without the broker library keep the existing browser flow.
- ›ACP clients now receive subagent IDs, raw event subscriptions, and live title, mode, command, and plan updates.
- ›
models.listnow includes service-publishedinfoMessagesandwarningMessagesper model. - ›Adds support for Gemini 3.7 Flash and xhigh reasoning effort for Grok 4.6.
- ›Auto mode now adapts model selection as a task evolves during a conversation.
- ›
/pluginnow flags installed plugins and marketplaces with a newer upstream version and offers an Update action. - ›Path-sourced plugins in a local directory-source marketplace now load live from their real directory, taking effect on
/restartor a new session without needing/plugin update. - ›Managed settings now win per entry for
enabledPluginsandextraKnownMarketplaces, preventing local overrides of organization-pinned plugins or marketplaces. - ›
forceRemoteSettingsRefreshnow fails closed: when set, the cached managed-settings policy is never served or used as a fetch-failure fallback, blocking startup on an unconfirmed policy and applying the restrictive undetermined-policy posture (non-default MCP servers blocked, bypass-permissions mode disabled, policy-gated plugin install/update mutations blocked). - ›Hook lifecycle events (
hook.start/hook.end) from hooks inside a subagent are now recorded on that subagent's session and re-emitted on its parent. - ›Shows each user instruction file separately in
/instructions. - ›Shows model data retention warnings with links in the
/modelpicker. - ›A session sandboxed by an enterprise managed policy now displays that fact on the timeline, including when the policy arrives mid-session.
- ›Agents, skills, and MCP servers contributed by installed plugins are no longer dropped in non-interactive (
-p) runs, so--agent <plugin>:<agent>works headlessly without--plugin-dir. - ›Sandboxed builds on Windows now create scratch caches on first run, enabling cargo, go, Gradle, and ccache without a warm cache.
- ›Blocks an MCP server blocked by enterprise policy now shown as blocked in
/mcpinstead of spinning as pending. - ›
xis now the delete key in/sandboxconfig,/settings,/mcp, the sessions dialog, and the diff comments summary.
└──▷ BREAKING ON UPGRADE- !The
PLUGINS_DASHBOARDopt-out environment variable and the legacy skills picker it kept alive have been removed. - !The
/pluginsslash command has been removed; its resources moved to/plugin,/mcp,/skills,/subagents, and/instructions. Enabling and disabling hooks and LSP servers is temporarily unavailable as those toggles existed only in the removed/pluginsdashboard. - !
/skills, bare/mcp, and/mcp show(with no server name) always open the plugins dashboard; there is no longer an opt-out viaPLUGINS_DASHBOARD=false.
- ›Adds
- v1.0.79
GitHub Copilot CLI v1.0.79 adds worktree sessions, tgrep monorepo search, multi-session management, and a renamed sandbox policy key.
└──▷ GET THIS VERSION$ git clone --branch v1.0.79 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.79
└──▷ TRY ITStart a fresh implementation branch without leaving your current session — useful when you want Copilot to work on a feature in isolation from HEAD.$ /worktree newOpt in to prompt pinning and auto-update a private marketplace's plugins on every session start.{ "pinnedPrompts": true, "extraKnownMarketplaces": [ { "url": "https://plugins.example.com", "autoUpdate": true } ], "sandbox": { "allowDevToolAccess": true, "auth": { "git": true, "gh": true } } }- ›Renames sandbox setting
allowDevToolCachestoallowDevToolAccessinsettings.json(and managed/MDM policy) — the old key is silently ignored, so an existingfalseopt-out reverts to the default (on). - ›Moves sandbox auth settings from
sandbox.gitAuth/sandbox.ghAuthtosandbox.auth.git/sandbox.auth.ghinsettings.json; old keys are rejected as invalid rather than ignored. - ›Adds
worktreeBaseRefsetting to control whether/worktree,/worktree new, and--worktreestart from HEAD or the remote default branch (all three now default to HEAD). - ›Adds
/worktree newsubcommand to start a new session in a new worktree. - ›Adds
--planflag combinable with--mode autopilotto plan first and then implement without waiting for approval.
+23 moreshow less
- ›Adds
/sandboxcommand to show effective sandbox paths, denials, and network access. - ›Adds
/appcommand to open the current session in the GitHub Copilot desktop app (requires GitHub Copilot app 1.1.3 or later). - ›Adds
pinnedPromptssetting (defaultfalse) to enable prompt pinning; automatically stays off on terminals under 30 rows unless set explicitly. - ›Adds
autoUpdate: trueoption onextraKnownMarketplacesentries in user settings to auto-update plugins at session start. - ›Makes
/modelsession-scoped by default; use/config modelto set defaults for future sessions. - ›Replaces ripgrep with tgrep (trigram-indexed grep) for fast regex search in large monorepos.
- ›Adds support for the
kimi-k3model in the model picker. - ›Adds enterprise allow-auto-only policy support so
/allow-all autoworks while full allow-all remains blocked. - ›Allows enterprise-managed sandbox policy to enforce a proxy URL while keeping credentials user-controlled.
- ›Agent Plugins spec plugins can now ship extensions under a
com.github.copilot/extensions/directory. - ›Adds multi-session management via a Sessions tab and sidebar.
- ›Model picker groups models into Recent, Recommended, New, and other sections, with Shift+Tab switching grouping views.
- ›Sandboxed git now authenticates to Azure DevOps, GitHub Enterprise Server, GitLab, and other non-GitHub remotes with stored HTTPS credentials.
- ›Sandboxed wrapper builds (make and friends) receive dev tool caches based on build manifests in the working directory.
- ›Ask user multi-select prompts now include an Other option for free-text answers.
- ›Improves teleported subagent
/tasksnavigation with nested tree browsing, current/all and finished-task filters, and a live timeline. - ›Tool directories on PATH inside a workspace (
.venv/bin,node_modules/.bin, an in-repo GOPATH) no longer turn that workspace area read-only in the sandbox. - ›Sandboxed commands can use UNIX-domain sockets on macOS, unblocking tools like tsx, vite, esbuild, and jest workers.
- ›Sandboxed commands work when the working directory lives on a Windows Dev Drive.
- ›Sandboxed commands can reach the network on recent Windows builds where outbound connections were previously blocked.
- ›A sandbox that cannot start an MCP server now fails in seconds instead of stalling the session.
- ›Supports prompt and shell command queuing in local sessions to run in order after the current task finishes.
- ›Adds (disabled) tags for inactive sandbox settings with explanations in the
/sandboxconfiguration dialog.
└──▷ BREAKING ON UPGRADE- !The sandbox setting
allowDevToolCachesis renamed toallowDevToolAccessinsettings.jsonand managed/MDM policy; the old key is silently ignored, so an existingallowDevToolCaches: falseopt-out reverts to the default (enabled). Rename it insettings.jsonand any managed/MDM policy. - !Sandbox auth settings keys moved from
sandbox.gitAuth/sandbox.ghAuthtosandbox.auth.git/sandbox.auth.ghinsettings.json; old keys are rejected as invalid. No automatic migration is provided.
- ›Renames sandbox setting
- v1.0.79
Copilot CLI v1.0.79 adds worktree branching control, combined plan+autopilot mode, sandbox policy inspection, tgrep for monorepos, and multi-session management.
└──▷ GET THIS VERSION$ git clone --branch v1.0.79 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.79
└──▷ TRY ITPlan a complex refactor first, then let autopilot implement it end-to-end without approval prompts between steps.$ copilot --plan --mode autopilot
Start a new isolated worktree session for a feature branch without leaving your current session.$ /worktree newAfter renaming allowDevToolCaches, enable auto-updating a private plugin marketplace and restore the dev-tool access opt-out.{ "allowDevToolAccess": true, "extraKnownMarketplaces": [ { "url": "https://plugins.example.com", "autoUpdate": true } ] }- ›Renames sandbox setting
allowDevToolCachestoallowDevToolAccessinsettings.json(and managed/MDM policy) to reflect that it covers dev-tool config and registries, not just caches — see breaking changes. - ›Moves sandbox auth settings from
sandbox.gitAuth/sandbox.ghAuthtosandbox.auth.git/sandbox.auth.ghinsettings.json; old keys are ignored and SDK requests still sending them are rejected. - ›Adds
worktreeBaseRefsetting to control whether/worktree,/worktree new, and--worktreestart from HEAD or the remote default branch; all three now default to HEAD. - ›Adds
pinnedPromptssetting (defaultfalse) to enable prompt pinning; also suppressed by default on terminals under 30 rows. - ›Adds
autoUpdate: truefield onextraKnownMarketplacesentries in user settings to auto-update marketplace plugins at session start.
+25 moreshow less
- ›Adds
/sandbox policycommand to show effective sandbox paths, denials, and network access. - ›Adds
/worktree newcommand to start a new session in a new worktree. - ›Combines
--planwith--mode autopilotto plan first, then implement without waiting for approval. - ›Adds
/appcommand to open the current session in the GitHub Copilot desktop app (requires Copilot app 1.1.3 or later). - ›Adds support for the
kimi-k3model in the model picker. - ›Makes
/modelsession-scoped by default; use/config modelto set defaults for future sessions. - ›Adds enterprise allow-auto-only policy support so
/allow-all autoworks while full allow-all remains blocked. - ›Allows enterprise-managed sandbox policy to enforce a proxy URL while keeping credentials user-controlled.
- ›Replaces ripgrep with tgrep (trigram-indexed grep) for fast regex search in large monorepos.
- ›Agent Plugins spec plugins can now ship extensions under a
com.github.copilot/extensions/directory. - ›Model picker groups models into Recent, Recommended, New, and other sections; Shift+Tab switches grouping views.
- ›Sandboxed git now authenticates to Azure DevOps, GitHub Enterprise Server, GitLab, and other non-GitHub remotes with stored HTTPS credentials.
- ›Adds multi-session management from a Sessions tab and sidebar.
- ›Sandboxed wrapper builds (make and friends) receive dev-tool caches based on build manifests in the working directory.
- ›Queues prompts, shell commands, and supported slash commands in local sessions to run in order after the current task finishes.
- ›Ask user multi-select prompts include an Other option for free-text answers.
- ›Improves teleported subagent
/tasksnavigation with nested tree browsing, current/all and finished-task filters, and a live steerable timeline. - ›Workspace tool directories on PATH (
.venv/bin,node_modules/.bin, in-repo GOPATH) no longer force that workspace portion read-only in the sandbox. - ›Sandboxed commands can use UNIX-domain sockets on macOS again, unblocking tools that use local IPC pipes (tsx, vite, esbuild, jest workers).
- ›Sandboxed commands work when the working directory lives on a Windows Dev Drive.
- ›On Linux, searches and most shell commands blocked by the sandbox now offer to re-run outside it.
- ›A sandbox that cannot start an MCP server now fails in seconds instead of stalling the session.
- ›Plugin custom agents honor deferred-tool-loading frontmatter.
- ›Login links are clickable during web and device-code sign-in.
- ›The
/sandboxconfiguration dialog shows where sandbox settings are stored insettings.jsonand tags inactive settings as (disabled) with explanations.
└──▷ BREAKING ON UPGRADE- !The sandbox setting
allowDevToolCachesis renamed toallowDevToolAccessinsettings.jsonand managed/MDM policy; the old key is silently ignored, so an existingfalseopt-out reverts to the default (on) — rename the key in both places. - !Sandbox auth settings moved from
sandbox.gitAuth/sandbox.ghAuthtosandbox.auth.git/sandbox.auth.ghinsettings.json; old keys are ignored and SDK requests still sending them are rejected as invalid. - !
--worktreenow defaults to starting from HEAD instead of the remote default branch; setworktreeBaseRefto restore the previous behavior.
- ›Renames sandbox setting
- v1.0.78
GitHub Copilot CLI v1.0.78 adds
/new-worktreeand/permissionscommands, ACP token usage exposure, and a newallowDevToolCachessandbox setting.└──▷ GET THIS VERSION$ git clone --branch v1.0.78 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.78
└──▷ TRY ITStart a parallel investigation in an isolated worktree without disturbing your current working tree or conversation.$ /new-worktreeSwitch approval modes on the fly mid-session instead of restarting the CLI.$ /permissions- ›Adds
/new-worktree(experimental) command to create a new git worktree and start a fresh conversation inside it. - ›Adds
/permissionscommand to switch between approval modes mid-session. - ›Adds
allowDevToolCachessandbox setting (on by default) to grant sandboxed builds access to toolchain caches, registries, and installs; set tofalseto opt out. - ›Adds
forceRemoteSettingsRefreshmanaged setting to require a fresh managed-settings fetch on every startup. - ›Adds
/settings showToolDurationsto control display of per-tool-call elapsed time in timeline headers (on by default, live-ticking for calls of at least 5 seconds).
+14 moreshow less
- ›Exposes token usage in ACP prompt results and live
usage_updatenotifications. - ›ACP mode now supports closing sessions via the
closeSessionrequest. - ›Managed settings now fall back to the persistent cache on any fetch failure (network error, non-success HTTP status, or malformed response), and fail open when no usable cached policy is available.
- ›Startup now warns about unknown top-level keys in
user settings.json(e.g. misspelled settings) instead of silently ignoring them. - ›Shell completion for
--modelnow suggestsautoand all supported model names. - ›The
sessionEndhook for stdin-piped runs now fires once per completed agent turn withreasoncomplete(orerror), matching-pbehavior, instead of firing once at shutdown withuser_exit. - ›Switching sessions no longer restarts MCP servers or rebuilds hook state, preventing stale-hook errors in concurrent turns.
- ›Refreshes deferred MCP tools automatically after OAuth authentication.
- ›Sandbox bypass from a bypass prompt now applies only to the current session; new sessions start sandboxed again.
- ›When the sandbox blocks a shell command and bypass is allowed, CLI offers to re-run it outside the sandbox without re-querying the model.
- ›First-party plugins automatically update to their latest version at session start.
- ›Resuming long sessions is dramatically faster and memory-lighter: a 230 MB, 74k-event transcript now loads in under a second (vs. ~10 seconds previously) at roughly one-quarter peak memory, by reading history once in parallel at startup.
- ›Long session transcripts now render progressively to keep scrolling responsive.
- ›Copilot login now defaults to the browser flow for local desktop subprocesses without a TTY (including IDE integrations); remote and headless environments continue using device code.
└──▷ BREAKING ON UPGRADE- !The
/allow-allauto safety-judge model is no longer user-configurable; the judge model is now selected automatically. - !Managed settings now fail open — starting without the unconfirmed server restriction — when no usable cached policy is available, reversing the prior fail-closed behavior.
- ›Adds
- v1.0.78
Copilot CLI v1.0.78 adds
/new-worktree,/permissions, allowDevToolCaches sandbox setting, ACP token-usage exposure, and live tool-call duration timers.└──▷ GET THIS VERSION$ git clone --branch v1.0.78 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.78
└──▷ USE ITOpt sandboxed builds out of automatic toolchain-cache access when you need a fully isolated, clean-room build environment.allowDevToolCaches: false
Force a fresh fetch of managed settings on startup to ensure the latest enterprise policy is always applied before the session begins.forceRemoteSettingsRefresh: true
- ›Adds
/settings showToolDurationsto disable live tool-call duration timers in timeline headers (on by default; only shown for calls of at least 5 seconds). - ›Adds experimental
/new-worktreecommand to create a new git worktree and start a new conversation inside it. - ›Adds
/permissionscommand to switch between approval modes interactively. - ›Adds
allowDevToolCachessandbox setting (on by default) to grant sandboxed builds access to toolchain caches, registries, and installs; set tofalseto opt out. - ›Adds
forceRemoteSettingsRefreshmanaged setting to require a fresh managed-settings fetch on every startup.
+16 moreshow less
- ›Exposes token usage in ACP prompt results and live
usage_updatenotifications. - ›ACP mode now supports closing sessions via the
closeSessionrequest. - ›Managed settings now fall back to the persistent cache when a server-managed settings fetch fails (network error, non-success HTTP status, or malformed response), and fail open when no usable cached policy is available.
- ›Shell completion for
--modelnow suggestsautoand all supported model names. - ›Warns on startup about unknown top-level keys in
user settings.json(e.g. misspelled settings) instead of silently ignoring them. - ›
sessionEndhook for stdin-piped runs now fires once per completed agent turn withreasoncomplete(orerrorif the turn failed), matching-pbehavior, instead of once at shutdown withuser_exit. - ›First-party plugins automatically update to the latest version at session start.
- ›Sandbox bypass from a bypass prompt applies only to that session; new sessions start sandboxed again.
- ›When the sandbox blocks a shell command and bypass is allowed, the CLI offers to re-run it outside the sandbox without re-querying the model.
- ›Switching sessions no longer restarts MCP servers or rebuilds hook state, preventing stale-hook errors in parallel turns.
- ›Refreshes deferred MCP tools automatically after OAuth authentication.
- ›Resumes long session transcripts dramatically faster with parallel, single-pass history loading at startup.
- ›Long session transcripts now render progressively to keep scrolling responsive.
- ›The
/allow-allauto safety-judge model is now selected automatically and is no longer user-configurable. - ›Ctrl+Q now enqueues the highlighted mid-text skill completion instead of the partial token.
- ›Copilot login defaults to the browser flow for local desktop subprocesses without a TTY (including IDE integrations); remote and headless environments continue using device code.
└──▷ BREAKING ON UPGRADE- !The
/allow-allauto safety-judge model is no longer user-configurable; any existing user configuration for the judge model is ignored. - !A stdin-piped run that exits before completing a turn now fires no
sessionEndhook (previously fired once at shutdown withuser_exit).
- ›Adds
- v1.0.77
Copilot CLI v1.0.77 adds browser OAuth login, MDM sandbox policy, and Ctrl+G in-prompt editor
└──▷ GET THIS VERSION$ git clone --branch v1.0.77 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.77
└──▷ TRY ITForce browser-based OAuth login on a machine where you want to avoid the device-code flow.$ copilot login --web-flow
Force device-code login on a local terminal when you prefer not to open a browser.$ copilot login --device-code
- ›Adds
--web-flowand--device-codeflags tocopilot loginto force browser-based or device-code OAuth mode; browser OAuth is now the default on local interactive terminals, device code remains default on remote/headless terminals; mode is also selectable via the interactive/logincommand. - ›Adds support for enforcing managed sandbox policy via macOS and Windows native MDM settings.
- ›Adds Ctrl+G keyboard shortcut to open your editor for freeform
ask_useranswers without closing the prompt. - ›Unconditional autopilot approval now disables the sandbox for the current session when bypass is allowed.
- ›Allows reasoning effort to be omitted so the server can select the default.
- ›Adds
- v1.0.77
Copilot CLI v1.0.77 adds browser OAuth login with
--web-flow/--device-codeflags, Ctrl+G editor for freeform answers, and MDM sandbox policy enforcement.└──▷ GET THIS VERSION$ git clone --branch v1.0.77 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.77
└──▷ TRY ITForce browser-based OAuth login on a machine where you want a GUI auth flow instead of the device-code fallback.$ copilot login --web-flow
Force device-code login explicitly on a local terminal where browser OAuth is now the default, e.g. in a script or restricted environment.$ copilot login --device-code
- ›Adds
--web-flowand--device-codeflags tocopilot loginto force browser-based OAuth or device-code authentication respectively; browser OAuth is now the default on local interactive terminals, device code remains default on remote/headless terminals. - ›Adds browser-based OAuth login as a selectable option in the interactive
/logincommand. - ›Adds Ctrl+G keybinding to open your editor for freeform
ask_useranswers without closing the prompt. - ›Supports enforcing managed sandbox policy via macOS and Windows native MDM settings.
- ›Unconditional autopilot approval now disables the sandbox for the current session when bypass is allowed.
+1 moreshow less
- ›Allows reasoning effort to be omitted so the server selects the default.
- ›Adds
- v1.0.76
Copilot CLI v1.0.76 adds grok-4.5 support, a multi-session sidebar, enterprise sandbox enforcement,
/limitspredict, and a queue manager.└──▷ GET THIS VERSION$ git clone --branch v1.0.76 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.76
└──▷ TRY ITGet a suggested AI-credit limit before starting a long autopilot task, based on your session history.$ /limits predictKeep the active sidebar card visually distinct but disable hover-to-focus for a less distracting split-view experience.sidebar.hoverFocus: false sidebar.accentActiveSession: true
Enable the multi-session Sessions sidebar to manage concurrent Copilot sessions during a complex investigation.$ /experimental on- ›Adds
sidebar.hoverFocusandsidebar.accentActiveSessionconfig keys to the split-view sidebar: hover-to-focus is off by default (opt in withsidebar.hoverFocus), and the active session card is accented by default (opt out withsidebar.accentActiveSession). - ›Adds
stayInAutopilotsetting to control whether autopilot remains selected aftertask_complete; set tofalseto return to interactive mode after each task. - ›Adds
/limits predictsubcommand to suggest a session AI-credit limit based on similar past sessions. - ›Adds enable/disable controls in
/pluginsfor plugins, instructions, agents, LSP servers, and hooks. - ›Adds support for the
grok-4.5model.
+14 moreshow less
- ›Adds a new Sessions sidebar for managing multiple concurrent sessions — switch between them, spawn new ones, and see their status; enable with
/experimental on. - ›Adds a directable queue manager to reorder, edit, remove, repeat, and immediately send queued messages; Ctrl+C removes your own newest queued message.
- ›Enterprise administrators can enforce a restrictive sandbox floor via managed settings that tighten (but never loosen) the user's sandbox policy; the
/sandboxdialog surfaces org-configured managed values with locked fields and managed filesystem paths. - ›Supports configurable timed refreshes for custom status-line commands.
- ›Changing the
mousesetting mid-session now takes effect immediately via/settings mouse on|offor the/settingsdialog, without requiring a restart. - ›
web_fetchnow follows HTTP redirects, requesting permission for redirect targets on different origins and showing redirect origin context. - ›
web_fetchroutes through the configured sandbox proxy when outbound is allowed, and denies egress whennetwork.allowOutboundisfalse. - ›Sandbox denied paths are enforced for relative and symlinked entries on macOS and Linux.
- ›MCP tools load faster from definition-scoped snapshots, with process-wide and per-server cache opt-outs.
- ›Renders inline images in Rio terminals that support Kitty graphics.
- ›Voice mode pauses playing media before recording and resumes it afterward on macOS and Windows.
- ›Shows the number of active scheduled prompts in the footer.
- ›Queued mid-turn
/modelchanges are now applied after the current response finishes. - ›The
/instructionspicker now respects--no-custom-instructions.
- ›Adds
- v1.0.76
Copilot CLI v1.0.76 adds grok-4.5 support,
/limitspredict, Sessions sidebar, enterprise sandbox enforcement, and a directable queue manager.└──▷ GET THIS VERSION$ git clone --branch v1.0.76 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.76
└──▷ TRY ITGet a suggested AI-credit limit before starting a long autopilot task, so you can set a budget based on similar past sessions.$ /limits predictEnable the experimental Sessions sidebar to manage multiple concurrent Copilot sessions without restarting.$ /experimental onKeep autopilot running between tasks by default, or opt out so the agent returns to interactive mode after each task_complete.stayInAutopilot: false
- ›Adds
sidebar.hoverFocusopt-in config key andsidebar.accentActiveSessionopt-out config key for the split-view sidebar, letting you tune hover-to-focus and active-session accent behavior per preference. - ›Adds
/limits predictcommand to suggest an AI-credit session limit based on similar past sessions. - ›Adds
/settings mouse on|offto toggle mouse support mid-session with immediate effect (also settable via the/settingsdialog). - ›Adds
stayInAutopilotsetting: set tofalseto return to interactive mode automatically after eachtask_completeinstead of staying in autopilot. - ›Adds enable/disable controls in
/pluginsfor plugins, instructions, agents, LSP servers, and hooks.
+19 moreshow less
- ›Adds support for the
grok-4.5model. - ›Adds a New Sessions sidebar for managing multiple concurrent sessions (switch, spawn, view status); enable with
/experimental on. - ›Adds
/limits predictto suggest a session AI-credit limit from similar sessions. - ›Adds a directable queue manager to reorder, edit, remove, repeat, and immediately send queued messages; Ctrl+C removes your own newest queued message.
- ›Enterprise administrators can enforce a restrictive sandbox floor via managed settings that tighten (but never loosen) the user's sandbox policy; the
/sandboxdialog surfaces org-configured managed values with locked fields and managed filesystem paths. - ›Sandbox denied paths are now enforced for relative and symlinked entries on macOS and Linux.
- ›
web_fetchnow follows HTTP redirects, asking permission for redirect targets on different origins and showing redirect origin; routes through the configured sandbox proxy when outbound is allowed, and denies egress whennetwork.allowOutboundis false. - ›MCP tools load faster from definition-scoped snapshots, with process-wide and per-server cache opt-outs.
- ›Adds configurable timed refreshes for custom status-line commands.
- ›Queue mid-turn
/modelchanges to apply after the current response finishes. - ›Inline images now render in Rio terminals that support Kitty graphics.
- ›Voice mode pauses playing media before recording and resumes it afterward (macOS and Windows).
- ›Shows the number of active scheduled prompts in the footer.
- ›Shows recent shell output for large commands that write to a file.
- ›The
/instructionspicker now respects--no-custom-instructions. - ›Unsent prompt text stays with the session it was typed for rather than following the user to a switched session.
- ›URL permission prompts retain their sandbox-bypass warning and the model's reason when a host integration rebuilds the prompt.
- ›
userPromptSubmittedhook output is now bounded at 10 MiB per invocation; type mismatches formodifiedPrompt,modifiedTransformedPrompt, andresponseContentfields are warned and ignored rather than corrupting the session. - ›
/diffscrolls and syntax-highlights large multi-file diffs faster.
- ›Adds
- v1.0.75
GitHub Copilot CLI v1.0.75 adds support for Claude Opus 5 as a selectable model.
└──▷ GET THIS VERSION$ git clone --branch v1.0.75 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.75
- ›Adds Claude Opus 5 as an available model, selectable via the
/modelslash command.
- ›Adds Claude Opus 5 as an available model, selectable via the
- v1.0.74
GitHub Copilot CLI v1.0.74 adds Open Plugin Spec v1 / mcp.json support, gemini-3.6-flash, and a dedicated plan-mode model picker.
└──▷ GET THIS VERSION$ git clone --branch v1.0.74 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.74
└──▷ TRY ITPick a faster or cheaper model exclusively for plan-mode exploration without affecting your main session model.$ /model plan gemini-3.6-flashClear a previously set plan-mode model so plan mode falls back to the current session model.$ /model plan off- ›Adds
/model plan(or/model --plan) subcommand to select a dedicated model for plan mode; accepts a model ID,offto clear the override, or no argument to open the interactive picker — reverts to the session model on exit. - ›Adds support for Open Plugin Spec v1 plugin manifests and
mcp.jsonconfiguration files. - ›Adds
gemini-3.6-flashas a supported model. - ›The
/mcp addand/mcp editwizard now preserves=characters in environment variable values (e.g. base64-padded secrets and tokens). - ›The
$interactive shell shortcut now opens a shell even while the agent is working.
+8 moreshow less
- ›Plan mode allows session-folder planning artifacts while still blocking file mutations outside the session folder.
- ›Adds a first-run splash screen to opt into the default sandbox.
- ›Shows Tab in the
/settingsfooter to switch scope tabs. - ›IDE integration reconnects reliably when the CLI reloads MCP servers or changes directory.
- ›Steering interrupts shell output waits without stopping the running command.
- ›Increases the Responses API request size limit, enabling larger payloads.
- ›Downscales oversized tool-result images so CAPI Responses requests continue uninterrupted.
- ›Resume search matches session titles even when whitespace differs.
- ›Adds
- v1.0.74
Copilot CLI v1.0.74 adds Open Plugin Spec v1 and
mcp.jsonsupport, a/model plancommand, gemini-3.6-flash, and sandbox opt-in splash.└──▷ GET THIS VERSION$ git clone --branch v1.0.74 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.74
└──▷ TRY ITPick a dedicated model for plan mode so your planning pass uses a cheaper/faster model than your main session model.$ /model plan gemini-3.6-flashClear the plan-mode model override and fall back to the session model.$ /model plan off- ›Adds
/model plan(or/model --plan) to select a model for plan mode; accepts a model id,offto clear, or no id to open the picker — reverts to the session model on exit. - ›Adds support for Open Plugin Spec v1 plugin manifests and
mcp.jsonconfiguration. - ›Adds the
$interactive shell shortcut to open a shell even while the agent is working. - ›Adds support for the
gemini-3.6-flashmodel. - ›The
/mcp addand/mcp editwizard now preserves=characters in environment variable values (e.g. base64 padding), storing secrets and tokens correctly.
+6 moreshow less
- ›Plan mode now allows session-folder planning artifacts while still blocking clear file mutations outside the session folder.
- ›Shows a first-run splash screen to opt into the default sandbox.
- ›Subagent timelines in
/tasksnow identify whether prompts originated from the main agent or another subagent. - ›Resume search matches session titles even when whitespace differs.
- ›Shows Tab in the
/settingsfooter to switch scope tabs. - ›Increases the Responses API request size limit.
- ›Adds
- v1.0.72
Copilot CLI v1.0.72 adds shell shortcut, per-session model switching, skill installs, full plugin management, and a navigable Sessions sidebar.
└──▷ GET THIS VERSION$ git clone --branch v1.0.72 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.72
└──▷ TRY ITSwitch model, reasoning effort, or context window for just the current session without touching your global defaults.$ /model --session
Install a local skill into a repository's project scope so it is available only within that repo.$ copilot plugins install --skill ./my-skill --scope project
Enable the$shell shortcut so you can drop into an interactive shell at any point during a session.$ /settings shellShortcut on- ›Adds
agentStophook early-exit logic: CLI ends the turn after 8 consecutive blocks and passes astop_hook_activeflag toagentStophooks so they can detect and self-limit forced continuation. - ›Adds opt-in git and
ghauthentication inside the OS sandbox. - ›Adds
update/uninstallverbs to/plugins, extendsenable/disable/removeto target plugins, MCP servers, or skills via--plugin,--mcp, and--skillflags or a positional kind, and supports installing skills with/plugins install --skill. - ›Adds
/plugins install --skill <file, URL, or directory>to install skills from the CLI; append--scope projecton a file or URL install to scope it to the repository. - ›Adds
copilot plugins remove --skillfor skill removal.
+19 moreshow less
- ›Adds
/plugins helpcommand plus skill, MCP, and marketplace management for full/pluginsparity. - ›Adds
/model --session(-s) to change model, reasoning effort, or context window for just the current session without touching global settings. - ›Type
$at the prompt to open an interactive shell in the current session directory; enable with/settings shellShortcut on(off by default). - ›Adds
renderHexColorssetting (on by default) to toggle hex-color swatches; inline code hex values like#FF0000now render as color swatches. - ›Sandbox macOS keychain access now defaults off; re-enable it in
/sandboxwhen a command needs it. - ›Toggling
/sandboxrestarts only local MCP servers and leaves remote servers connected. - ›
copilot skill liststrips terminal control characters from skill names and descriptions, preventing crafted skills from injecting ANSI escape sequences into listing output. - ›Exposes default values in
/settingsand lets boolean settings cycle back to their default. - ›Masks secret values in
/settings showoutput. - ›Detects VS Code, Cursor, and Windsurf through parent processes in
/terminal-setup. - ›Multi-turn subagents are always enabled, allowing follow-up messages to running agents.
- ›Enables tool search for Claude Haiku 4.5+.
- ›Delivers scheduled prompts as steering messages when the agent is busy.
- ›Requires SSO for remote control when managed settings demand it.
- ›Lifecycle and subagent hook commands run in the current session directory after
/cd. - ›
/worktree <task>and/movenow propagate folder trust to the new worktree before switching when the source is already trusted. - ›Nested markdown lists render correctly in buffered output (
-p --stream offand detail screens): sub-bullets are indented and no longer flattened onto the parent line. - ›Reveals full file paths when expanding compact editing rows.
- ›Keeps
/add-dirdirectories visible in the agent context across turns.
└──▷ BREAKING ON UPGRADE- !Sandbox macOS keychain access now defaults off; setups relying on keychain access inside the sandbox must explicitly re-enable it via
/sandbox. - !Command approvals no longer carry over to another repository after switching with
/cd; approvals must be re-granted in the new repository context. - !
/terminal-setupnow refuses to modify aVS Code keybindings.jsonthat contains a JSON syntax error instead of rewriting it.
- ›Adds
- v1.0.71
Copilot CLI v1.0.71 adds
/voicedevice selection, canvas support, plugins marketplace subcommands,/worktree+/movesplit, and configurable subagent depth controls.└──▷ GET THIS VERSION$ git clone --branch v1.0.71 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.71
└──▷ USE ITPersist a curated set of GitHub MCP tools across sessions so only the tools your team needs are available.{ "githubMcpToolsets": ["repos", "issues"], "githubMcpTools": ["create_pull_request", "list_issues"] }Browse available plugin marketplaces and add a new one without leaving the CLI.$ copilot plugins marketplace browse copilot plugins marketplace add <marketplace-url>- ›Adds
plugins marketplacesubcommands to list, add, remove, browse, and update plugin marketplaces. - ›Persists GitHub MCP toolset and tool configuration via
settings.jsonkeysgithubMcpToolsets,githubMcpTools, etc. - ›Adds
/voice devicescommand to choose and persist the microphone used for voice mode. - ›Adds
subagents.maxDepthsetting (up to 128) to control maximum sub-agent nesting depth; default lowered from 6 to 4. - ›Adds a configurable maximum for Ctrl+R command history.
+29 moreshow less
- ›Splits
/worktreeand/moveinto distinct commands:/worktreecreates a new worktree leaving uncommitted changes behind, while new/movecarries uncommitted changes into the new worktree. - ›Adds
--add-github-mcp-tool "*"support to enable all GitHub MCP tools at once. - ›Adds canvas support in the CLI for extension-driven interactions.
- ›Adds a pinned prompts setting in
/settingsto control prompt pinning. - ›Adds Repo and Repo (local) scope tabs to the
/settingsdashboard. - ›Marks disabled skills in
copilot skill listand its JSON output. - ›Plan mode hard-blocks built-in tool calls that would modify the workspace (file edits and mutating shell commands) while planning; MCP and external tools remain allowed.
- ›Honors
COPILOT_TASK_WAIT_TIMEOUT_SECONDSincopilot -p --autopilotthe same way plain-pdoes. - ›Honors
--contextin fresh interactive sessions. - ›Shows
--plugin-dirplugins incopilot plugin listand surfaces--plugin-dirwarnings in the terminal. - ›Validates
--max-autopilot-continuesto reject NaN, negative, and fractional values. - ›Rejects
--continuewhen used with--resume. - ›Rejects malformed
--allow-tooland--deny-toolpatterns with an error message. - ›Allows
copilot updateand/updateto acceptstableas a channel. - ›Prompt mode exits non-zero when a
--shareor--share-gistexport fails. - ›Adds local and cloud cost profiles to
/chronicle cost-tipsrecommendations. - ›Refreshes memory context after 30 minutes in long-lived sessions.
- ›Shows repo-enabled plugins in
/plugin listand skill pickers. - ›Bare
copilot mcpandcopilot skillnow print help and exit 0, matchingcopilot plugin; usecopilot mcp <subcommand> --helporcopilot skill <subcommand> --helpfor subcommand help. - ›Honors
NO_COLORin the CLI even when chalk has cached a color level. - ›Enforces the sandbox filesystem policy on LSP file reads and rename edits.
- ›Server mode reconnects OAuth MCP servers from cached tokens.
- ›Uses
ctrl+x → xto close a session andctrl+x → hto hide the split sidebar. - ›Shows retained shell output in
/tasksShell Details for finished tasks. - ›Highlights standalone hex colors inline in Markdown.
- ›Shows an error when
--nameis used with--session-idfor an existing session. - ›Switching to autopilot mid-turn now auto-answers questions asked during that same turn.
- ›Shows the startup banner only on the first launch when set to
once. - ›Startup now shows a warning identifying offending values in an invalid
settings.jsoninstead of silently ignoring settings.
└──▷ BREAKING ON UPGRADE- !The default maximum sub-agent nesting depth is lowered from 6 to 4; setups relying on recursive sub-agent delegation beyond depth 4 will be blocked unless
subagents.maxDepthis explicitly raised. - !
/worktreeno longer carries uncommitted changes into the new worktree — use the new/movecommand for that behavior. - !
--continueis now rejected when used together with--resume. - !Bare
copilot mcpandcopilot skillnow print help and exit 0 instead of running a default action; the implicithelp <subcommand>form is not supported — usecopilot mcp <subcommand> --helporcopilot skill <subcommand> --helpinstead.
- ›Adds
- v1.0.70
Copilot CLI v1.0.70 adds GPT-5.6, sandbox session flags,
/refineprompt rewriting, repo-pinned model policy, and paginated MCP resource RPCs.└──▷ GET THIS VERSION$ git clone --branch v1.0.70 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.70
└──▷ TRY ITTemporarily disable the sandbox for a single session (e.g. to run a privileged setup script) without overwriting your saved sandbox preference.$ copilot -p --no-sandbox
Pin a repository's Copilot model, effort level, and MCP deny list so all contributors share the same policy automatically.{ "model": "gpt-5.6", "effort": "high", "contextTier": "full", "deny": { "mcp": ["untrusted-server"] } }Pin a marketplace plugin to a specific commit so your team always runs a known-good version.plugins: - name: my-plugin source: url: https://github.com/org/my-plugin sha: a3f8c21d9e4b7065f1234567890abcdef1234567- ›Adds
--sandboxand--no-sandboxflags to toggle the OS-level shell sandbox on or off for the current session only, without persisting the change to saved settings (composable with-p). - ›Adds
shafield in plugin source configuration to pin plugins to an exact commit SHA. - ›Adds
--repoand--localflags to/settingsand/modelcommands. - ›Adds paginated
session.mcp.resourcesRPCs —read,list, andlistTemplates— for MCP server resources. - ›Lets a trusted repository pin the model, effort level, and context tier and extend URL/MCP/skill deny lists via
.github/copilot/settings.json.
+14 moreshow less
- ›Adds
/refinecommand to rewrite a rough, stream-of-consciousness prompt into a clear one. - ›Adds GPT-5.6 model support.
- ›Adds
preToolUsehooks that exit with code 2 to deny tool calls. - ›Marks locally-spawned MCP servers running inside the sandbox in
/mcp listoutput (e.g. connected (sandboxed)). - ›Exposes SDK APIs to manage live MCP servers in running sessions.
- ›Enables
web_fetchto work through mandatory HTTPS proxies. - ›Adds hide and search functionality on the Gists tab.
- ›Adds a setting to show or hide timeline timestamps.
- ›Enables Forge to create draft skills when it finds a clear workflow pattern.
- ›Opens the plan file or research report with Ctrl+Y in any mode.
- ›Long-running sessions now refresh enterprise managed settings hourly.
- ›Makes markdown links and bare URLs in the timeline and tool output clickable.
- ›Adds Tab key to switch the context window in
/model. - ›Prefills
/chroniclesearch so it can accept a query directly.
- ›Adds
- v1.0.69
Copilot CLI v1.0.69 adds
/mcplist, auto allow-all LLM-judged approvals, delegate PR branching, and a/pluginsdashboard.└──▷ GET THIS VERSION$ git clone --branch v1.0.69 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.69
└──▷ TRY ITList all attached MCP servers and their current status mid-session without interrupting the agent.$ /mcp listKeep the CLI in autopilot mode automatically after a task completes, useful for unattended batch workflows.stayInAutopilot: true
Create a delegate PR targeting a specific branch instead of the current branch.$ /delegate --base main
- ›Adds
/mcp listsubcommand to show attached MCP servers and their status;/mcp listand/plugin listcan now run while the agent is working. - ›Adds
stayInAutopilotsetting (defaultfalse) that keeps the CLI in autopilot mode after an autopilot task completes. - ›Adds
/delegate --baseflag to choose a target branch when creating delegate PRs; default target is now the current branch. - ›Adds
/allow-all automode that auto-approves requests an LLM judge evaluates as acceptable; now requires experimental mode (/experimental onor--experimental) instead of theAUTO_APPROVALenv var or feature flag. - ›Adds minimal reasoning effort support for the
gemini-3.5-flashmodel.
+23 moreshow less
- ›Adds a
/pluginsdashboard to manage installed plugin extensions. - ›Supports reloading installed plugin extensions without restarting a session.
- ›Supports signing in to MCP servers through the CLI OAuth callback flow.
- ›Enables opening the
/mcpmanager while the agent is working to enable or disable servers mid-turn; add, edit, delete, and re-auth actions remain paused until the turn finishes. - ›Adds file and folder completion to
/sandboxpath entries. - ›
web_fetchnow follows the active sandbox network policy, denying outbound or local targets the policy blocks, and supports one-time bypass approval viasandbox.allowBypass. - ›Displays reasoning-effort labels in the CLI footer.
- ›Shows descriptions for
sandbox userPolicysettings in/settings. - ›Rejects explicitly empty
--name=values when starting a session. - ›Rejects empty
--session-id=and--resume=values instead of silently ignoring them. - ›Applies
--reasoning-effortreliably when the CLI starts. - ›Surfaces skill loading errors and warnings in
skill list. - ›Auto-approval timeline entries now include the request subject such as command, path, URL, or tool name.
- ›Shows
/rubber-duckin pre-auth help and self-documentation. - ›Labels built-in file edits with a (sandbox policy) badge instead of (sandboxed), reflecting best-effort sandbox policy behavior.
- ›Shows disabled servers as disabled in
/lsp test. - ›Allows WSL UNC paths for local files in the CLI.
- ›Warns when multiple plugins define the same MCP server.
- ›Warns when static context uses most of the prompt budget and blocks requests when little conversation room remains.
- ›Confirms before resuming a remote session from a different repository.
- ›Delays read-only remote session creation until the first message is sent.
- ›Includes files inside new untracked directories in
/difflocal edits. - ›Updates a backgrounded session's branch label in the Sessions split view when its working directory changes.
└──▷ BREAKING ON UPGRADE- !
/allow-all autonow requires experimental mode (/experimental onor--experimental) instead of theAUTO_APPROVALenv var or feature flag; existing setups relying on the env var or feature flag will need to switch. - !The (sandboxed) badge on built-in file edits is renamed to (sandbox policy).
- ›Adds
- v1.0.68
GitHub Copilot CLI v1.0.68 adds kimi-k2.7-code model support, inline tab-completion aliases, plan budget visibility, and session management from the agents screen.
└──▷ GET THIS VERSION$ git clone --branch v1.0.68 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.68
└──▷ TRY ITCheck plan budget consumption mid-session without leaving the CLI.$ /usage- ›Adds support for the
kimi-k2.7-codemodel. - ›Tab completion now shows slash command aliases inline (e.g.
/pr automerge|agentmerge). - ›Shows plan budget details in the statusline and
/usagefor supported plans. - ›Browse, resume, and switch between sessions from the agents screen.
- ›Focused field in the
/mcpconfig form is marked with a '❯ ' chevron, not color alone.
+8 moreshow less
- ›Keeps IDE tools available during transient IDE disconnects, returning a clear error while disconnected and recovering automatically when the IDE reconnects.
- ›Tells the agent when the working directory changes between turns so it uses the new directory for commands and relative paths.
- ›Shows descriptions for slash-command input choices.
- ›Custom agents keep their tool filters in nested subagents.
- ›Lets device-managed settings override server-managed settings.
- ›Finds agents and instructions under Win32 extended-length paths on Windows.
- ›Defaults to a steady vertical-bar cursor in interactive sessions.
- ›Updates the Sessions sidebar branch after
/cdand/worktree.
- ›Adds support for the
- v1.0.67
GitHub Copilot CLI v1.0.67 adds Claude Sonnet 5 support, MCP OAuth fixes for Entra tenant vanity domains, and session resume hints.
└──▷ GET THIS VERSION$ git clone --branch v1.0.67 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.67
- ›Adds Claude Sonnet 5 as a supported model.
- ›MCP OAuth against Microsoft Entra servers behind a tenant vanity domain (e.g. Copilot Studio) now correctly refreshes and re-authenticates.
- ›Subagent sessions now inherit parent tool restrictions, preventing privilege-scope mismatches in nested agent calls.
- ›Disabling the sandbox mid-session now takes effect immediately, stopping shell and search commands from re-prompting to bypass it.
- ›Session limits are now required to be at least 30 AI credits.
+4 moreshow less
- ›Tool calls continue when hooks time out rather than halting the turn.
- ›Prompt mode exit summary now shows a resume hint to continue the session.
- ›Host custom agent load failures now surface warnings and errors.
- ›Ctrl+Q enqueues the highlighted slash-command argument completion.
└──▷ BREAKING ON UPGRADE- !Session limits below 30 AI credits are no longer accepted; any configuration setting a lower limit must be updated.
- v1.0.66
Copilot CLI v1.0.66 adds Claude Opus 4.8 Fast,
/chronicleskills review, persisted dynamic retrieval, desktop notifications, and major/prauto and/worktreeupgrades.└──▷ GET THIS VERSION$ git clone --branch v1.0.66 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.66
└──▷ TRY ITStart a worktree with a task description to auto-name the branch and run the task as the first prompt — useful for spinning up focused, isolated work from a single command.$ /worktree fix the login redirect- ›Adds
--allow-all-mcp-server-instructionsflag to optionally include instructions from all MCP servers in system prompts. - ›Adds
--dynamic-retrieval skills=<on|off>flag and persisteddynamicRetrievalsetting to enable or disable embeddings-based retrieval of skills. - ›Adds
--config-dirflag (alongsideCOPILOT_HOMEenv var) that stops loading skills from~/.agents/skills. - ›Adds
/chronicle skills reviewsubcommand for reviewing proposed draft skill changes with options to accept, reject, or defer each draft. - ›Adds
sessionLimitsoption key to control session limits, which now apply across the current conversation and reset on/clear.
+39 moreshow less
- ›Adds toggle to enable or disable individual MCP servers from the MCP list view in the CLI.
- ›Adds
read_agentsupport forsince_turn: 0to correctly return all turns including turn 0. - ›Adds
/lsp logscommand andread_agentintegration to view LSP server logs. - ›Adds
--yolosession flag behavior: auto-accepts opt-in MCP consent prompts while still showing system permission prompts. - ›Adds
/renamecommand support in remote-hosted (cloud and relay) sessions. - ›Supports Claude Opus 4.8 Fast as a new model option (deprecates Claude Opus 4.6 Fast).
- ›MCP add/edit form now accepts HTTP-style
Key: valueheaders for server configuration. - ›Adds
@file and#GitHub ref completions in relay sessions. - ›Adds experimental response limits controls to CLI settings.
- ›Lets managed settings configure OpenTelemetry export.
- ›Enables
/pr autoto run a self-paced loop that fixes one issue per run and paces around CI to drive PRs to green;/pr automergecontinues until the PR is merged; manageable via/loopor/every. - ›Pass a task string to
/worktree(e.g./worktree fix the login redirect) to name the branch from the task and run it as the first prompt in the new worktree. - ›With no argument,
/worktreenow names the branch from uncommitted changes and recent conversation using your active model. - ›
/worktreepreserves branch names exactly as typed (e.g.feature/JIRA-123) instead of flattening to a slug. - ›Adds
/shareimprovements to manage synced session visibility using Mission Control links. - ›Shows desktop notifications on macOS from the CLI, including for attention prompts and idle sessions.
- ›Shows merge status for each pull request in the Pull Requests tab with on-demand refresh via
r. - ›Configures subagent concurrency and depth limits in
/settings(available to usage-based billing users). - ›Consolidates color palette settings under
/settings theme. - ›Lets integrations read and write CLI user settings.
- ›Lets custom agents set reasoning effort in their definitions.
- ›Shows quota snapshots for WebSocket Responses requests in the timeline.
- ›Shows submit times next to user prompts in the timeline.
- ›Expands
@-styleimports inAGENTS.md,CLAUDE.md, and Copilot instruction files. - ›Prompts to install
ghCLI when it is missing in GitHub repositories. - ›Adds GitHub attachment variants to prompt rendering.
- ›Adds (sandboxed) badge on compact Search timeline entries and shows sandbox-bypass warnings labeling bypassed commands.
- ›Renders the timeline as a compact highlight reel with single-line tool and reasoning rows for all users.
- ›Shows the current pull request link as a status-line item.
- ›Shows the active agent mode in the working footer text.
- ›Shows accurate Anthropic reasoning token counts in the timeline.
- ›Lets
grepand glob retry blocked searches after sandbox approval. - ›Git commands work in sandboxed linked worktrees.
- ›Allows skills with the same name from different plugins to coexist.
- ›Inline hook settings now handle nested Claude-style hook groups.
- ›MCP OAuth-authenticated remote servers recover automatically after mid-session token expiry, triggering non-interactive reconnect on 401.
- ›BYOK sessions using Anthropic models no longer hit HTTP 400 errors from adaptive-thinking mismatches.
- ›Performs tokenizer warmup in parallel on a background thread for improved startup performance.
- ›Filters non-JSON stdout lines from MCP servers during startup.
└──▷ BREAKING ON UPGRADE- !
COPILOT_HOMEand--config-dirno longer load skills from~/.agents/skills.
- ›Adds
- v1.0.65
GitHub Copilot CLI v1.0.65 adds a
copilot skillsubcommand, CI check status bar, and shell-history search across modes.└──▷ GET THIS VERSION$ git clone --branch v1.0.65 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.65
└──▷ TRY ITList all currently active skills to audit what capabilities are loaded.$ copilot skill listEnable the CI status bar item to monitor branch check runs without leaving the CLI.📍In the CLI, open/settingsand enable the CI check status bar item to display passing/running/failing state for the current branch.- ›Adds
copilot skillsubcommand (and/skillalias for/skills) to list, add, and remove skills from a file, URL, or directory. - ›Adds an opt-in status bar item showing CI check status (passing/running/failing) for the current branch.
- ›Up/down history and Ctrl+R reverse search now include past shell commands while in normal mode, so shell commands can be recalled without first typing
!to enter shell mode. - ›
/cdnow persists the working directory so resuming a session returns to it, and discovers custom agents in the new directory. - ›Saves custom status line commands in
/settings.
+5 moreshow less
- ›Open canvases resume automatically after restarting the CLI.
- ›Includes
userPromptSubmittedhookadditionalContextin the model-facing prompt. - ›Parses
/everyschedules on the session's main model. - ›Silent MCP OAuth refresh reuses the granted scope so reconnects stay signed in.
- ›Keeps custom-agent subagent model selections when using BYOK providers.
- ›Adds
- v1.0.64
Copilot CLI v1.0.64 adds worktree sessions,
/diagnose,/mcpregistry, CSV MCP output, and a batch of new commands and aliases.└──▷ GET THIS VERSION$ git clone --branch v1.0.64 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.64
└──▷ TRY ITPick up exactly where you left off in the most recent session for the current repo without hunting for a session ID.$ copilot --resume
Run a security review on the current codebase — now available to all users without needing the experimental flag.$ /security-review- ›Adds experimental
--worktree [name](-w) flag (enable with/experimental) that creates or reuses a git worktree under<repo>.worktrees/and starts the session inside it. - ›Adds
--continueand--resumeflags that select the most recent session for the current repository. - ›Shows
--remote-exportand--no-remote-exportin--helpoutput. - ›OpenTelemetry: chat spans after a successful compaction now carry
gen_ai.conversation.compacted=true, with the summary emitted as aCompactionPartingen_ai.input.messages. - ›OpenTelemetry GenAI spans now emit
gen_ai.usage.cache_read.input_tokens,gen_ai.usage.cache_creation.input_tokens, andgen_ai.usage.reasoning.output_tokensper the GenAI semantic conventions spec.
+52 moreshow less
- ›OpenTelemetry GenAI chat spans emit
gen_ai.request.reasoning.levelfor the configured reasoning effort. - ›Adds
/diagnosecommand to analyze session logs. - ›Adds
/mcp registryinstallation for browsing and installing MCP servers. - ›Adds
/branchas an alias for/fork, matching Claude Code's command naming. - ›Adds
/loopas an alias for the/everycommand. - ›Adds CSV output support for MCP tools.
- ›Makes
/security-reviewavailable to all users without--experimental. - ›Adds tab completion for
/agentnames. - ›Configures the rubber-duck subagent in
/subagents, including a complementary model strategy that picks an opposite-family model. - ›Adds model family aliases (
opus,sonnet,haiku,gpt,gemini) in the model setting. - ›Adds Ctrl+Backspace binding in
/terminal-setupfor Windows Terminal. - ›Adds SDK support for host-provided OAuth tokens for remote MCP servers.
- ›Supports static OAuth client overrides, including client secrets, for MCP server authentication.
- ›Adds websocket responses support for BYOK OpenAI-compatible providers.
- ›Adds an option to bypass the sandbox for shell commands.
- ›Adds mouse click and double-click selection to paginated lists.
- ›Adds inline image rendering in the CLI.
- ›Adds argument-hint frontmatter support for skills.
- ›Adds a Folder column to the resume picker to show each session's working directory.
- ›Adds a setting to hide the conversation scrollbar.
- ›Sets an HTTP(S) proxy via a user setting.
- ›Shows installed plugin MCP servers in
mcpcommands. - ›Discovers MCP servers provided by installed plugins.
- ›Marketplace plugins that declare MCP servers in
marketplace.jsonnow authenticate correctly with OAuth. - ›Adds Ctrl+Q to enqueue a prompt while a completion picker is open.
- ›Autopilot mode auto-handles elicitation,
ask_user, sampling, and permission prompts (including on launch with--autopilotand during continuation turns) instead of surfacing dialogs. - ›Autopilot mode returns to interactive mode after the agent calls
task_complete. - ›Applies MCP org policy when sessions create or reload MCP servers.
- ›Respects
deferToolson MCP servers configured in custom agent frontmatter. - ›Custom agents using a tools wildcard
*now respect thedeferredToolLoadingopt-in switch. - ›
/diffshows a session diff of Copilot's changes in non-git folders. - ›Syntax-highlights shell commands in the timeline.
- ›Shows per-model token totals in
/usageand speeds up large history scans. - ›Shows the pay-as-you-go additional usage budget at launch, refreshes it after a request is rejected for hitting the additional spend limit, and shows a friendly message when the additional usage limit is reached.
- ›Resumed sessions reproduce the original attached-file references even if those files later change on disk, avoiding prompt-cache resets.
- ›Attached images and PDFs persist across session resume even if the source file is later changed or deleted.
- ›Images returned by tools stay visible to the model across later turns and after resuming a session.
- ›Allows disabling task and explore built-in subagents.
- ›Forwards typed rejection feedback from
preToolUseprompts to the model. - ›Automatically follows system light and dark mode changes.
- ›Preserves open canvas instances across reconnects and restarts.
- ›Resume sessions by name even when the name contains spaces.
- ›Hides unsupported slash commands in remote-hosted sessions.
- ›Allows
/allow-allto work in relay sessions. - ›Allows
/updateto restart sessions started withcopilot -r. - ›Remote export keeps running after
/clearand/session infokeeps the task URL. - ›Click filenames in
/difftree to jump to that file's first change. - ›Experimental: in the compact timeline, click a tool-call or reasoning row to expand or collapse just that entry.
- ›Loads workspace MCP servers in trusted server-mode sessions.
- ›The
/settingssearch field supports readline editing keys and cursor movement. - ›Preserves Markdown blockquotes in
/shareexports. - ›Keeps task companion tools available to custom agents that use the task or agent alias.
└──▷ BREAKING ON UPGRADE- !OpenTelemetry GenAI span attribute names for cache and reasoning token counts are corrected to
gen_ai.usage.cache_read.input_tokens,gen_ai.usage.cache_creation.input_tokens, andgen_ai.usage.reasoning.output_tokens; pipelines consuming the previous underscore-separated names will stop receiving data. - !Terminal-reported color scheme support is removed.
- !The legacy intent-reporting tool is removed from the CLI.
- !The bogus Ctrl+Enter VS Code keybinding created by old
/terminal-setupis removed.
- ›Adds experimental
- v1.0.63
Copilot CLI v1.0.63 adds
deferToolsMCP config, alphabetic--helpsorting, per-session agent mode, and an experimental/rewindoverhaul.└──▷ GET THIS VERSION$ git clone --branch v1.0.63 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.63
└──▷ USE ITKeep an MCP server's tools always available in the palette even when tool search is active, so specialised tools are never pruned from context.{ "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "deferTools": true } } }- ›Adds
deferToolsoption to MCP server config to keep a server's tools always available even when tool search is enabled. - ›PostToolUse hook matchers (e.g.
Edit|Write) are now honored so formatters and linters run only after the tools they target. - ›Options in
--helpoutput now sort alphabetically, including options with two long flags. - ›Press
win/diffto hide whitespace-only changes. - ›Blocked image attachments now explain actionable next steps: enable vision via the 'Editor preview features' policy, switch to a vision-capable model, or try a different image.
+9 moreshow less
- ›Auth validation errors (e.g. VPN or IP allowlist failures) are shown in the sign-in banner with guidance to check network access.
- ›Shows fork-based pull requests in
/prand the branch PR badge. - ›Shows the spill file path when
read_bashoutput is too large. - ›Includes recent local sessions in
/chroniclestandup. - ›Agent mode is tracked per session and no longer carries over when you create, clear, or switch sessions.
- ›Pressing Enter opens the highlighted issue details.
- ›Plan review menus work on strict OpenAI-compatible backends.
- ›Retries transient 401 auth failures in HMAC and OAuth modes.
- ›Resumes remote sessions when the local and remote repository names differ only by case.
- ›Adds
- v1.0.62
Copilot CLI v1.0.62 adds Kerberos proxy auth, diff file tree, session-scoped extensions,
/appcommand, and schedulable slash commands.└──▷ GET THIS VERSION$ git clone --branch v1.0.62 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.62
└──▷ TRY ITSchedule a daily standup summary without leaving the chat — useful for teams running recurring agent workflows.$ /every 1d /chronicle standupConfigure a subagent's model and reasoning effort for a heavier analysis task via the picker.$ /subagents- ›Adds
session.createandsession.resumeSDK methods to configure session memory for SDK clients. - ›Adds
/appslash command to open the GitHub app or a browser fallback. - ›Adds
/everyand/afterslash commands that can now schedule other slash commands (e.g./every 1d /chronicle standup). - ›Adds
allow-allstate to customstatusLine.commandand shows a 'YOLO' (allow all) indicator in the footer. - ›Adds file tree sidebar and inline comment editor to the
/diffview.
+12 moreshow less
- ›Adds content search, match highlighting, and
n/Nnavigation in diff view. - ›Supports configuring subagent model, reasoning effort, and context tier via user settings or the
/subagents(also/agents) picker. - ›Automatically authenticates through corporate forward proxies using Kerberos/Negotiate (SPNEGO).
- ›Adds session-scoped extensions and canvases.
- ›Enables plugins to ship extensions, making them installable via the plugin marketplace.
- ›Discovers custom agents in nested
.github/agentsand.claude/agentsdirectories when the session starts from a subdirectory of the repository root. - ›Pressing
Won an expanded issue or pull request details view creates a worktree. - ›Pressing
/on the Issues or Pull Requests tab searches GitHub with server-side filtering. - ›Makes the MCP server config form easier to use with a picker-based flow.
- ›Maps MCP server names containing dots and slashes to valid Responses API namespaces.
- ›Honors
max_output_tokensfor BYOK Responses providers. - ›Runs shell commands via lightweight process spawning instead of a pseudo-terminal.
└──▷ BREAKING ON UPGRADE- !Shell commands now run via lightweight process spawning instead of a pseudo-terminal; interactive input via
write_bashis no longer supported.
- ›Adds
- v1.0.61
Copilot CLI v1.0.61 adds
/settingsdialog,/worktreecommand, mTLS OTLP export, Claude Fable 5, and indexed monorepo grep.└──▷ GET THIS VERSION$ git clone --branch v1.0.61 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.61
└──▷ USE ITSuppress the terminal beep after a scheduled/everyjob completes — useful in shared or quiet environments.{ "beepOnSchedule": false }Create a new git worktree and move uncommitted changes into it — handy for switching context without stashing.$ /worktree feature/my-branch- ›Adds
tabssetting insettings.jsonto configure home tab bar visibility, order, and hidden tabs. - ›Adds
beepOnSchedulesetting to disable completion beeps for scheduled/everyand/afterruns. - ›Adds
/settingsinteractive dialog to browse and edit all user settings in one place. - ›Adds
/worktreecommand (aliased/move) to create a new git worktree and switch into it, moving any uncommitted changes along. - ›Auto-loads MCP servers from
.github/mcp.jsonworkspace config file.
+19 moreshow less
- ›Adds http/protobuf OTLP HTTP export via standard OTel protocol env vars.
- ›Adds mTLS and private-CA support for OTLP telemetry export over HTTPS.
- ›Adds support for Claude Fable 5 model.
- ›Press
/in the/agentpicker to filter agents by name. - ›
/helpnow lists$HOME/.copilot/instructions/**/*.instructions.mdalongside other user-level instruction locations. - ›Grep searches in large monorepos now use an indexed search engine for significantly faster results.
- ›Use natural language with
/everyand/afterto schedule tasks using cron expressions, calendar times, or relative durations. - ›
/afterand/everycommands now appear in the/experimentalslash command list. - ›
/envoutput hides internal hooks and shows full file paths for hook sources. - ›
/sessionsnow navigates to the Sessions tab instead of opening an overlay. - ›
/forkshows a 'Creating fork...' progress notification while the fork is being created. - ›
/mcp searchworks correctly with external registries. - ›Exit shell mode by pressing Esc or Ctrl+C on an empty prompt, in addition to Backspace.
- ›Number-key selection in pickers (e.g.
/agent) works for items 10 and beyond. - ›GitHub theme adapts to light terminals with an authentic GitHub Primer light color palette.
- ›Adds full-screen scrollbar.
- ›Prompt mode surfaces model-load errors on stderr instead of exiting silently.
- ›Symlinked directories now appear in
@-filepicker suggestions. - ›Gemini models work correctly with MCP tools that use nullable schema types.
- ›Adds
- v1.0.60
Copilot CLI v1.0.60 adds max Anthropic reasoning effort, new nav keys,
-rresume shorthand, and expanded LSP/MCP/ACP controls.└──▷ GET THIS VERSION$ git clone --branch v1.0.60 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.60
└──▷ USE ITDisable automatic rubber duck agent invocation so the agent only activates on explicit request.builtInAgents: rubberDuckAutoInvoke: false
Set a custom working directory and shell for an LSP server, using a plugin variable for the path.lsp: servers: my-server: bash: true cwd: "$PLUGIN_ROOT/workspace"- ›Adds
builtInAgents.rubberDuckAutoInvokesetting to control automatic rubber duck agent invocation (disabled by default). - ›LSP server config now accepts
bash,powershell, andcwdkeys;cwdsupports plugin vars likePLUGIN_ROOT, and command launch default cwd stays project-root unlesscwdis overridden. - ›Adds
-ras a shorthand for--resumewhen reopening sessions. - ›Adds
--available-tools,--excluded-tools, and--reasoning-effortflags support in ACP mode. - ›Adds maximum reasoning effort level for Anthropic models and makes all effort levels available on every plan.
+19 moreshow less
- ›Adds
ACP allow_allconfig option to apply unrestricted permissions for tools, paths, and URLs. - ›Adds vim-style navigation keys (
g,G, Ctrl+D, Ctrl+U) to the/diffview. - ›Adds
billinghelp topic with an overview of AI credit usage features. - ›Repurposes
ctrl+sto stash and pop the current prompt (Claude Code parity); the slash-command picker remains available by typing/. - ›
/contextnow separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with/mcp. - ›
/envcommand now shows hook counts and source provenance for active hooks. - ›Shows cache write tokens alongside cache read tokens in the
/usagedisplay. - ›Shows Mission Control sharing status of synced sessions in the
/session infoview. - ›Shows session link in
/session infotable when remote exporting or steering. - ›MCP tools added or removed by a server mid-turn are now available immediately in the same turn.
- ›Prompts for approval before running commands that set dynamic-loader or git-config environment variables (e.g.
LD_PRELOAD,GIT_EXTERNAL_DIFF). - ›BYOK file attachments larger than 5 MiB now send successfully via the OpenAI Responses provider.
- ›Rewind picker now shows working-tree diff stats (
+added −removed) at each checkpoint. - ›Enables creating a git worktree for a pull request directly from the pull requests screen.
- ›Auto-links bare
#numberissue and PR references to the current git repository. - ›Enforces bypass permissions policy for
--allow-all-tools,--allow-all-paths, and--allow-all-urlsflags. - ›Adds missing keyboard shortcuts (
?,ctrl+q,ctrl+r,ctrl+z,ctrl+y,shift+enter) to/helpcontent. - ›Tab-completes
..parent traversal in slash-command path arguments instead of switching tabs. - ›IDE picker appends a process id to entries sharing the same editor and folder, making git worktrees of the same repo distinguishable.
└──▷ BREAKING ON UPGRADE- !On Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g.
git). Add the working directory toPATHto restore previous discovery behavior.
- ›Adds
- v1.0.58
GitHub Copilot CLI v1.0.58 enables Rubber Duck and Remote JSON RPC by default, adds scheduled prompts and new experimental UI
└──▷ GET THIS VERSION$ git clone --branch v1.0.58 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.58
└──▷ TRY ITSchedule a recurring prompt to run at a set interval inside an experimental session.$ /experimental on /every 10m summarize open pull requestsSchedule a one-time prompt to fire after a delay — useful for reminders or deferred tasks.$ /experimental on /after 30m remind me to review the deployment checklist- ›Enables Rubber Duck mode by default in all sessions.
- ›Enables Remote JSON RPC by default.
- ›Adds
/everyand/aftersubcommands under/experimentalto schedule prompts. - ›Adds
/themecommand under/experimentalfor a new GitHub theme. - ›Adds a new experimental UI (activate with
Turn /experimental on) with quick access to issues, pull requests, and gists.
- v1.0.57
Copilot CLI v1.0.57 adds HTTP/2 opt-in,
COPILOT_HOMEsupport, showTipsOnStartup setting, and smarter MCP/LSP/plugin behaviors.└──▷ GET THIS VERSION$ git clone --branch v1.0.57 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.57
└──▷ USE ITDisable startup tips in a scripted or CI-adjacent interactive session by setting showTipsOnStartup in repo-level config.{ "showTipsOnStartup": false }- ›Adds
COPILOT_ENABLE_HTTP2=1environment variable to opt into HTTP/2 transport; default networking is now HTTP/1.1 for broader reliability. - ›Adds
COPILOT_HOMEenvironment variable to control the server discovery registry directory. - ›Adds
showTipsOnStartupsetting to control whether startup tips are displayed at session start. - ›Adds
extraKnownMarketplacessupport in.github/copilot/settings.jsonsocopilot plugin marketplace listhonors repo-level marketplace registries. - ›
/lsp show,/lsp test, and/lsp reloadnow correctly discover project LSP config when the CLI is launched from a subdirectory.
+8 moreshow less
- ›
/diffdefaults to branch diff when there are no unstaged changes. - ›In Azure DevOps-only repositories, the built-in GitHub MCP server now exposes the
web_searchtool instead of being fully disabled. - ›Canvas providers can return
file://URLs in open results, enabling local file previews. - ›Canceling a running shell command via Ctrl+C (on a
!commandor agent command, including sandboxed and background-promoted shells) now terminates the entire process tree. - ›
preToolUsehook errors now deny the tool call instead of silently permitting execution. - ›Plugin slash commands (
/plugin install,uninstall,update,marketplace add/remove/browse) now show immediate progress feedback during operations. - ›Surfaces the underlying reason (e.g. GitHub API rate limit) when SDK auth-token validation fails, replacing a misleading generic error message.
- ›Actionable error message shown when the GitHub API rate limit is hit during
copilot update.
- ›Adds
- v1.0.56
GitHub Copilot CLI v1.0.56 adds rubber duck agent config, MCP structured content surfacing, and smarter token-reduction defaults.
└──▷ GET THIS VERSION$ git clone --branch v1.0.56 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.56
└──▷ TRY ITEnable or disable the rubber duck agent without editing config files manually.$ copilot config set builtInAgents.rubberDuck true- ›Adds
builtInAgents.rubberDucksetting to enable or disable the rubber duck agent viacopilot config. - ›MCP tools that return both
contenttext and astructuredContentpayload now surface both to the agent; literal JSON serialization (per MCP spec §5.2.6) is deduplicated, otherwise the two are concatenated. - ›When
ghCLI is on PATH, the GitHub MCP server now omits redundant gh-replaceable tools by default, reducing token usage. - ›Free and Student users can select models other than Auto in the model picker.
- ›Reasoning effort picker respects model capabilities, hiding options unsupported by the current model.
+3 moreshow less
- ›Diff view uses a continuous scroll layout with sticky file and hunk headers, full terminal width, and theme-aware colors.
- ›
web_fetchtool prefers markdown content when available, using HTTP content negotiation for cleaner results from documentation sites. - ›Context window tier selection now persists durably in session events and survives SDK-only resume paths, reapplying tier-derived limits to request, compaction, and truncation logic.
- ›Adds
- v1.0.55
GitHub Copilot CLI v1.0.55 adds
/autopilot, per-MCP token visibility, Claude Opus 4.8, and new permissions controls.└──▷ GET THIS VERSION$ git clone --branch v1.0.55 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.55
└──▷ USE ITPrevent users or scripts from enabling unrestricted allow-all mode in a shared or regulated environment.permissions: disableBypassPermissionsMode: true
Keep an autopilot session locked to a specific objective so the model does not drift from the declared task.$ /autopilot Refactor the authentication module to use OAuth 2.0 PKCE flowMount a local Open Plugins directory for a single session via the RPC API without affecting other sessions.session.create({ pluginDirectories: ["/path/to/my-plugins"] })- ›Adds
permissions.disableBypassPermissionsModesetting to prevent users from enabling allow-all/yolo mode. - ›Adds
/autopilot <objective>command (with/goalas an alias) to keep autopilot sessions focused on a declared objective. - ›Adds
pluginDirectoriesparameter tosession.createandsession.resumeRPC calls, letting SDK clients mount Open Plugins-format directories per session. - ›Shows per-MCP-server token usage in
/mcpand breaks out MCP tool tokens separately in/context. - ›Adds
--plugin-dirskill precedence ordering: project > plugin-dir > personal > custom, so--plugin-dirskills now override personal-home (~/.copilot,~/.agents) skills of the same name.
+16 moreshow less
- ›Adds support for
owner/repo#refsyntax when adding plugins from the marketplace. - ›Adds Claude Opus 4.8 to the available model selection.
- ›Reports Claude thinking (reasoning) tokens in session usage summaries for all users.
- ›Enables the cell-based terminal renderer for all users by default.
- ›Surfaces extension log files per extension inside the
extensions_managetool to aid failure diagnosis. - ›Discovers project extensions in
.github/extensionswithin non-git (folder-backed) workspaces. - ›Discovers custom agents and skills recursively in subdirectories.
- ›Allows
/statuslineand/themecommands to run while the agent is actively executing. - ›Adds hook progress streaming that shows real-time status messages from long-running hooks in the timeline.
- ›Opens MCP configuration in its own dedicated screen with scrollable server and tool lists.
- ›Adds
/envoutput that now shows loaded extensions with their status and source. - ›Enables deletion of remote sessions directly from the session picker.
- ›Shows a warning when remote-controlled sessions are disabled by organization policy.
- ›Free and Student plan users on token-based billing are restricted to Auto model selection, with an explanation shown in the model picker.
- ›Progress indicators integrate natively with tmux 3.6b pane progress state.
- ›Detects PowerShell 7 correctly when
pwsh.exeis installed as a Microsoft Store App Execution Alias.
- ›Adds
- v1.0.52
Copilot CLI v1.0.52 adds deferred tool loading for agents,
/compactfocus instructions,/usagequota bars, and HTTP/1.1 auto-retry.└──▷ GET THIS VERSION$ git clone --branch v1.0.52 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.52
└──▷ TRY ITShape what an AI-compacted summary focuses on — useful when a long session covers multiple topics and you want the summary scoped to a specific area.$ /compact focus on the database migration steps onlyEnable deferred tool loading for a custom agent with a large tool list so tool-search discovery works without loading all tools upfront.--- name: my-large-agent deferred-tool-loading: true ---
Resume a saved session from a different working directory, overriding the saved cwd.$ copilot --continue -C /path/to/other/dir
- ›Adds
deferred-tool-loadingkey in agent frontmatter to enable opt-in deferred tool loading for custom agents with large tool lists, unlocking tool-search discovery. - ›Adds optional focus instructions argument to
/compactto shape the compaction summary. - ›Adds
/usagequota progress bars for session and weekly limits. - ›Migrates legacy nested
oauth.clientIdandoauth.callbackPortkeys in MCP server configs to the supportedoauthClientIdandauth.redirectPortkeys instead of silently dropping them. - ›Adds
-C <dir>flag override so sessions resume in their saved working directory, with flags whose values are relative paths (e.g.--attachment,--log-dir) resolving from the saved cwd.
+8 moreshow less
- ›Status line command now supports plain shell commands in addition to executable script paths.
- ›Requests that time out due to an HTTP/2 upload stall automatically retry over HTTP/1.1.
- ›Reasoning tokens now display as a parenthetical on the output token count in the token usage summary.
- ›Context window tier selection (default ~200K vs 1M tokens) is now enforced end-to-end, constraining compaction, truncation, and token display.
- ›Non-interactive subcommands (
plugin list,mcp list,help,version) no longer consume stdin. - ›General-purpose subagents use GPT-5.4 or GPT-5.5 when available.
- ›
/restartand/updatepreserve the current session ID after restarting. - ›Adds vertical scrollbar with mouse drag support to the main conversation view.
- ›Adds
- v1.0.51
GitHub Copilot CLI v1.0.51 adds session resumption,
/security-review,/chroniclecost-tips, secret scanning for commits/PRs, and new hook controls.└──▷ GET THIS VERSION$ git clone --branch v1.0.51 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.51
└──▷ USE ITEnable OSC 9;4 terminal progress indicators so your terminal emulator shows task progress in the taskbar or tab."terminalProgress": true
Trigger an experimental security review of your staged or recent code changes without leaving the CLI.$ /security-review- ›Adds
--session-id=<id>flag to resume known sessions or tasks, or start new sessions with a specific UUID. - ›Adds
terminalProgresssetting to enable or disable OSC 9;4 terminal progress indicators. - ›Adds
/security-reviewslash command (experimental) to review code changes for security vulnerabilities. - ›Adds
/chronicle cost-tipssubcommand for personalized token usage and cost reduction recommendations. - ›Adds
preMcpToolCallhook for hook providers to control outgoing MCP request metadata.
+10 moreshow less
- ›Extends
postToolUsehooks to injectadditionalContextinto successful tool results. - ›Secret scanning now covers commit messages and PR descriptions, redacting secrets before they are published.
- ›
/remotecommands now respect organization remote control and cloud policy, showing a clear error when disabled. - ›
/remotecommand can now be used while the agent is actively working. - ›
/memory showdisplays documentation links for learning about and managing Copilot Memory. - ›MCP servers using OAuth stay connected when authentication was performed in a separate session.
- ›GitHub MCP web search tool is available immediately without requiring a tool search.
- ›Customizable status line in the terminal footer displays session info such as model, context window, and git branch.
- ›MCP tool loading at startup is faster for users with many HTTP-based MCP servers.
- ›Input area grows responsively with terminal height instead of capping at 3 lines.
- ›Adds
- v1.0.49
GitHub Copilot CLI v1.0.49 adds
/chroniclesearch,/rubber-duck,/memory,/sessionid, plugin bulk-update, Alpine Linux support, and more.└──▷ GET THIS VERSION$ git clone --branch v1.0.49 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.49
└──▷ TRY ITSearch all content across a session to quickly find a prior discussion or decision by keyword.$ /chronicle search "authentication flow"Pin the MCP OAuth callback to a fixed port to avoid firewall or redirect-URI conflicts.auth: redirectPort: 9876
Lock plugin loading to a controlled directory for reproducible CI environments, suppressing auto-discovery.$ COPILOT_PLUGIN_DIR_ONLY=1 copilot --plugin-dir ./plugins chat
- ›Adds
auth.redirectPortconfig option to pin the OAuth callback to a fixed port for MCP servers. - ›Adds
COPILOT_PLUGIN_DIR_ONLYenvironment variable to disable automatic plugin discovery, enabling deterministic plugin sets when combined with--plugin-dir. - ›Adds
copilot plugin update --allto update all installed plugins in a single command. - ›Adds
/chronicle searchsubcommand to search all session content by keyword or topic. - ›Adds
/session idsubcommand to display the current session ID and copy it to the clipboard.
+23 moreshow less
- ›Adds
/memory on|off|showslash command to enable, disable, or view persistent memory status. - ›Adds
/exit printoption to print the session transcript to the terminal before exiting. - ›Adds
/rubber-duckcommand (experimental) to invoke an independent critique of the agent's current work. - ›Adds experimental
/mcp searchcommand to search and install MCP servers from a registry. - ›Adds experimental tool search with deferred loading for MCP and external tools.
- ›Adds 'None' reasoning effort option in the reasoning effort picker to disable model reasoning entirely.
- ›Extends
--plugin-dirand--additional-mcp-configto work in--server/--headlessmode. - ›Injects
postToolUsehookadditionalContextas a system message to the model instead of silently discarding it. - ›Hooks (
preToolUse,postToolUse,subagentStart,subagentStop) now fire correctly for sub-agent tool calls. - ›Plugins loaded via
--plugin-dirnow correctly register their agents as available task(agent_type=...) subagents in prompt mode. - ›Repo hooks in
.github/hooks/now load automatically in prompt mode (-p) when the folder is already trusted. - ›Prompt mode (
-p) automatically loads workspace MCP sources when the current folder is already trusted. - ›Adds support for running the CLI on Alpine Linux (musl libc).
- ›Memory permission prompts now name the scope of a stored memory — user scope or the specific
owner/repofor repository scope — and timeline entries show (for user) / (shared with repository collaborators). - ›Auto-links GitHub issue and PR references (
owner/repo#number) in assistant responses. - ›Auto-update downloads the smaller platform-specific package instead of the universal one when available.
- ›Content-filtered model responses now display an explanation instead of a blank assistant turn.
- ›Reduces PowerShell syntax errors on Windows by avoiding
&&chaining when using legacy PowerShell 5.x. - ›PromptFrame UI now renders inside tmux when the outer terminal is ghostty, WezTerm, or kitty (detected via
tmux list-clients). - ›Document attachment paths are included in context so the agent can reference pasted file paths, including Windows 'Copy as path' inputs.
- ›MCP stdio servers now display type as 'stdio' instead of 'local' for consistency.
- ›MCP server configurations with no
argsfield are now accepted and treated as an empty args list. - ›Input prompt collapses to a single line when empty and grows naturally as text is entered.
- ›Adds
- v1.0.47
GitHub Copilot CLI v1.0.47 adds named fork sessions, j/k navigation in
/diff, and improved--resumefor cloud agent sessions.└──▷ GET THIS VERSION$ git clone --branch v1.0.47 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.47
- ›The
/forkcommand now accepts an optional name, and forked sessions display their origin in the sessions dialog. - ›The
--resumeflag now supports Copilot cloud agent sessions where the agent hasn't pushed any changes to its branch. - ›The
/diffview now supportsj/kkeys for up/down navigation. - ›Copilot Max subscribers now see only the models available to their subscription tier.
- ›The
- v1.0.46
Copilot CLI v1.0.46 auto-approves read-only gh commands and warns on deprecated CLI versions
└──▷ GET THIS VERSION$ git clone --branch v1.0.46 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.46
- ›Read-only
ghCLI commands (list,view,status,diff, etc.) are auto-approved without prompting for user confirmation. - ›Displays a warning when the CLI version is deprecated and premium model access may be lost.
- ›Long lines in diff view wrap at terminal width instead of being truncated.
- ›Read-only
- v1.0.45
GitHub Copilot CLI v1.0.45 adds
/autopilotand/forkslash commands, PowerShell fallback, and OpenTelemetry GenAI metrics.└──▷ GET THIS VERSION$ git clone --branch v1.0.45 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.45
└──▷ TRY ITSwitch to autopilot mode mid-conversation to let Copilot execute multi-step tasks without per-step confirmations.$ /autopilotFork the current session to explore an alternative approach without losing the original conversation context.$ /fork- ›Adds
/autopilotslash command to toggle between interactive and autopilot modes mid-session. - ›Adds
/forkslash command to fork the current session into a new independent session. - ›Falls back to
powershell.exe(Windows PowerShell) whenpwsh(PowerShell 7+) is not available on Windows. - ›OpenTelemetry output now aligns with GenAI semantic conventions: MCP tool calls emit standard
tool_callspans and a newgen_ai.client.operation.durationmetric tracks tool execution time. - ›CLI startup is up to ~1.5s faster on terminals with limited OSC color query support.
- ›Adds
- v1.0.44
GitHub Copilot CLI v1.0.44 adds mid-input slash commands, multi-skill invocation, LLM-bypass hooks, and a
prereleaseargument tocopilot update.└──▷ GET THIS VERSION$ git clone --branch v1.0.44 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.44
- ›Adds optional
prereleaseargument tocopilot updateand/updateto fetch the latest prerelease build. - ›Supports
userPromptSubmittedhooks that handle requests directly, bypassing the LLM and returning a response without making a model call. - ›Slash commands can now appear mid-input, and multiple skills can be invoked in a single message.
- ›Adds optional
- v1.0.43
GitHub Copilot CLI v1.0.43 adds account display in the status line and server-side model routing in Auto mode.
└──▷ GET THIS VERSION$ git clone --branch v1.0.43 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.43
- ›Adds a username toggle to the
/statuslinepicker to display the active account in the footer. - ›Auto mode now uses server-side model routing for improved real-time model selection.
- ›Shows download progress when running the update command.
- ›MCP server child processes (e.g. started via
npxoruvx) are now fully terminated when a session ends.
- ›Adds a username toggle to the
- v1.0.42
GitHub Copilot CLI v1.0.42 adds
-C <directory>flag, richer MCP diagnostics, and a new rubber-duck agent in/experimental.└──▷ GET THIS VERSION$ git clone --branch v1.0.42 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.42
└──▷ TRY ITStart Copilot CLI in a specific project directory without cd-ing first — useful in scripts or multi-repo workflows.$ gh copilot -C ~/projects/my-service
- ›Adds
-C <directory>flag to change the working directory before starting, mirroring thegit -Cpattern. - ›MCP server failure warnings now include stderr output to help diagnose connection errors.
- ›MCP server failure warnings now suggest a directly runnable
/mcp showcommand when the server name contains whitespace. - ›Adds a rubber-duck agent for GPT sessions, powered by Claude, available under
/experimental. - ›Remote session export now supports non-GitHub repositories and repo-less directories.
+1 moreshow less
- ›Exit message resume command now shows the session ID instead of an auto-generated name when the session has not been renamed.
- ›Adds
- v1.0.41
Copilot CLI v1.0.41 adds experimental MCP Tasks,
--attachmentflag, auto shell completions, and prompt-mode extension loading.└──▷ GET THIS VERSION$ git clone --branch v1.0.41 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.41
└──▷ TRY ITAttach a screenshot or document to a non-interactive Copilot prompt — useful in CI pipelines or scripts where you need to feed visual or binary content alongside a question.$ copilot -p 'Explain the architecture shown in this diagram' --attachment ./architecture.png
Enable experimental MCP Tasks so long-running MCP tools execute as background agents you can track without blocking your session.$ copilot --experimental
Allow project extensions and management tools to load in prompt mode — set before invoking a non-interactive Copilot command in CI.$ GITHUB_COPILOT_PROMPT_MODE_EXTENSIONS=true copilot -p 'Run the project lint extension and summarise findings'
- ›Adds
--attachmentflag in non-interactive (-p/--prompt) mode to attach files (images or native documents) to the initial prompt. - ›Adds experimental MCP Tasks support: MCP tools with
taskSupport: "required"run as non-blocking background agents trackable vialist_agentsandread_agent— available when experimental mode is enabled via/experimental onor the--experimentalflag. - ›Extensions now load in prompt mode (
-p); user extensions load by default, while project extensions and management tools require theGITHUB_COPILOT_PROMPT_MODE_EXTENSIONS=trueenvironment variable. - ›Shell completions (bash, zsh, fish) are automatically installed on first run and updated after
copilot update. - ›Slash command picker now searches command descriptions and underlines matched characters.
+5 moreshow less
- ›Remote session connection errors now show your logged-in account and tailored remediation steps.
- ›Memory tool confirmation prompt now shows the scope (repository or user) when requesting permission to store a memory.
- ›Markdown formatting now renders in ask-user prompt questions.
- ›Tab-completing slash commands that accept arguments now adds a trailing space automatically.
- ›@
-mentioncompletion supports./paths, no longer adds a trailing space on directories, and shows project files before workspace roots.
- ›Adds
- v1.0.40
Copilot CLI v1.0.40 adds headless MCP OAuth, autopilot continuation limits, new env-var gates for prompt mode, and session/agent features for all users.
└──▷ GET THIS VERSION$ git clone --branch v1.0.40 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.40
└──▷ TRY ITCap autopilot at 10 continuation messages for long-running agentic tasks without manual intervention.$ copilot --max-autopilot-continues 10
Run prompt mode with workspace MCP enabled in a CI pipeline that opts in explicitly, keeping other prompt-mode runs sandboxed by default.$ GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP=1 copilot -p 'summarize open PRs in this repo'
Point the CLI at a non-default config directory using the new preferred environment variable instead of the deprecated flag.$ COPILOT_HOME=~/.config/copilot-work copilot plugin list- ›Adds
--max-autopilot-continuesflag to configure the default limit of 5 continuation messages in autopilot mode. - ›Adds
GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKSandGITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCPenvironment variables to opt in to repo hooks and workspace MCP in prompt mode (-p), making prompt mode secure-by-default. - ›Promotes
--config-dirdeprecation in favor of theCOPILOT_HOMEenvironment variable for specifying the config directory;--config-dirstill propagates correctly to plugin subcommands. - ›Adds support for
client_credentialsOAuth grant type for MCP servers, enabling fully headless authentication without a browser. - ›Adds toggle for custom
statusLine.commandvisibility in the statusline picker.
+15 moreshow less
- ›Adds
agent configoption for ACP clients (e.g. Zed) to list and switch custom agents. - ›Makes session history, file tracking, and the
/chroniclecommand available to all users. - ›Enables
/clearand/newto reset the active custom agent selection. - ›Adds auto-detection of Azure DevOps repositories to automatically disable the GitHub MCP server.
- ›Enables skills as slash commands in ACP clients, matching the existing CLI experience.
- ›ACP clients now display the agent's live plan as it works through multi-step tasks.
- ›Upgrades
/researchto use an orchestrator/subagent model for more thorough deep research results. - ›Automatically cleans up old CLI package versions from disk during auto-update.
- ›Remote session statusline now shows the remote working directory and branch instead of local context.
- ›Remote control link now shows the full URL in the timeline instead of 'Open in browser'.
- ›Prints 'Exiting...' to stderr immediately on Ctrl+C during prompt mode so shutdown progress is visible.
- ›Ctrl+C and double-Esc now remove pending queued messages one at a time instead of all at once.
- ›Mouse selection works while the
/askresponse dialog is open, enabling highlighting and copying of content. - ›Slash command suggestions now rank prefix matches above fuzzy matches.
- ›Improves CLI startup speed by loading custom CA certificates asynchronously.
└──▷ BREAKING ON UPGRADE- !
--config-diris deprecated in favor of theCOPILOT_HOMEenvironment variable.
- ›Adds
- v1.0.39
GitHub Copilot CLI v1.0.39 adds ACP permission toggling, four new slash commands, and background task control via ctrl+x → b.
└──▷ GET THIS VERSION$ git clone --branch v1.0.39 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.39
└──▷ TRY ITOffload a long-running build or test command to the background so you can continue issuing prompts without waiting for it to finish.$ ctrl+x → b- ›Adds
/compact,/context,/usage, and/envslash commands for ACP sessions. - ›Allows ACP clients to toggle allow-all permission mode via session configuration.
- ›Press
ctrl+x → bto move the current running task or shell command to the background. - ›
/remotestatus output now shows actionable hints for each connection state. - ›Slash command argument picker opens immediately at exact command boundaries without requiring a trailing space.
+1 moreshow less
- ›Improves
--resumesession picker with better tab layout, status display, and progressive loading.
- ›Adds
- v1.0.37
GitHub Copilot CLI v1.0.37 adds shell completion scripts, session sort cycling, and default location-based permission persistence.
└──▷ GET THIS VERSION$ git clone --branch v1.0.37 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.37
└──▷ TRY ITBootstrap persistent shell completions for Copilot CLI so subcommands, flags, and choice values tab-complete in your shell.$ copilot completion zsh > ~/.zsh/completions/_copilot && source ~/.zshrc- ›Adds
copilot completion <bash|zsh|fish>subcommand to generate static shell completion scripts covering subcommands, flags, and known choice values. - ›Location-based permission persistence is now enabled by default, carrying approvals across sessions for the same directory without re-approval.
- ›Press
sin the session picker to cycle sort order across four modes: relevance, last used, created, or name. - ›
/askresponses now render full markdown, including tables and formatted links. - ›ACP model config options now expose description and metadata fields for clients using the
configOptionsAPI.
- ›Adds
- v1.0.36
GitHub Copilot CLI v1.0.36 adds
/keep-alive,/remotetoggle, and a session-diff statusline among other UX improvements.└──▷ GET THIS VERSION$ git clone --branch v1.0.36 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.36
└──▷ TRY ITPrevent your workstation from sleeping during a long-running Copilot CLI session without enabling experimental mode.$ /keep-aliveCheck whether remote control is active, then disable it mid-session.$ /remote /remote off- ›Adds
/keep-alivecommand (now available without experimental mode) to prevent system sleep while Copilot CLI is active. - ›Adds
/remotecommand with/remote onand/remote offsubcommands to show current remote-control status and toggle it. - ›Adds a
changesstatusline toggle to display added/removed line counts for the current session. - ›Subcommand picker now shows a
❯selection indicator next to the highlighted item. - ›Requires double Esc to cancel in-flight work, preventing accidental interruptions.
+3 moreshow less
- ›Disabled skills no longer appear in the slash command list.
- ›Custom agents, skills, and commands from
~/.claude/are no longer loaded by Copilot CLI. - ›Claude Opus 4.6 now uses medium reasoning effort by default.
└──▷ BREAKING ON UPGRADE- !Hooks with
preToolUse.matchernow run only for tool names that fully match the regex — previously, the matcher was ignored and hooks ran unconditionally. - !Custom agents, skills, and commands from
~/.claude/are no longer loaded by Copilot CLI; any tooling relying on that path will stop working after upgrade.
- ›Adds
- v1.0.35
GitHub Copilot CLI v1.0.35 adds HTTP hooks, named sessions, new slash commands, and MCP/LSP improvements.
└──▷ GET THIS VERSION$ git clone --branch v1.0.35 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.35
└──▷ TRY ITName a new session and later resume it by name, keeping context across invocations.$ gh copilot --name my-feature-work # later... gh copilot --resume=my-feature-work
Automatically switch to auto model on rate limit instead of pausing, useful for unattended agentic runs.continueOnAutoMode: true
Route hook events to a webhook endpoint instead of a local script, enabling remote audit or automation pipelines.hooks: - event: tool_call http: url: https://hooks.example.com/copilot method: POST- ›Adds
COPILOT_GH_HOSTenvironment variable to set the GitHub hostname, taking precedence overGH_HOST. - ›Adds
--nameflag to name sessions and--resume=<name>to resume them by name. - ›Adds
continueOnAutoModeconfig option to automatically switch to auto model on rate limit instead of pausing. - ›Adds
/session delete,/session delete <id>, and/session delete-allsubcommands, plusx-to-deletein the session picker. - ›Adds HTTP hook support, allowing hooks to POST JSON payloads to a configured URL instead of running a local command.
+21 moreshow less
- ›Moves user settings storage to
~/.copilot/settings.json, separate from internal state inconfig.json. - ›LSP server entries in
lsp.jsonnow support configurablespawn,initialization, andwarmuptimeouts. - ›Adds a GitHub-style contribution graph to
/usagethat adapts to terminal color mode and falls back to distinct glyphs in no-color terminals. - ›
grepandglobtools now accept multiple search paths. - ›Slash commands support tab-completion for arguments and subcommands.
- ›Adds Ctrl+Y (in addition to Tab) to accept the highlighted option in completion popups (@
-mentions, path completions, slash commands). - ›
--continuenow prefers resuming sessions from the current working directory instead of the most recently touched session. - ›Shell escape commands (
!) now use$SHELLwhen set, instead of always invoking/bin/sh. - ›Status line script now includes context window fields matching the model badge and
/contextoutput. - ›Custom agent name is now visible in the statusline footer and can be toggled via
/statusline. - ›MCP server names with spaces and special characters are now supported.
- ›Pattern-specific instruction files (
.github/instructions/*.instructions.md) no longer include their full body in the system prompt on every session. - ›Plugins take effect immediately after install without requiring a restart.
- ›Configure Copilot agent now has shell access on Windows.
- ›Tab navigation supports Home/End keys to jump to first and last tab.
- ›Context window indicator in the statusline is now hidden by default.
- ›Self-correcting custom tool calls in agentic loop.
- ›
/updateand/versioncommands now honor the configured update channel. - ›Session selector shows branch names, idle/in-use status, and has improved search with cursor support.
- ›Model change notification shows both the previous and new model name.
- ›Sync task calls block until completion under
MULTI_TURN_AGENTSinstead of auto-promoting to background after 60 seconds; sync no longer returns a reusableagent_id— usemode: "background"for follow-ups.
└──▷ BREAKING ON UPGRADE- !Sync task calls under
MULTI_TURN_AGENTSno longer return a reusableagent_id; usemode: 'background'for follow-up calls instead. - !User settings are now stored in
~/.copilot/settings.jsoninstead ofconfig.json.
- ›Adds
- v1.0.33
Copilot CLI v1.0.33 adds new slash command aliases, earlier rate-limit warnings, and vim-style task navigation.
└──▷ GET THIS VERSION$ git clone --branch v1.0.33 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.33
- ›Adds
/bug,/continue,/release-notes,/export, and/resetas slash command aliases. - ›Adds
/upgradeas an alias for the/updatecommand. - ›Resuming a remote session with
--resumeor--continueautomatically inherits the--remoteflag without re-specifying it. - ›Adds
j/kvim-style navigation andxto kill tasks in the tasks dialog. - ›Shows usage limit warnings at 50% and 95% capacity for earlier notice before hitting rate limits.
+4 moreshow less
- ›Slash command picker suggests similar commands when an unrecognized or misspelled slash command is typed.
- ›Sub-agents in auto mode now inherit the session model.
- ›Non-interactive mode waits for all background agents to finish before exiting.
- ›Lists
ctrl+t(toggle reasoning display) in the/helpand?overlay.
- ›Adds
- v1.0.32
GitHub Copilot CLI v1.0.32 adds
--connect,--print-debug-info,--session-idle-timeout, short session ID resumption, auto model selection, and file attachment to prompts.└──▷ GET THIS VERSION$ git clone --branch v1.0.32 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.32
└──▷ TRY ITResume a previous session using just the first 7+ hex characters of its ID instead of the full ID.$ gh copilot --resume a3f92b1
Diagnose environment or terminal capability issues by printing version and environment details.$ gh copilot --print-debug-info
Set a session idle timeout so long-running unattended sessions are automatically cleaned up.$ gh copilot --session-idle-timeout 30m
- ›Adds
--connectflag to directly connect to a remote session by ID without additional steps. - ›Adds
--print-debug-infoflag to display version, terminal capabilities, and environment variables — useful for diagnosing environment issues. - ›Adds
--session-idle-timeoutflag to configure session idle timeout (disabled by default). - ›Allows short session ID prefixes (7+ hex characters) with
--resumeand/resumeinstead of requiring the full ID. - ›Adds
autoas a selectable model value, letting Copilot automatically pick the best available model for each session.
+6 moreshow less
- ›Supports attaching document files to prompts for the agent to read and reason about.
- ›Shows warnings when approaching 75% and 90% of weekly usage limits.
- ›Rate-limited sessions now pause queued messages and automatically retry instead of dropping them.
- ›Skills that exceed the token limit remain discoverable and invocable by name.
- ›Current date and time in agent context now includes local timezone offset.
- ›
/feedbacksaves the bundle toTEMPwhen the working directory is not writable.
- ›Adds
- v1.0.30
GitHub Copilot CLI v1.0.30 adds
/statuslinecommand to customize the status bar and expands image paste to Ctrl+V and Meta+V.└──▷ GET THIS VERSION$ git clone --branch v1.0.30 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.30
└──▷ TRY ITTrim the status bar to only the current branch and quota to reduce visual noise during long sessions.$ /statusline branch quota- ›Adds
/statuslinecommand (with/footeralias) to customize which items appear in the status bar, supporting: directory, branch, effort, context window, and quota. - ›Extends image paste from clipboard to both Ctrl+V and Meta+V across all platforms.
└──▷ BREAKING ON UPGRADE- !The
--list-envflag (which logged loaded plugins, agents, skills, and MCP servers in prompt mode) has been removed.
- ›Adds
- v1.0.29
GitHub Copilot CLI v1.0.29 adds
--list-envflag,COPILOT_AGENT_SESSION_ID, Claude Opus 4.7 support, and HTTP-default MCP config.└──▷ GET THIS VERSION$ git clone --branch v1.0.29 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.29
└──▷ USE ITDefine a remote MCP server without specifying a type, relying on the newhttpdefault.servers: - name: my-mcp-server url: https://mcp.example.com/v1- ›Adds
--list-envflag to prompt mode, logging all loaded plugins, agents, skills, and MCP servers — useful for verifying environment configuration in CI pipelines. - ›Injects
COPILOT_AGENT_SESSION_IDas an environment variable into shell commands and MCP servers, enabling session-scoped tracking across tool calls. - ›Remote MCP server config now allows omitting the
typefield, defaulting tohttpwhen unspecified. - ›Adds support for Claude Opus 4.7 as a model option.
- ›Adds
- v1.0.28
GitHub Copilot CLI v1.0.28 adds remote session resumption, terminal title opt-out, and live custom instruction reloading.
└──▷ GET THIS VERSION$ git clone --branch v1.0.28 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.28
- ›Adds
COPILOT_DISABLE_TERMINAL_TITLEenvironment variable to opt out of terminal title updates. - ›Enables connecting to CLI remote control sessions directly from the
--resumepicker. - ›Custom instructions and skills now refresh from disk automatically after
/clearor/new, removing the need to restart.
- ›Adds
- v1.0.27
Adds
/askcommand andcopilot plugin marketplace updateto GitHub Copilot CLI v1.0.27└──▷ GET THIS VERSION$ git clone --branch v1.0.27 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.27
└──▷ TRY ITAsk a one-off question mid-session without polluting the ongoing conversation context.$ /ask What does the OWASP Top 10 say about injection attacks?Refresh all plugin catalogs to pick up newly published or updated plugins from the marketplace.$ copilot plugin marketplace update- ›Adds
/askcommand to ask a quick question without affecting conversation history. - ›Adds
copilot plugin marketplace updatecommand to refresh plugin catalogs. - ›Status bar now shows
@filesand#issueshints while typing, and/helphint when the slash command picker is open.
- ›Adds
- v1.0.26
Copilot CLI v1.0.26 adds plugin root env vars, localhost-only ACP binding, and remote control renaming across flag and command help.
└──▷ GET THIS VERSION$ git clone --branch v1.0.26 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.26
└──▷ TRY ITAccess the plugin installation directory inside a plugin hook script to reference bundled assets or binaries.$ echo "Plugin installed at: $COPILOT_PLUGIN_ROOT"- ›Plugin hooks now receive
PLUGIN_ROOT,COPILOT_PLUGIN_ROOT, andCLAUDE_PLUGIN_ROOTenvironment variables pointing to the plugin's installation directory. - ›ACP server now binds to localhost only, preventing unintended network exposure.
- ›Renames 'steering' to 'remote control' in
--remoteflag and/remotecommand help text. - ›Remote tab now shows Copilot coding agent tasks and supports remote control without requiring a pull request.
- ›Enterprise login now accepts hostnames without a URL scheme (e.g.
github.example.com).
+4 moreshow less
- ›Instruction files with specific
applyTopatterns are consolidated into a table instead of inlining full content, reducing context window usage. - ›
ctrl+onow expands all timeline entries, matching the behavior ofctrl+e. - ›Adds deprecation warning when installing plugins from repos, URLs, or local paths.
- ›Session scope selector in sync prompt is now keyboard-navigable with left/right arrow keys.
- ›Plugin hooks now receive
- v1.0.25
GitHub Copilot CLI v1.0.25 adds MCP server install from registry,
/env,/remote, and remote session control via--remote.└──▷ GET THIS VERSION$ git clone --branch v1.0.25 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.25
└──▷ TRY ITInspect all loaded environment context — instructions, MCP servers, skills, agents, and plugins — at any point in a session.$ /envAdd a local subdirectory to context using a relative path, without needing to resolve the absolute path first.$ /add-dir ./src- ›Adds
--remoteflag and/remotecommand to remotely control CLI sessions. - ›Adds
/envcommand to display loaded environment details including instructions, MCP servers, skills, agents, and plugins. - ›Respects
--config-dirflag when selecting the active model. - ›Supports installing MCP servers from the registry with guided configuration directly in the CLI.
- ›ACP clients can now supply MCP servers (stdio, HTTP, SSE) when starting or loading sessions.
+4 moreshow less
- ›MCP remote server connections automatically retry on transient network failures.
- ›
/share htmlshows afile://URL and supports Ctrl+X O to open the file directly. - ›
/logoutshows a warning when signed in via gh CLI, PAT, API key, or environment variable, since/logoutonly manages OAuth sessions. - ›Adds Alt+D keybinding to delete the word in front of the cursor in text input.
- ›Adds
- v1.0.24
Copilot CLI v1.0.24: hooks now propagate modifiedArgs and custom agents accept VS Code display names
└──▷ GET THIS VERSION$ git clone --branch v1.0.24 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.24
- ›
preToolUsehooks now correctly propagatemodifiedArgs/updatedInputandadditionalContextfields, enabling hooks to pass modified arguments and extra context downstream. - ›Custom agent
modelfield now accepts VS Code display names and vendor suffixes (e.g.,Claude Sonnet 4.5, GPT-5.4 (copilot)) in addition to raw model IDs. - ›The
--remoteflag is now respected when the session sync prompt appears on first run inside a GitHub repo. - ›Redesigned exit screen with Copilot mascot and a cleaner usage summary layout.
- ›
- v1.0.23
GitHub Copilot CLI v1.0.23 adds
--mode,--autopilot, and--planflags for direct agent mode entry plus Tasks API steering.└──▷ GET THIS VERSION$ git clone --branch v1.0.23 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.23
- ›Adds
--mode,--autopilot, and--planflags to launch the CLI directly in a specific agent mode. - ›Enables
/diff,/agent,/feedback,/ide, and/tuikitslash commands while the agent is actively running. - ›Remote tab now surfaces Copilot coding agent tasks and supports steering them via the Tasks API.
- ›Migration notice for
.vscode/mcp.jsonnow includes ajqcommand to migrate your config to.mcp.json. - ›Displays reasoning token usage in the per-model token breakdown when nonzero.
+1 moreshow less
- ›Ctrl+L clears the terminal screen without clearing the current conversation session.
- ›Adds
- v1.0.22
GitHub Copilot CLI v1.0.22 adds bearer token BYOK auth, a
skillsfield for custom agents, plugin post-install messages, and tighter sub-agent limits.└──▷ GET THIS VERSION$ git clone --branch v1.0.22 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.22
- ›Custom agents can now declare a
skillsfield in their configuration to eagerly load skill content into agent context at startup. - ›Adds support for bearer token authentication for BYOK Anthropic models.
- ›CLI now reads MCP server configuration exclusively from
.mcp.json;.vscode/mcp.jsonand.devcontainer/devcontainer.jsonare no longer recognized as MCP server config sources. - ›Adds sub-agent depth and concurrency limits to prevent runaway agent spawning.
- ›Plugin agents now respect the model specified in their frontmatter.
+5 moreshow less
- ›Plugins can now display a post-install message with setup instructions after installation.
- ›Plugins remain enabled across sessions and auto-install on startup based on user config.
- ›
sessionStartandsessionEndhooks now fire once per session in interactive mode instead of once per prompt. - ›Warns when resuming a session that is already in use by another CLI or application.
- ›Shows a clear message to contact your organization administrator when remote sessions are blocked by policy.
└──▷ BREAKING ON UPGRADE- !
.vscode/mcp.jsonand.devcontainer/devcontainer.jsonare removed as MCP server config sources; the CLI now only reads.mcp.json. Existing setups relying on.vscode/mcp.jsonwill stop loading MCP servers until config is migrated to.mcp.json(a migration hint appears when.vscode/mcp.jsonis detected without.mcp.json). - !
sessionStartandsessionEndhooks now fire once per session rather than once per prompt in interactive mode; setups that relied on per-prompt hook execution will behave differently.
- ›Custom agents can now declare a
- v1.0.21
GitHub Copilot CLI v1.0.21 adds
copilot mcpfor MCP server management and snake_case hook payloads.└──▷ GET THIS VERSION$ git clone --branch v1.0.21 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.21
- ›Adds
copilot mcpcommand for managing MCP servers. - ›Hooks configured with PascalCase event names now receive VS Code-compatible
snake_casepayloads containinghook_event_name,session_id, and ISO 8601 timestamps.
- ›Adds
- v1.0.20
Copilot CLI v1.0.20 adds an OpenTelemetry monitoring help topic and makes
/yolostate persist across/restart└──▷ GET THIS VERSION$ git clone --branch v1.0.20 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.20
- ›Adds
copilot help monitoringtopic covering OpenTelemetry configuration details and examples. - ›Makes
/yoloand--yolobehave identically, with/yolostate now persisting across/restart. - ›Azure OpenAI BYOK now defaults to the GA versionless v1 route when no API version is configured.
- ›Spinner stays active until background agents and shell commands finish, with user input available throughout.
- ›Adds
- v1.0.19
Copilot CLI v1.0.19 persists MCP state across sessions and adds OpenTelemetry streaming latency tracking.
└──▷ GET THIS VERSION$ git clone --branch v1.0.19 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.19
- ›Adds
github.copilot.time_to_first_chunkattribute to chat spans in OpenTelemetry monitoring for streaming latency visibility. - ›
/mcp enableand/mcp disablenow persist across sessions, surviving restarts without re-configuration. - ›Subagent spans now use
INTERNALspan kind in OpenTelemetry, enabling more accurate trace categorization. - ›Slash command timeline entries now include the command name (e.g., 'Review', 'Plan') for better audit context.
- ›Adds
- v1.0.18
GitHub Copilot CLI v1.0.18 adds a Critic agent, async notification hooks, and a
preToolUsepermission suppression flag.└──▷ GET THIS VERSION$ git clone --branch v1.0.18 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.18
- ›Sets
permissionDecision: 'allow'in apreToolUsehook to suppress the tool approval prompt entirely. - ›Adds a
notificationhook event that fires asynchronously on shell completion, permission prompts, elicitation dialogs, and agent completion. - ›New Critic agent automatically reviews plans and complex implementations using a complementary model to catch errors early (experimental, Claude models only).
- ›Session resume picker now groups sessions by branch and repository on first use.
- ›Sets
- v1.0.17
GitHub Copilot CLI v1.0.17 adds built-in skills and HTTPS MCP OAuth redirect support.
└──▷ GET THIS VERSION$ git clone --branch v1.0.17 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.17
- ›Supports HTTPS redirect URIs in MCP OAuth flows via a self-signed certificate fallback, enabling compatibility with providers that require HTTPS (such as Slack).
- ›Adds built-in skills to the CLI, starting with a guide for customizing Copilot cloud agent's environment.
- ›
/resumesession picker now loads significantly faster when working with large session histories.
- v1.0.16
GitHub Copilot CLI v1.0.16 adds a PermissionRequest hook for scripted tool approval and MCP timeline visibility.
└──▷ GET THIS VERSION$ git clone --branch v1.0.16 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.16
- ›Adds
PermissionRequesthook to allow scripts to programmatically approve or deny tool permission requests. - ›MCP tool calls now display tool name and parameter summary in the timeline.
- ›MCP servers now reconnect correctly with valid authentication when the working directory changes, and load correctly after login, user switch, and
/mcp reload.
└──▷ BREAKING ON UPGRADE- !The
marketplacesrepository setting has been removed; useextraKnownMarketplacesinstead.
- ›Adds
- v1.0.15
Copilot CLI v1.0.15 adds MCP server config RPCs, OAuth device-code flow,
/mcpauth,/sharehtml, and branch-diff toggle.└──▷ GET THIS VERSION$ git clone --branch v1.0.15 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.15
└──▷ TRY ITReview all changes on the current branch against the merge-base using the branch diff toggle in/diffmode.$ gh copilot /diff- ›Adds
mcp.config.list,mcp.config.add,mcp.config.update, andmcp.config.removeserver RPCs for managing persistent MCP server configuration. - ›Adds
COPILOT_HOMEenvironment variable, replacing nonstandard XDG variables, with automatic data migration. - ›Adds
/mcp authcommand and re-authentication UI for MCP OAuth servers, including account switching support. - ›Adds device code flow (RFC 8628) as a fallback for MCP OAuth in headless and CI environments.
- ›Adds
postToolUseFailurehooks for tool errors;postToolUsenow runs only after successful tool calls.
+7 moreshow less
- ›Adds
/share htmlcommand to export sessions and research reports as self-contained interactive HTML files. - ›Config settings
askUser,autoUpdate,storeTokenPlaintext,logLevel,skillDirectories, anddisabledSkillsnow use camelCase names (snake_case still accepted). - ›Adds branch diff toggle to
/diffmode for viewing full branch changes vs merge-base. - ›Adds Home/End and Page Up/Page Down keyboard navigation to the diff viewer.
- ›MCP servers that are slow to connect no longer block the agent from starting.
- ›Adds a default option to the custom agent picker to deselect the current agent.
- ›Drops support for
gpt-5.1-codex,gpt-5.1-codex-mini, andgpt-5.1-codex-maxmodels.
└──▷ BREAKING ON UPGRADE- !Nonstandard XDG environment variables are replaced by
COPILOT_HOME; existing setups relying on those XDG variables must migrate toCOPILOT_HOME. - !
gpt-5.1-codex,gpt-5.1-codex-mini, andgpt-5.1-codex-maxmodels are removed and can no longer be selected. - !Ctrl+D no longer queues a message; use Ctrl+Q or Ctrl+Enter to queue instead.
- !Text selection no longer auto-copies; Ctrl+C or right-click is now required to copy selected text.
- !
postToolUsehooks no longer run after failed tool calls; use the newpostToolUseFailurehook for error handling.
- ›Adds
- v1.0.13
Copilot CLI v1.0.13 adds conversation rewind timeline, MCP LLM sampling requests, and faster startup via V8 compile cache.
└──▷ GET THIS VERSION$ git clone --branch v1.0.13 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.13
└──▷ TRY ITRoll back a conversation to an earlier point when an agent went down a wrong path.$ /rewind- ›New
/rewindcommand and double-Esc gesture open a timeline picker that can roll back to any point in conversation history, not just the previous snapshot. - ›MCP servers can now request LLM inference (sampling) with user approval via a new review prompt.
- ›MCP servers blocked by allowlist policy are now hidden from
/mcp show. - ›CLI startup time reduced by running terminal detection, auth, and git operations in parallel, and by a V8 compile cache that cuts parse and compile time on repeated invocations.
- ›MCP server OAuth authentication now works when the CLI runs in ACP mode.
+3 moreshow less
- ›MCP registry lookups gain automatic retries and request timeouts for improved reliability.
- ›Reasoning effort setting now applies correctly when using Bring Your Own Model (BYOM) providers.
- ›Splits
$BROWSERon spaces to support browser launch configurations that include arguments.
└──▷ BREAKING ON UPGRADE- !Support for the
gemini-3-pro-previewmodel has been removed.
- ›New
- v1.0.12
GitHub Copilot CLI v1.0.12 adds plugin env vars, new
/allow-allsubcommands, session name auto-gen, and OTEL span improvements.└──▷ GET THIS VERSION$ git clone --branch v1.0.12 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.12
└──▷ TRY ITTemporarily grant broad permissions for an automated task, then revoke them and verify the state, all without leaving the CLI.$ /allow-all on # run your automated task /allow-all off /allow-all showExpose the project root and plugin data directory to a custom hook script so it can locate project-specific assets at runtime.{ "hooks": { "pre_tool_call": [ { "command": "./scripts/audit.sh", "args": ["{{project_dir}}", "{{plugin_data_dir}}"] } ] } }Store team-shared scan rules in.claude/settings.jsonand personal overrides (e.g. local model preferences) in.claude/settings.local.json, both picked up automatically per repo.# .claude/settings.json — committed to the repo { "model": "claude-3-7-sonnet-20250219", "reasoning_effort": "high" } # .claude/settings.local.json — git-ignored, personal overrides { "reasoning_effort": "low" }- ›Adds
CLAUDE_PROJECT_DIRandCLAUDE_PLUGIN_DATAenvironment variables to plugin hooks, plus{{project_dir}}and{{plugin_data_dir}}template variables in hook configurations. - ›Extends
/allow-all(alias/yolo) withon,off, andshowsubcommands to enable, disable, or check allow-all mode from the CLI. - ›Reads
.claude/settings.jsonand.claude/settings.local.jsonas additional repository-level config sources. - ›OTEL hook executions are now recorded as span events instead of child spans, reducing trace clutter in distributed tracing backends.
- ›
/session renameauto-generates a session name from conversation history when called without a name argument.
+7 moreshow less
- ›Status line payload now includes a
session_namefield alongside the existingsession_id. - ›Model picker opens in full-screen view with inline reasoning effort adjustment using ← / → arrow keys; active reasoning effort level (e.g. '(high)') appears in the model display header.
- ›
/yolopath permissions now persist after using/clearto start a new session. - ›Ctrl+Y in plan mode opens the most recent research report when no plan exists yet.
- ›OSC 8 hyperlinks are now clickable in VS Code terminals.
- ›
/clearpreserves MCP server state into the new session. - ›Workspace MCP servers are now correctly loaded and visible to the agent.
└──▷ BREAKING ON UPGRADE- !The
--alt-screenflag andalt_screensetting are removed; alt screen is now always enabled and cannot be disabled.
- ›Adds
- v1.0.11
GitHub Copilot CLI v1.0.11 adds monorepo skill discovery, per-session working directories, and merged extension hooks.
└──▷ GET THIS VERSION$ git clone --branch v1.0.11 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.11
└──▷ TRY ITSeed a fresh session with an immediate task without typing a follow-up message — useful in CI kick-off or scripted workflows.$ /new 'Run the full test suite and summarise failures'Surface a custom status command that expands home-directory and environment-variable paths, e.g. to show a per-project Git status line.statusLine.command: ~/.local/bin/my-status ${PROJECT:-default}- ›Adds
~/.agents/skills/as a personal skill discovery directory, aligning with the VS Code GHCP4A extension default. - ›Supports
statusLine.commandpath expansion for~and environment variables such as$HOMEand${VAR:-default}. - ›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.
- ›
/newand/clearcommands now accept an optional prompt to seed the new session with a first message. - ›
/clearnow abandons the current session entirely, while/newstarts a fresh conversation with the old session kept backgrounded.
+7 moreshow less
- ›Extension hooks from multiple extensions now merge instead of overwriting each other or hooks from
hooks.json. - ›
sessionStarthookadditionalContextis now injected into the conversation. - ›Shows a warning when MCP servers are blocked by policy (e.g. allowlist enforcement), and enforces the organization policy for third-party MCP servers for all users.
- ›MCP OAuth authentication now works with servers that support Dynamic Client Registration but host authorization metadata at a non-standard URL (e.g. the Atlassian Rovo MCP Server).
- ›Background agent progress — current intent and tool calls completed — now surfaces in
read_agentand task timeout responses. - ›GitHub MCP server user configuration is respected when connecting to remote hosts.
- ›Startup 'Environment loaded' message now shows the count of loaded hooks.
- ›Adds
- v1.0.10
Copilot CLI v1.0.10 adds
/undo, multi-session support,--effortalias, SDK elicitation dialogs, and camelCase config keys.└──▷ GET THIS VERSION$ git clone --branch v1.0.10 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.10
└──▷ TRY ITRoll back a bad AI-generated edit mid-session without manually reverting files.$ /undoUse the new camelCase config key to pin the status line display in your config file.{ "statusLine": true, "effortLevel": "high", "autoUpdatesChannel": "stable" }- ›Adds
--effortas a shorthand alias for--reasoning-effortflag. - ›Adds
/undocommand to undo the last turn and revert file changes made during a session. - ›Renames config settings to camelCase:
includeCoAuthoredBy,effortLevel,autoUpdatesChannel, andstatusLine(old snake_case names still accepted). - ›Workspace MCP servers from
.mcp.json,.vscode/mcp.json, anddevcontainer.jsonare now loaded only after folder trust is confirmed. - ›Plugins loaded via
--plugin-dirnow appear in/plugin listunder a separate 'External Plugins' section.
+6 moreshow less
- ›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. - ›Adds experimental support for multiple concurrent sessions.
- ›Model picker reorganizes models into 'Available', 'Blocked/Disabled', and 'Upgrade' tabs based on user plan and policy.
- ›
/copywrites formatted HTML to clipboard on Windows for pasting into Word, Outlook, and Teams. - ›Plugins using
.claude-plugin/or.plugin/manifest directories now load their MCP and LSP servers.
- ›Adds
- v1.0.9
GitHub Copilot CLI v1.0.9 adds
include_gitignoredconfig option to surface gitignored files in @ file search.└──▷ GET THIS VERSION$ git clone --branch v1.0.9 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.9
- ›Adds
include_gitignoredconfig option to include gitignored files in @ file search results.
- ›Adds
- v1.0.8
GitHub Copilot CLI v1.0.8 adds hook definitions in settings files, MCP registry validation, and flexible
--resumeby task ID└──▷ GET THIS VERSION$ git clone --branch v1.0.8 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.8
└──▷ USE ITDefine repo-level hooks declaratively in a local settings file so they apply automatically on trust confirmation.{ "hooks": { "pre-commit": "npm run lint" } }- ›Adds support for defining hooks in
settings.json,settings.local.json, andconfig.json. - ›Enables validation of MCP servers against configured registries via the experimental
MCP_ALLOWLISTfeature flag. - ›Extends
--resumeto accept a task ID in addition to a session ID. - ›Adds an extension mode setting to control extensibility.
- ›Alternate screen buffer is now enabled by default for a cleaner terminal experience.
+2 moreshow less
- ›Idle subagents are now hidden from the
/tasksview after 2 minutes of inactivity, reducing clutter. - ›Ctrl-C in prompt mode now exits immediately instead of waiting for the request to complete.
- ›Adds support for defining hooks in
- v1.0.7
GitHub Copilot CLI v1.0.7 adds GPT-5.4-mini, a subagentStart hook, experimental SDK session APIs, and a new 'customize' system message mode.
└──▷ GET THIS VERSION$ git clone --branch v1.0.7 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.7
└──▷ TRY ITOverride a specific section of the system prompt without replacing the entire message — useful for tailoring assistant behavior per project.$ # In your system message config, set mode to 'customize' to enable section-level overridesUse the subagentStart hook to inject extra context (e.g. project metadata) whenever a subagent is spawned during a multi-agent workflow.$ # Register a subagentStart hook in your SDK session setup to supply additional prompt context to each spawned subagent- ›Adds
customizemode to system message config for section-level system prompt overrides. - ›Adds experimental SDK session APIs to list and manage skills, MCP servers, and plugins, with optional config auto-discovery from the working directory.
- ›Adds
subagentStarthook that fires when a subagent is spawned, supporting injection of additional context into the subagent's prompt. - ›Adds support for the
gpt-5.4-minimodel in the model picker. - ›Branch indicator in the header now distinguishes unstaged changes (
*), staged changes (+), and untracked files (%).
+2 moreshow less
- ›Double-Esc clears input when text is present, or triggers undo when the prompt is empty, with a hint shown after the first Esc.
- ›Pro and trial users now see all models they are entitled to in the model picker.
- ›Adds
- v1.0.6
Copilot CLI v1.0.6 adds dynamic tool search for Claude models, cross-platform hook configs, Open Plugin spec support, and expanded GitHub MCP tool flags.
└──▷ GET THIS VERSION$ git clone --branch v1.0.6 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.6
└──▷ TRY ITLoad custom instruction files from a project-specific directory so the agent picks up team guidelines automatically.$ COPILOT_CUSTOM_INSTRUCTIONS_DIRS=./team-instructions copilotLoad a plugin from a local directory so.claude-plugin/plugin.jsonis discovered and the plugin's tools are available to the agent.$ copilot --plugin-dir ./my-plugin
- ›Adds
--enable-all-github-mcp-tools,--add-github-mcp-toolset, and--add-github-mcp-toolflags now taking effect in SDK (ACP mode). - ›Adds
skipPermissionper-tool setting so extension tools can bypass permission prompts individually while still using the permissions system. - ›Adds
COPILOT_CUSTOM_INSTRUCTIONS_DIRSenvironment variable support for loading custom instruction file paths correctly. - ›Hook configuration files now accept PascalCase event names alongside camelCase, enabling a single hook config to work across VS Code, Claude Code, and the CLI without modification.
- ›Hook config files now support Claude Code's nested matcher/hooks structure and optional
typefield.
+9 moreshow less
- ›Adds support for the Open Plugins spec:
.lsp.jsonfile locations,exclusivepath mode, and:namespace separator for loading plugin and marketplace manifests. - ›Plugins using
.claude-plugin/plugin.jsonare discovered when loaded via--plugin-dir. - ›Instruction file frontmatter
applyTofield now accepts both string and array values. - ›Enables dynamic tool discovery and use with tool search for Claude models.
- ›Sub-agents launched by the task tool receive human-readable IDs based on their name (e.g.,
math-helper-0) instead of genericagent-0identifiers. - ›The
create_pull_requesttool now includes the PR URL in its output so the agent can share the direct link. - ›
read_agentoutput now includes inbound messages that triggered each turn in multi-turn agents. - ›Autopilot
task_completesummary is now required and renders as markdown. - ›Subagent elapsed time in
/tasksview now freezes when idle and resumes when active.
- ›Adds
- v1.0.5
Copilot CLI v1.0.5 adds
/prfor pull-request automation,/extensionsmanagement, richer file mentions, and a preCompact hook.└──▷ GET THIS VERSION$ git clone --branch v1.0.5 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.5
└──▷ TRY ITKick off automated PR creation and CI-fix loop from inside a Copilot CLI session.$ /prBrowse recent release notes or summarize a range of versions without leaving the session.$ /changelog last 5 /changelog since 1.0.0 /changelog summarize- ›Adds
/prcommand to create and view pull requests, automatically fix CI failures, address review feedback, and resolve merge conflicts. - ›Adds
/extensionscommand to view, enable, and disable CLI extensions from within the session. - ›Adds
/versioncommand to display the CLI version and check for updates without leaving the session. - ›Extends
/changelogwithlast <N>,since <version>, andsummarizesubcommands to browse and summarize multiple release notes at once. - ›Adds
preCompacthook to run commands before context compaction starts.
+7 moreshow less
- ›Expands
@file mentions to support paths outside the project: absolute paths (@/usr/...), home directory (@~/...), and relative parent paths (@../...). - ›Enables multi-turn conversations with background agents via the
write_agenttool for sending follow-up messages. - ›Syntax highlighting in
/diffnow covers 17 programming languages. - ›Toggleing experimental mode with
/experimental on|offautomatically restarts the CLI to apply changes immediately. - ›Shows a clear error when a classic Personal Access Token (
ghp_) is set in environment variables instead of silently exiting. - ›Surfaces the API request ID in the timeline when errors occur after retries are exhausted.
- ›Hooks config files that omit the
versionfield are now accepted by the CLI.
- ›Adds
- v1.0.4
Copilot CLI v1.0.4 adds RPC shell execution, OpenTelemetry tracing, CommonJS extensions, and a new configure-copilot sub-agent
└──▷ GET THIS VERSION$ git clone --branch v1.0.4 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.4
└──▷ USE ITPrevent all hooks from running in a non-interactive CI environment by disabling them at the config level.disableAllHooks: true
Check the current PR's status in the terminal without leaving the CLI.$ gh copilot /pr view local- ›Adds
session.shell.execandsession.shell.killRPC methods for executing shell commands with streaming stdout/stderr output. - ›Adds
--reasoning-effortCLI flag to set the reasoning effort level for agent sessions. - ›Adds
disableAllHooksflag to disable all hooks from a configuration file. - ›Replaces
/pr openwith/pr view [local|web]to view PR status locally or open it in the browser. - ›Adds
configure-copilotsub-agent for managing MCP servers, custom agents, and skills via the task tool.
+9 moreshow less
- ›Enables OpenTelemetry instrumentation for observability into agent sessions, LLM calls, and tool executions.
- ›Extensions can now be written as CommonJS modules using the
extension.cjsformat. - ›Hooks can now request user confirmation before tool execution with an
askpermission decision. - ›Supports Azure DevOps repository identification in session logs.
- ›Adaptive color engine with dynamic color modes and an interactive theme picker, with graceful degradation on limited-color terminals and Windows.
- ›Shows loaded extensions count in the 'Environment loaded' startup message.
- ›Path permission dialog now offers a one-time approval option in addition to adding the path to the allowed list.
- ›Shows individual instruction file names in the
/instructionspicker with[external]labels for injected files. - ›Custom agents from
--plugin-dirplugins now load correctly in ACP mode.
└──▷ BREAKING ON UPGRADE- !
/pr openis replaced by/pr view [local|web]; any scripts or workflows invoking/pr openwill need to be updated.
- ›Adds
- v1.0.3
Copilot CLI v1.0.3 adds MCP config from devcontainer.json,
--binary-versionflag,/restartcommand, Windows Terminal support, and more.└──▷ GET THIS VERSION$ git clone --branch v1.0.3 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.3
└──▷ USE ITUpdate the renamed merge strategy key in your project config to avoid unknown-field warnings after upgrading.mergeStrategy: squash
- ›Adds
--binary-versionflag to query the CLI binary version without launching a full session. - ›Reads MCP server configuration from
.devcontainer/devcontainer.json. - ›Adds
extraKnownMarketplacesrepository setting to replace marketplace definitions. - ›Adds
/restartcommand to hot restart the CLI while preserving the current session. - ›Extends
/terminal-setupcommand with Windows Terminal support.
+12 moreshow less
- ›Documents
GH_HOST,HTTP_PROXY,HTTPS_PROXY,NO_COLOR, andNO_PROXYenvironment variables in help output. - ›The
mergeStrategyconfig key replaces the formermerge_strategykey (renamed for consistency). - ›Enables alternate screen buffer by default for staff users.
- ›Makes Extensions available as an experimental feature, allowing custom tools and hooks via
@github/copilot-sdk. - ›Type
quitto exit the CLI, in addition to the existingexitcommand. - ›
/reset-allowed-toolsnow fully undoes/allow-alland re-triggers the autopilot permission dialog. - ›MCP servers with non-conforming
outputSchemaare now accessible. - ›
/add-dirdirectories persist across session changes such as/clearand/resume. - ›Background task notifications display in the timeline with expandable detail.
- ›Retry status messages display to show progress during server error recovery.
- ›Loading spinner shown in diff mode while fetching changes.
- ›
/initsuggestion is suppressed when.github/instructions/already contains instructions.
└──▷ BREAKING ON UPGRADE- !The
merge_strategyconfig key is renamed tomergeStrategy; existing configs usingmerge_strategymust be updated.
- ›Adds
- v1.0.2
GitHub Copilot CLI v1.0 GA adds cross-platform hook config aliases and interactive form improvements.
└──▷ GET THIS VERSION$ git clone --branch v1.0.2 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v1.0.2
└──▷ USE ITDefine a single hook command that runs on any OS without separate bash/powershell entries.command: echo 'Running hook' timeout: 30
- ›Adds
commandfield in hook configs as a cross-platform alias forbash/powershell, simplifying multi-OS hook definitions. - ›Adds
timeoutas an alias fortimeoutSecin hook configurations. - ›Adds
exitas a bare command to close the CLI session. - ›Enum fields in
ask_userforms now accept custom (free-text) responses, and the form submits with the Enter key.
- ›Adds
- v0.0.423
Copilot CLI v0.0.423 adds dangerous-command guardrails, MCP OAuth URL flows, and EMU/GHE gist blocking.
└──▷ GET THIS VERSION$ git clone --branch v0.0.423 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.423
- ›MCP servers can now request users to visit a URL for out-of-band interactions such as OAuth flows or API key entry.
- ›Blocks
/share gistfor EMU and GHE Cloud users with a clear error message instead of silently failing. - ›Prompts users for confirmation before executing shell commands with potentially dangerous expansion or substitution patterns.
- ›Elicitation enum and boolean fields now require Enter to confirm a selection, with a ✓ indicator for confirmed values vs ❯ for the browsing cursor.
- ›Improves explore agent precision and large repository support with better context sharing.
+1 moreshow less
- ›Diff mode renders correctly on Windows with CRLF line endings.
- v0.0.422
GitHub Copilot CLI v0.0.422 adds GPT-5.4, JSON output mode, startup hooks, plugin SSH installs, and session metrics logging.
└──▷ GET THIS VERSION$ git clone --branch v0.0.422 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.422
└──▷ TRY ITPipe Copilot CLI output into jq for programmatic processing of responses in CI or scripts.$ gh copilot prompt --output-format json 'Summarize open TODOs in this repo' | jq '.content'
Auto-copy selected text to clipboard whenever you highlight it in alt-screen mode — useful for quickly grabbing code snippets.copy_on_select: true
Ensure a standard set of plugins is installed automatically for every session by declaring them in config.enabledPlugins: - my-org/copilot-plugin-terraform - ssh://[email protected]/infra/copilot-plugin-k8s
- ›Adds
--output-format jsonflag to emit JSONL in prompt mode for programmatic integrations. - ›Adds
copy_on_selectconfig option to auto-copy selected text to clipboard in alt-screen mode. - ›Adds
enabledPluginsconfig key for automatic plugin installation at startup. - ›Adds
exitPlanMode.requestprotocol method for SDK plan approval support. - ›Renames
launch_messagesconfig setting tocompanyAnnouncements— existing configs usinglaunch_messagesmust be updated.
+12 moreshow less
- ›Renames repository config file from
.github/copilot/config.jsontosettings.json— existing repo-level config files must be moved. - ›Session usage metrics (requests, tokens, code changes) are now persisted to
events.jsonlafter each session ends. - ›Loads personal hooks from
~/.copilot/hooksin addition to repo-level.github/hooks. - ›Adds
/copycommand to copy the last response to clipboard. - ›Adds startup prompt hooks to auto-submit prompts or slash commands when a session starts.
- ›Supports installing plugins from
ssh://URLs. - ›Adds GPT-5.4 model support.
- ›Plugin-contributed LSP servers are now loaded, started, and shown in
/lsp show. - ›Adds Ctrl+R reverse incremental command history search (matching Bash behavior).
- ›Adds mouse scroll support to
/diffin alt-screen mode. - ›Automatic notifications when background shell commands and agents complete.
- ›
/delegatenow prompts for a target remote in multi-remote repositories.
└──▷ BREAKING ON UPGRADE- !The
launch_messagesconfig setting is renamed tocompanyAnnouncements; existing configs usinglaunch_messageswill need to be updated. - !The repository config file is renamed from
.github/copilot/config.jsontosettings.json; existing repo-level config files must be moved to the new path.
- ›Adds
- v0.0.421
GitHub Copilot CLI v0.0.421 adds repo-level config,
--plugin-dirflag, MCP Elicitations, andCOPILOT_CLI=1env var for Git hooks.└──▷ GET THIS VERSION$ git clone --branch v0.0.421 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.421
└──▷ TRY ITLoad and test a locally developed plugin without publishing it to a marketplace.$ copilot --plugin-dir ./my-local-plugin
Share marketplace sources and launch messages across a team by committing a repo-level config file.{ "marketplaces": ["https://example.com/my-marketplace"], "launchMessage": "Welcome to the team repo!" }- ›Adds
--plugin-dirflag to load a plugin from a local directory instead of a marketplace. - ›Adds
COPILOT_CLI=1environment variable so Git hooks can detect Copilot CLI subprocesses and skip interactive prompts. - ›Supports repo-level configuration via
.github/copilot/config.jsonfor shared project settings such as marketplaces and launch messages. - ›Reads
extraKnownMarketplacesfrom.claude/settings.json(project-level) for Claude plugin compatibility. - ›Adds structured form input for the
ask_usertool using MCP Elicitations (experimental).
+8 moreshow less
- ›ACP clients can now configure reasoning effort via session config options.
- ›AUTO theme reads the terminal's ANSI color palette directly so colors match the user's terminal theme.
- ›Clickable PR reference displayed next to branch name in the status bar.
- ›Mouse text selection is automatically copied to the Linux primary selection buffer (middle-click to paste).
- ›Links in the terminal are now clickable and open in the default browser.
- ›Markdown tables render with proper column widths, word wrap, and Unicode borders that adapt to terminal width.
- ›Autopilot permission dialog now appears on first prompt submission instead of on mode switch.
- ›Uses consistent
~/.copilot/pkgpath for auto-update instead ofXDG_STATE_HOME.
- ›Adds
- v0.0.420
GitHub Copilot CLI v0.0.420 adds issue/PR/discussion referencing and smarter auto-updates.
└──▷ GET THIS VERSION$ git clone --branch v0.0.420 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.420
- ›Type
#in the CLI prompt to reference GitHub issues, pull requests, and discussions as context. - ›Auto-update now also updates the binary executable, not just the JS package.
- ›Plugin and marketplace git repos update correctly after force-pushes and tag-based installs.
- ›Type
- v0.0.419
GitHub Copilot CLI v0.0.419 adds
/chroniclesession history command, new keyboard shortcuts, and expanded MCP server support.└──▷ GET THIS VERSION$ git clone --branch v0.0.419 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.419
└──▷ TRY ITGenerate a standup summary from your current session's history at the start of a work day.$ /chronicle standup- ›Adds
/chroniclecommand withstandup,tips, andimprovesubcommands powered by session history (experimental). - ›Adds
--mouse/--no-mouseflag and mouse config key to disable mouse mode in alt-screen views. - ›Adds Ctrl+F/Ctrl+B as page-down/page-up shortcuts for scrolling in alt-screen views.
- ›Adds Ctrl+G keyboard shortcut for editing prompts in an external editor and dismissing UI elements.
- ›MCP server env vars referenced in
command,args, orcwdfields are automatically included in the server environment.
+5 moreshow less
- ›MCP server names now support dots, slashes, and
@characters, enabling npm-style names like@modelcontextprotocol/serverandio.github/server. - ›
/mcp enablenow works for built-in servers that were previously auto-disabled before configuration. - ›Home and End keys now jump to the top and bottom of the alt-screen scroll buffer.
- ›
AUTOtheme now uses the terminal's actual ANSI color palette for more accurate colors across terminal themes. - ›
/diagnoseshows a helpful message when no session has been started yet.
- ›Adds
- v0.0.417
GitHub Copilot CLI v0.0.417 adds a
/researchcommand for deep research with exportable reports.└──▷ GET THIS VERSION$ git clone --branch v0.0.417 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.417
└──▷ TRY ITRun a deep research query and export the results as a report.$ /research How do supply-chain attacks target npm packages?- ›Adds
/researchcommand for deep research with exportable reports. - ›Plugin skills and commands now load from custom paths declared in
plugin.json. - ›Plugin agents and skills are available immediately after install without restarting.
- ›Adds
- v0.0.416
Copilot CLI v0.0.416 enforces MCP server policy, improves narrow-terminal status layout, and expands
--helpcontent.└──▷ GET THIS VERSION$ git clone --branch v0.0.416 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.416
└──▷ TRY ITDiscover all available flags and examples for a subcommand after the expanded--helpcontent lands.$ gh copilot suggest --help
- ›Enforces the Copilot MCP policy by blocking third-party MCP servers when the policy does not permit them.
- ›Expands
--helpoutput with descriptions, examples, and sorted flags. - ›Status line automatically switches to a two-line layout on narrow terminals, keeping CWD, branch, and model info readable at any terminal width.
- ›Streaming response size counter now updates continuously during tool calls and reasoning, and resets between requests.
- ›Undo operations now always require confirmation before proceeding.
└──▷ BREAKING ON UPGRADE- !Undo operations now always require confirmation — previously unconfirmed undo flows will pause for input.
- v0.0.415
GitHub Copilot CLI v0.0.415 adds
modelfield for custom agents,show_filetool, and overhauled/mcp showgrouping└──▷ GET THIS VERSION$ git clone --branch v0.0.415 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.415
└──▷ TRY ITInstall a locally developed plugin whose directory path includes spaces, without renaming the directory.$ /plugin install "/Users/analyst/My Plugins/vuln-scanner"- ›Adds
modelfield to custom agent configuration, letting practitioners specify which model powers a given agent. - ›Adds
show_filetool for presenting code and diffs to the user inline during a session. - ›Adds
/plugin marketplace addand/plugin installsupport for local paths that contain spaces. - ›Upgrades
/mcp showto group servers into User, Workspace, Plugins, and Built-in sections with full keyboard navigation. - ›Plan approval menu now surfaces model-curated actions with a recommended option highlighted first, including autopilot+fleet for parallelizable work.
+3 moreshow less
- ›Adds env loading indicator displaying skills, MCPs, plugins, and other resources being loaded at startup.
- ›Agent now self-reports which model is powering it when asked during a session.
- ›Adds Ctrl+A/E to cycle through visual lines in wrapped input, Home/End to navigate within a visual line, and Ctrl+Home/End to jump to text boundaries.
- ›Adds
- v0.0.413
GitHub Copilot CLI v0.0.413 adds remote plugin sources, configurable status line, and alt-screen mode on by default under
--experimental└──▷ GET THIS VERSION$ git clone --branch v0.0.413 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.413
└──▷ USE ITReference a remote plugin from a GitHub repo in your marketplace.json so the plugin is fetched automatically without local installation.{ "plugins": [ { "name": "my-remote-plugin", "source": "https://github.com/my-org/my-copilot-plugin" } ] }- ›Enables alt-screen mode by default when running with the
--experimentalflag. - ›Adds configurable status line support to display dynamic session information via custom shell scripts.
- ›Supports remote plugin sources (GitHub repos and git URLs) in
marketplace.jsonplugin entries. - ›Adds
ctrl+insertkeybinding to copy selected text in the alt-screen view. - ›Renders session info in the main view footer in alt-screen mode.
+4 moreshow less
- ›Displays heading content from reasoning for GPT models.
- ›Increases LSP request timeout from 30s to 90s.
- ›Improves code search speed in large repos.
- ›Skill files with YAML array syntax for
allowed-toolsnow load correctly.
- ›Enables alt-screen mode by default when running with the
- v0.0.412
GitHub Copilot CLI v0.0.412 adds
/mcp reload,/update,exit_plan_mode, cross-session memory,--bash-env, and more.└──▷ GET THIS VERSION$ git clone --branch v0.0.412 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.412
└──▷ TRY ITReload updated MCP server configuration mid-session without restarting Copilot CLI.$ /mcp reload- ›Adds
--bash-envflag to sourceBASH_ENVin shell sessions. - ›Adds
disable-model-invocationfrontmatter field for skills to control model invocation. - ›Adds Configure LSP server request timeouts in lsp.json.
- ›Adds
/mcp reloadcommand to reload MCP configuration without restarting. - ›Adds
/updatecommand to view changelog and update instructions.
+18 moreshow less
- ›Adds
exit_plan_modetool with a plan approval dialog for reviewing and accepting plans. - ›Supports
~/.copilot/instructions/*.instructions.mdfiles for user-level instructions applied across all repositories. - ›Allows
/reset-allowed-toolsto run during active agent execution. - ›Adds cross-session memory (experimental): query past work, files, and PRs across sessions.
- ›Command files no longer require YAML frontmatter — plain Markdown files now derive name and description automatically.
- ›Adds
ctrl+ykeybinding to edit the current plan in a terminal editor. - ›Adds
ctrl+x ctrl+ekeybinding to edit the prompt in a preferred terminal editor. - ›Extends terminal editor support to Windows.
- ›Hides custom agents with
user-invocable: falseset from the/agentspicker. - ›Config file syntax errors now surface a warning instead of silently crashing.
- ›Adds double-click word and triple-click line selection in alt-screen text selection.
- ›
/fleetmode dispatches more subagents in parallel for faster execution, with orchestrator validation of subagent work. - ›Instructions and skills pickers open as full-screen alt-screen views when alt-screen mode is enabled.
- ›Session picker opens instantly without a loading flash when multiple sessions exist.
- ›Shows a warning in the timeline when skills fail to load at startup, with a prompt to run
/skillsfor details. - ›
/clearnow preserves the current agent mode (autopilot, plan, or interactive). - ›MCP error messages now include the server name for easier diagnosis.
- ›MCP servers with invalid tool schemas no longer silently drop all tools.
- ›Adds
- v0.0.411
Copilot CLI v0.0.411 adds Claude Sonnet 4.6,
--alt-screensyntax,include_coauthorconfig, MCP Windows Registry support, and SDK APIs for plan/autopilot/fleet.└──▷ GET THIS VERSION$ git clone --branch v0.0.411 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.411
└──▷ USE ITSuppress the Co-authored-by trailer in commits made by Copilot — useful when your org policy disallows it or you want cleaner git history.include_coauthor: false
- ›Adds
--alt-screen onand--alt-screen offflag syntax to explicitly control alt-screen mode. - ›Adds
include_coauthorconfig option to disable the Co-authored-by trailer in git commits. - ›Adds SDK APIs for plan mode, autopilot, fleet, and workspace files.
- ›Supports MCP servers sourced from the Windows On-Device Registry.
- ›Adds support for the Claude Sonnet 4.6 model.
+3 moreshow less
- ›Custom agents now use
disable-model-invocationinstead ofinfer(backward compatible). - ›Autopilot mode and
/fleetcommand are now available to all users. - ›Memory storage timeline now shows subject, fact, and citations.
- ›Adds
- v0.0.410
GitHub Copilot CLI v0.0.410 adds
/init suppress, repo-level validation tool controls, ACP session loading, and new keyboard/shell ergonomics.└──▷ GET THIS VERSION$ git clone --branch v0.0.410 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.410
└──▷ TRY ITSilence per-repo init suggestions after the feature is noisy in a monorepo.$ /init suppress- ›Adds
/init suppresssubcommand to control init suggestions on a per-repository basis. - ›Adds repo-level settings to disable individual validation tools.
- ›Extends skill name validation to support underscores, dots, and spaces; makes
nameanddescriptionoptional in skill frontmatter with sensible fallbacks. - ›Supports tilde (
~) expansion in MCP servercwdconfiguration. - ›ACP server now supports loading existing sessions.
+9 moreshow less
- ›Adds Ctrl+Z suspend/resume support on Unix platforms.
- ›Adds Ctrl+D to exit the CLI on an empty prompt.
- ›Adds Ctrl+N and Ctrl+P as arrow-key alternatives in the input prompt.
- ›Shell mode is now accessed only via
!and is removed from the Shift+Tab cycle. - ›Shift+Enter inserts newlines in terminals that support the kitty keyboard protocol.
- ›Adds Page Up / Page Down keyboard scrolling in alt-screen mode.
- ›MCP server errors and loading issues now surface in the timeline.
- ›Shows IDE file-selection indicator in the status bar when connected to an IDE.
- ›Appends a Copilot co-authored-by trailer to git commits created by the tool.
- ›Adds
- v0.0.409
GitHub Copilot CLI v0.0.409 adds VS Code integration, a quick-help overlay, scrollable diffs, and default plugin marketplaces.
└──▷ GET THIS VERSION$ git clone --branch v0.0.409 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.409
- ›Adds
list_copilot_spacestool to the default GitHub MCP config, exposing Copilot Spaces discovery out of the box. - ›New quick-help overlay: press
?to display grouped shortcuts and commands, navigable with arrow keys. - ›Includes default plugin marketplaces (
copilot-plugins,awesome-copilot) for easier plugin discovery. - ›
/diffnow runs in full-screen alt-screen mode. - ›Permission prompts with long diffs are scrollable in alt-screen mode.
+2 moreshow less
- ›Theme preview appears above the theme list in screen-reader mode.
- ›Subagents now return complete responses.
- ›Adds
- v0.0.408
GitHub Copilot CLI v0.0.408 adds
/streamer-mode, mouse text selection in--alt-screen, and substring matching in slash command autocomplete.└──▷ GET THIS VERSION$ git clone --branch v0.0.408 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.408
└──▷ TRY ITHide model names and quota details when screen-sharing or recording a demo.$ /streamer-mode- ›Adds
/streamer-modeslash command to hide preview model names and quota details during streaming sessions. - ›Adds mouse text selection support in
--alt-screenmode. - ›MCP servers now respect the
cwdworking directory property. - ›Adds substring matching to slash command autocomplete, making commands easier to find without exact-prefix input.
- ›Changes the run command keyboard shortcut from
ctrl+ptoctrl+s.
└──▷ BREAKING ON UPGRADE- !The run command shortcut has changed from
ctrl+ptoctrl+s; muscle memory or documented workflows usingctrl+pto run commands will no longer work.
- ›Adds
- v0.0.407
GitHub Copilot CLI v0.0.407 adds
/on-airmode,--alt-screen,--resumewith UUID,/instructions, workspace-local MCP via.vscode/mcp.json, and atools.listRPC.└──▷ GET THIS VERSION$ git clone --branch v0.0.407 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.407
└──▷ USE ITConfigure workspace-local MCP servers so the project's agent tooling is checked in alongside the code.{ "servers": { "my-mcp-server": { "command": "npx", "args": ["my-mcp-package"] } } }- ›Adds
--alt-screenflag to enable experimental alternate screen buffer mode. - ›Adds
--resumeflag that creates new sessions with a provided UUID. - ›Adds workspace-local MCP server configuration via
.vscode/mcp.json. - ›Adds
tools.listRPC to query all available built-in tools at runtime. - ›Adds
/on-airmode to hide model names and quota details during streaming sessions.
+18 moreshow less
- ›Adds
/instructionscommand to view and toggle custom instruction files. - ›Adds Ctrl+P shortcut to run slash commands while preserving current input (replaces
Ctrl+X → /). - ›Remaps Ctrl+d to delete the character after the cursor; queuing is moved to Ctrl+q (or Ctrl+Enter).
- ›Adds Tab / Shift+Tab to cycle modes forward and backward, with shell now treated as a mode.
- ›Exposes session context in
session.listSDK response. - ›Adds live preview of diffs and markdown in the theme picker, plus colorblind and tritanopia theme variants.
- ›Adds an option to permanently approve tool permissions for a specific location.
- ›Adds agent type and description display in
read_agenttimeline entries. - ›Windows slash flags (e.g.,
dir /B) are no longer misidentified as file paths. - ›MCP servers using Microsoft OAuth now configure automatically without manual client ID setup.
- ›
/tasksshows Recent Activity for background agents. - ›Quota exceeded errors now link directly to Copilot settings with actionable guidance.
- ›Subagents fall back to the session model when the default model is blocked by policy.
- ›Streaming responses automatically retry when interrupted by server errors.
- ›Skill changes from
/skillscommands take effect immediately without restarting. - ›Ctrl+b and Ctrl+f cursor movement are now available on all platforms.
- ›Terminal title works on all TTY terminals.
- ›Autopilot mode now works with custom agents that specify explicit tools.
└──▷ BREAKING ON UPGRADE- !Ctrl+d no longer queues exit — queueing is moved to Ctrl+q (or Ctrl+Enter); Ctrl+d now deletes the character after the cursor.
- ›Adds
- v0.0.406
GitHub Copilot CLI v0.0.406 adds Claude Opus 4.6 Fast, a
/changelogcommand,--no-experimentalflag, and richer MCP tool support.└──▷ GET THIS VERSION$ git clone --branch v0.0.406 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.406
└──▷ TRY ITCheck which MCP tools are currently enabled or disabled without leaving the CLI.$ /mcp showAdd a third-party plugin directly from a URL via the plugin marketplace.$ gh copilot plugin marketplace add https://example.com/my-copilot-plugin- ›New
--no-experimentalflag disables all experimental features at invocation time. - ›New
/changelogcommand lets users view release notes directly from the CLI. - ›New
/mcp showcommand displays enabled/disabled status for MCP tools. - ›MCP tool responses now include structured content (images, resources) for richer UI display in VS Code.
- ›
plugin marketplace addnow accepts URLs as sources when adding plugins.
+4 moreshow less
- ›Commands from plugins are now translated into skills, expanding the skill surface automatically.
- ›Adds support for Claude Opus 4.6 Fast (Preview) as an available model.
- ›Markdown formatting now renders in non-interactive mode output.
- ›Displays a warning when the authenticated user has no Copilot subscription.
- ›New
- v0.0.405
GitHub Copilot CLI v0.0.405 adds
/experimentalhelp screen and uppercase support for plugin and marketplace names.└──▷ GET THIS VERSION$ git clone --branch v0.0.405 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.405
- ›Adds
/experimentalcommand that displays a help screen listing all available experimental features. - ›Plugins can now bundle LSP server configurations.
- ›Plugin and marketplace names now support uppercase letters.
- ›Adds
- v0.0.404
GitHub Copilot CLI v0.0.404 adds claude-opus-4.6 support,
/taskscommand, background agents for all users, andGITHUB_TOKENin agent shells.└──▷ GET THIS VERSION$ git clone --branch v0.0.404 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.404
└──▷ TRY ITCheck on long-running background tasks dispatched during a Copilot session.$ /tasks- ›Adds
GITHUB_TOKENenvironment variable access inside agent shell sessions. - ›Adds
/taskscommand to view and manage background tasks. - ›Adds support for the
claude-opus-4.6model. - ›MCP server configurations now default to all tools when the
toolsparameter is not specified. - ›
/allow-alland/yolonow execute immediately without an additional confirmation step.
+3 moreshow less
- ›Cancelling the
--resumesession picker now starts a new session instead of exiting. - ›Enables background agents for all users.
- ›MCP servers now shut down concurrently, improving exit performance.
- ›Adds
- v0.0.403
GitHub Copilot CLI v0.0.403 adds ACP model usage/enablement info, comma-separated tools in agent frontmatter, and reasoning summaries on by default.
└──▷ GET THIS VERSION$ git clone --branch v0.0.403 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.403
- ›ACP model info now includes usage multiplier and enablement status.
- ›Supports comma-separated tools in custom agent frontmatter.
- ›Reasoning summaries are enabled by default for supporting models.
- ›Skills with unknown frontmatter fields now load with warnings instead of being silently skipped.
- ›Config files preserve custom fields when the CLI updates them.
- v0.0.402
GitHub Copilot CLI v0.0.402 adds ACP agent/plan session modes, MCP-to-ACP config bridging, and plugin lifecycle hooks.
└──▷ GET THIS VERSION$ git clone --branch v0.0.402 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.402
- ›ACP server now supports agent and plan session modes.
- ›MCP configuration now applies to ACP mode, bridging existing MCP setups into ACP workflows.
- ›Plugins can now provide hooks for session lifecycle events.
- ›Plugin update command now works for direct plugins and handles Windows file locks.
- ›Custom agents with unknown fields now load with warnings instead of errors, improving forward compatibility.
+1 moreshow less
- ›Custom agents receive environment context when run as subagents.
- v0.0.401
GitHub Copilot CLI v0.0.401 adds
copilot login, agent lifecycle hooks,.agents/skillsauto-loading, and Claude-style MCP config support.└──▷ GET THIS VERSION$ git clone --branch v0.0.401 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.401
└──▷ TRY ITAuthenticate with GitHub Copilot from the terminal using the new login subcommand.$ copilot login- ›Adds
copilot loginsubcommand with ACP terminal-auth support for authenticating from the CLI. - ›Adds
agentStopandsubagentStophooks to control agent completion lifecycle. - ›Supports
.agents/skillsdirectory for auto-loading skills without manual registration. - ›Supports Claude-style
.mcp.jsonformat without amcpServerswrapper, broadening MCP config compatibility. - ›MCP tools returning
structuredContentnow display correctly in the CLI.
+2 moreshow less
- ›Adds
shift+enterkeybinding for inserting new lines in the VS Code integrated terminal. - ›
/diffdisplays accurate line numbers with a dual-column layout.
- ›Adds
- v0.0.400
GitHub Copilot CLI v0.0.400 adds autopilot mode, MCP server lifecycle management, a
/themecommand, and acopilot pluginsubcommand.└──▷ GET THIS VERSION$ git clone --branch v0.0.400 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.400
└──▷ TRY ITSwitch the terminal UI to a GitHub-branded theme interactively during a session.$ /themeConfigure a startup announcement shown to all users when the ACP server starts.launch_messages: - 'Welcome to Copilot CLI. Remember to review AI suggestions before applying.'
- ›Adds
copilot pluginsubcommand for non-interactive plugin management from the CLI. - ›Adds
/themecommand with GitHub Dark and Light theme options via a theme picker. - ›Adds
launch_messagesconfig key for configuring startup announcements. - ›ACP server now supports permission flags:
--yolo,--allow-all, and related permissions config. - ›CLI sends DELETE requests to remove MCP servers on shutdown, enabling clean MCP server lifecycle management.
+11 moreshow less
- ›Adds MCP server instructions support.
- ›Adds autopilot mode for autonomous task completion (experimental).
- ›ACP server supports changing models during a session.
- ›Adds fuzzy search to the model picker.
- ›Code Review tool handles large changesets by ignoring build artifacts and limiting to 100 files.
- ›Timeline displays user responses to
ask_usertool prompts with the username. - ›Improves compatibility with remote MCP servers that use OAuth.
- ›Diff mode file list uses carousel navigation, showing up to 5 files at a time.
- ›Adds support for UNIX keyboard bindings (Ctrl+A/
E/W/U/K, Alt+arrows) and multiline content in text inputs. - ›Ordered lists now display with numbers instead of dashes, and Markdown table headers display in bold.
- ›Shows a progress indicator in the terminal tab when the model is thinking.
└──▷ BREAKING ON UPGRADE- !Bundled LSP servers (TypeScript, Python) have been removed.
- ›Adds
- v0.0.399
GitHub Copilot CLI v0.0.399 adds
/allow-all,/yolo,/diff, and.claude/commands/single-file command support alongside AI-named sessions.└──▷ GET THIS VERSION$ git clone --branch v0.0.399 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.399
└──▷ TRY ITQuickly approve all permission prompts for an entire session without repeated confirmations — useful when running trusted, wide-ranging automation.$ /allow-allDrop a single Markdown file into.claude/commands/to expose a lightweight slash command without building a full skill.$ echo '# summarize\nSummarize the current diff in one paragraph.' > .claude/commands/summarize.mdInspect all file changes made during the current session before committing.$ /diff- ›Adds
/allow-alland/yoloslash commands to auto-approve all permissions for the duration of a session. - ›Supports
.claude/commands/single-file commands as a simpler alternative to skills. - ›Adds
/diffcommand to review session changes with visual indicators and scroll acceleration. - ›Adds Ctrl+X then
/keyboard shortcut to invoke slash commands without losing current input. - ›Extends
/usageto include token consumption from sub-agents (e.g., the general-purpose agent).
+5 moreshow less
- ›Adds double-Esc to undo/rewind to previous session states.
- ›Adds LSP (Language Server Protocol) tool for code intelligence (requires staff flag).
- ›Sessions now receive AI-generated names derived from the first message.
- ›Adds Copilot option in the agent creation wizard to auto-generate agent name, description, and instructions from an initial description.
- ›Skills remain effective after conversation history is compacted.
- ›Adds
- v0.0.398
GitHub Copilot CLI v0.0.398 adds middle-truncation for narrow terminal headers and cross-directory skill invocation.
└──▷ GET THIS VERSION$ git clone --branch v0.0.398 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.398
- ›Skills defined in parent directories are now invocable from subdirectories, and skill resolution works in non-git directories.
- ›CLI header now uses middle-truncation for long paths in narrow terminals, preserving the first and last folders for readability.
- v0.0.397
GitHub Copilot CLI v0.0.397 adds MCP server inspection,
--acpAgent Client Protocol flag, and directory @mention autocomplete.└──▷ GET THIS VERSION$ git clone --branch v0.0.397 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.397
└──▷ TRY ITInspect an MCP server's details and the tools it exposes before invoking them in a session.$ /mcp show <server-name>Start Copilot CLI as an Agent Client Protocol server so an external agent or orchestrator can connect to it programmatically.$ gh copilot --acp
- ›Adds
/mcp show <server-name>subcommand to display MCP server details and available tools. - ›Adds
--acpflag to start the CLI as an Agent Client Protocol server. - ›Directories now appear in @mention autocomplete for referencing paths inline.
- ›Content pasted into the prompt over 30 KB is automatically saved to workspace files.
- ›Adds
- v0.0.396
GitHub Copilot CLI v0.0.396 adds
copilot version,copilot update,/init,/experimental, andpreToolUsehook argument control.└──▷ GET THIS VERSION$ git clone --branch v0.0.396 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.396
└──▷ TRY ITKeep the Copilot CLI up to date without leaving the terminal.$ copilot updateInstall a community plugin directly from a GitHub repo to extend Copilot with custom agents or tools.$ /plugin install github.com/example-org/copilot-pluginBootstrap Copilot instructions for a new repository so Copilot understands project conventions from the start.$ /init- ›Adds
copilot versionandcopilot updatecommands for version inspection and self-updating from the CLI. - ›Adds
/experimentalcommand and--experimentalflag to opt into experimental features. - ›Adds
/initcommand to generate Copilot instructions for a project. - ›Adds
preToolUsehooks that can now deny tool execution and modify arguments before a tool runs. - ›Extends
/plugin installto support GitHub repos, URLs, and local paths as install sources.
+7 moreshow less
- ›Extends tool filtering flags to apply to subagents, not just top-level tool calls.
- ›Adds interactive CLI wizard for creating custom agents.
- ›Enables plugins to provide custom agents.
- ›Allows skill names to include uppercase letters.
- ›Adds Ctrl+E keybinding to move the cursor to end of line while typing without expanding the timeline.
- ›Extends
/skills addto work with directories that containSKILL.mddirectly. - ›Makes
/diffshow changes from the entire repository when run from a subdirectory.
- ›Adds
- v0.0.395
GitHub Copilot CLI v0.0.395 adds
/mcp showserver visibility, plugin skill execution, and line-specific/diffcommenting.└──▷ GET THIS VERSION$ git clone --branch v0.0.395 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.395
- ›Adds
/mcp showcommand to display all configured MCP servers, including defaults, servers from additional configuration, and servers from installed plugins. - ›Adds commenting to
/diffmode for line-specific feedback. - ›Plugin skills are now usable by the agent in sessions.
- ›Loads local shell configuration in agent sessions.
- ›Completed tool calls now display in prompt mode.
- ›Adds
- v0.0.394
GitHub Copilot CLI v0.0.394 adds GitHub Enterprise Cloud support, infinite SDK sessions, and new session-search and slash-command queuing shortcuts.
└──▷ GET THIS VERSION$ git clone --branch v0.0.394 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.394
└──▷ TRY ITResume a previous session quickly by searching session history by name instead of scrolling.$ /resume # then press / to filter sessions by keyword- ›Adds GitHub Enterprise Cloud (
*.ghe.com) support to the/delegatecommand. - ›The
/delegatecommand now accepts an optional prompt and uses conversation context when invoked. - ›Queue slash commands alongside messages using Ctrl+D.
- ›Press
/to search sessions inside/resume. - ›SDK supports infinite sessions with automatic context compaction.
+2 moreshow less
- ›Deduplicates identical model instruction files to save context window space.
- ›Git status now updates on-demand instead of polling every 15 seconds, reducing background overhead.
- ›Adds GitHub Enterprise Cloud (
- v0.0.393
GitHub Copilot CLI v0.0.393 adds GHE Cloud remote agents, MCP tool names in events, and Esc-Esc snapshot undo
└──▷ GET THIS VERSION$ git clone --branch v0.0.393 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.393
- ›Exposes MCP server and tool names in
tool.execution_startevents for improved error handling and observability. - ›Adds Esc-Esc keybinding to undo file changes back to any previous snapshot.
- ›Adds support for GHE Cloud (
*.ghe.com) remote custom agents. - ›Shows conversation compaction status as timeline messages instead of a header indicator.
- ›Exposes MCP server and tool names in
- v0.0.392
GitHub Copilot CLI v0.0.392 adds a
/pluginmarketplace command,/renamesession alias, and inline diff display.└──▷ GET THIS VERSION$ git clone --branch v0.0.392 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.392
- ›Adds
/plugincommand for plugin marketplace management. - ›Adds
/plugin updatesubcommand to update installed plugins. - ›Adds
/renamecommand as an alias for/session rename. - ›Edit tool now displays diffs when expanded in the timeline.
- ›Adds
- v0.0.389
GitHub Copilot CLI v0.0.389 adds OAuth 2.0 MCP auth,
/diffand/modelscommands, MSI installer, and parallel shell execution.└──▷ GET THIS VERSION$ git clone --branch v0.0.389 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.389
└──▷ TRY ITReview every file change the agent has made in the current session before committing or discarding them.$ /diff- ›Adds
/diffcommand to review all changes made during the current session. - ›Adds
/modelsas an alias for the existing/modelcommand. - ›Adds MSI installer for Windows, providing a native installation path alongside the npm package.
- ›MCP servers can now authenticate using OAuth 2.0 with automatic token management and refresh.
- ›Supports invoking skills using slash commands in the form
/skill-name.
+5 moreshow less
- ›Shell commands (
!) can now run in parallel while the agent is actively working. - ›Plugins can bundle MCP servers that load automatically when the plugin is installed.
- ›Removes the Node version requirement from the npm package.
- ›Displays progress messages from MCP tools inline in the session timeline.
- ›Messages sent during
/compactare automatically queued rather than dropped.
- ›Adds
- v0.0.388
GitHub Copilot CLI v0.0.388 adds a
/reviewcommand and expands--enable-all-github-mcp-toolsto read-write MCP tools.└──▷ GET THIS VERSION$ git clone --branch v0.0.388 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.388
└──▷ TRY ITEnable read-write GitHub MCP tools to allow Copilot to perform write operations on your behalf.$ gh copilot --enable-all-github-mcp-tools
- ›Adds
/reviewcommand to analyze code changes directly in the CLI. - ›The
--enable-all-github-mcp-toolsflag now enables read-write GitHub MCP tools, expanding beyond the previous read-only scope. - ›Redesigns the CLI header with a branded mascot and streamlined welcome message.
- ›Session event messages are now more concise and visually clean.
- ›
/share gistnow shows a helpful error message when used on GitHub Enterprise Cloud with data residency.
- ›Adds
- v0.0.387
GitHub Copilot CLI v0.0.387 adds interactive clarification, plan mode, and large-directory support
└──▷ GET THIS VERSION$ git clone --branch v0.0.387 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.387
- ›Adds
ask_usertool for interactive clarification questions during sessions - ›Adds plan mode with a dedicated panel for viewing implementation plans
- ›Skill tool now handles large directories without exceeding context limits
- ›Adds
- v0.0.385
GitHub Copilot CLI v0.0.385 adds infinite sessions via compaction checkpoints, MCP server management with
/agent, and combined custom instruction files.└──▷ GET THIS VERSION$ git clone --branch v0.0.385 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.385
- ›Enables infinite sessions with automatic long-running context management through compaction checkpoints.
- ›Adds MCP server management when swapping between custom agents with
/agent. - ›Combines all custom instruction files instead of using priority-based fallbacks.
- ›Adds Escape key to cancel a manual
/compactcommand. - ›Displays current intent in the terminal tab title.
+1 moreshow less
- ›Limits
store_memorytool inclusion to sessions where memory is enabled for the user.
- v0.0.384
GitHub Copilot CLI v0.0.384 adds background delegation,
/cdalias, extended thinking, cross-session memory, and proxy improvements.└──▷ GET THIS VERSION$ git clone --branch v0.0.384 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.384
└──▷ TRY ITDelegate a long-running task to run in the background without blocking your current session.$ & summarize all open pull requests and save the results to pr-summary.mdSwitch working directory using the new shorthand alias instead of/cwd.$ /cd ~/projects/my-repo- ›Adds
&prefix shortcut to delegate prompts to run in the background, equivalent to the existing/delegatecommand. - ›Adds
/cdas an alias for the/cwdcommand. - ›Enables extended thinking for Anthropic Claude models.
- ›Injects repo memories into the prompt and adds a memory storage tool to remember facts across sessions.
- ›Allows users to configure reasoning effort for GPT models.
+9 moreshow less
- ›Files created by the CLI are now available for @
-mention. - ›Supports proxy URLs without a scheme (e.g.,
localhost:9999). - ›Tab completion now cycles based on the typed prefix rather than the completed text.
- ›Selecting 'approve for session' now auto-approves pending parallel permission requests of the same type.
- ›Reasoning view setting persists across sessions.
- ›Custom agent discovery now follows symbolic links to agent definition files.
- ›MCP servers now start correctly for custom agents.
- ›Shell commands now display error output when they fail.
- ›Screen reader mode shows static text instead of animated spinners during login.
- ›Adds
- v0.0.381
GitHub Copilot CLI v0.0.381 adds
--allow-all/--yolopermission flags,/newalias, and prefix-filtered shell history navigation.└──▷ GET THIS VERSION$ git clone --branch v0.0.381 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.381
└──▷ TRY ITGrant all tool permissions in one shot when you trust the session and want to skip per-permission prompts.$ gh copilot suggest --allow-all 'set up a new node project with eslint'
- ›Adds
--allow-alland--yoloflags to enable all permissions at once without individual prompts. - ›Adds
/newas an alias for the/clearcommand in chat. - ›Shell mode history navigation now filters by prefix — typing a partial command like
!gitand pressing up arrow cycles only through matching previous commands.
- ›Adds
- v0.0.380
GitHub Copilot CLI v0.0.380 adds interactive
--agentmode, sub-agent abort propagation, large-file reads, and mid-thinking message queuing.└──▷ GET THIS VERSION$ git clone --branch v0.0.380 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.380
- ›The
--agentflag now works in interactive mode, enabling agent-driven workflows without leaving the interactive shell. - ›Allows reading files larger than 10 MB when the
view_rangeparameter is specified in the view tool. - ›Supports sending messages while Copilot is thinking, allowing users to steer the response or queue follow-up prompts.
- ›Adds custom agent tool aliasing for the task tool.
- ›Auto-compaction now runs in the background without blocking the conversation.
+3 moreshow less
- ›Inline feedback is provided when rejecting tool permission requests so agents can continue without halting on denied permissions.
- ›Large output hints now suggest appropriate tools for different content types, including JSON.
- ›The
web-fetchtool now rejectsfile://URLs and redirects users to the view tool instead.
- ›The
- v0.0.376
GitHub Copilot CLI v0.0.376 adds GraphQL ID session loading, image processing in task tool subagents, and disk-offloaded large tool outputs.
└──▷ GET THIS VERSION$ git clone --branch v0.0.376 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.376
- ›Enables loading remote sessions by GraphQL ID or via a session picker.
- ›Task tool subagents can now process images.
- ›Large tool outputs are written to disk and models are directed toward efficient search tools to handle them.
- v0.0.375
GitHub Copilot CLI v0.0.375 adds Ctrl+T reasoning toggle and
--share/--share-gistflags for session sharing└──▷ GET THIS VERSION$ git clone --branch v0.0.375 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.375
└──▷ TRY ITShare a Copilot CLI session as a Gist from a CI pipeline or non-interactive script.$ gh copilot suggest --share-gist 'Write a bash script to rotate AWS credentials'
- ›Adds
--shareand--share-gistflags for session sharing in non-interactive mode. - ›Adds Ctrl+T keyboard shortcut to toggle reasoning summaries for supported models.
- ›SVG files are now treated as text files instead of binary images, enabling them to be read and edited as source.
- ›Adds
- v0.0.374
GitHub Copilot CLI v0.0.374 adds auto-compaction, a
/compactcommand, built-in subagents, and aweb_fetchtool.└──▷ GET THIS VERSION$ git clone --branch v0.0.374 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.374
└──▷ TRY ITManually compact a long conversation context before hitting the token ceiling, preserving session continuity.$ /compact- ›Adds
/compactcommand to manually compact the conversation context. - ›Adds
web_fetchbuilt-in tool for fetching web content directly within a session. - ›Introduces auto-compaction that triggers automatically at 95% of the token limit to keep sessions alive.
- ›Introduces built-in subagents for exploring and managing tasks.
- ›Adds
- v0.0.373
GitHub Copilot CLI v0.0.373 adds tab completion for path arguments and enables Copilot Spaces tools in GitHub MCP Server.
└──▷ GET THIS VERSION$ git clone --branch v0.0.373 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.373
- ›Adds tab completion for path arguments in slash commands like
/cwdand/add-dir. - ›Enables Copilot Spaces tools in GitHub MCP Server.
- ›Device code authorization polling now begins immediately instead of waiting for clipboard and browser to open.
- ›GitHub URL resolution now works correctly for GHE (GitHub Enterprise) environments.
- ›Kill command filtering now correctly allows commands where 'kill' appears as an argument rather than a command name.
- ›Adds tab completion for path arguments in slash commands like
- v0.0.372
GitHub Copilot CLI v0.0.372 adds
/contexttoken usage,--resumefor remote sessions, and URL permission controls.└──▷ GET THIS VERSION$ git clone --branch v0.0.372 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.372
└──▷ TRY ITCheck how much of your context window is consumed before sending a large prompt.$ /context- ›Adds
/contextcommand to visualize token usage in the current session. - ›Adds
--resumeflag to continue remote sessions locally. - ›Adds URL permission controls affecting common shell commands that access the web.
- ›Enables disabled models directly in the CLI when selecting or specifying them.
- ›Adds
- v0.0.370
GitHub Copilot CLI v0.0.370 adds
--available-toolsand--excluded-toolsflags, STDIO MCP server type, and SHA256 checksum publishing.└──▷ GET THIS VERSION$ git clone --branch v0.0.370 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.370
- ›Adds
--available-toolsand--excluded-toolsCLI flags to filter which tools the model can use during a session. - ›Adds
STDIOas a synonymous type for Local when configuring MCP servers in the CLI configuration UI. - ›Publishes SHA256 checksums for CLI executables alongside each release.
- ›Diff display now uses your configured git pager (e.g.
delta,diff-so-fancy) instead of the default pager. - ›Loads CA certificates from system stores and environment variables, enabling use in corporate/proxy environments.
+4 moreshow less
- ›Improves
/modelerror messages to show which models are available and which are unavailable. - ›Model picker adopts a two-column layout with aligned multipliers and clearer visual indicators.
- ›Log levels now output all messages at the specified level and higher severity.
- ›Uses the platform-specific executable from npm install when available.
- ›Adds
- v0.0.363
GitHub Copilot CLI v0.0.363 adds three new models,
GITHUB_ASKPASSauth support, and MCP servers in--promptmode.└──▷ GET THIS VERSION$ git clone --branch v0.0.363 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.363
- ›Adds
GITHUB_ASKPASSenvironment variable support for non-interactive authentication flows. - ›Enables MCP servers to work in
--promptmode. - ›Adds Opus 4.5, GPT-4.1, and GPT-5-Mini as available models in GitHub Copilot CLI.
- ›Image data paste now prioritizes pasting the contents of image files instead of their file icons.
- ›Adds
- v0.0.362
GitHub Copilot CLI v0.0.362 adds clipboard image paste and removes shell commands from Bash/PowerShell history
└──▷ GET THIS VERSION$ git clone --branch v0.0.362 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.362
- ›Shell commands entered in the CLI are no longer written to Bash and PowerShell history files, preventing sensitive prompts from persisting in shell history.
- ›Paste image data directly from the clipboard into the CLI without saving to disk first.
- v0.0.359
GitHub Copilot CLI v0.0.359 adds
/sharecommand, image context via drag-and-drop, andUSE_BUILTIN_RIPGREPenv var.└──▷ GET THIS VERSION$ git clone --branch v0.0.359 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.359
└──▷ TRY ITSave the current session to a GitHub Gist for sharing with a teammate after an investigation.$ /share- ›Adds
USE_BUILTIN_RIPGREPenvironment variable to optionally use ripgrep fromPATHinstead of the bundled binary. - ›Adds
/sharecommand to save the current session as a markdown file or GitHub Gist. - ›Supports adding images to context via drag-and-drop or by pasting paths to image files.
- ›
copilot -pno longer interactively prompts for permission requests.
└──▷ BREAKING ON UPGRADE- !
copilot -pno longer interactively prompts for permission requests — scripts or workflows relying on that interactive prompt will behave differently after upgrade.
- ›Adds
- v0.0.356
GitHub Copilot CLI v0.0.356 adds GPT-5.1, GPT-5.1-Codex, and GPT-5.1-Codex-Mini model options.
└──▷ GET THIS VERSION$ git clone --branch v0.0.356 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.356
- ›Adds GPT-5.1, GPT-5.1-Codex, and GPT-5.1-Codex-Mini as available models in GitHub Copilot CLI (public preview).
- v0.0.355
GitHub Copilot CLI v0.0.355 bundles ripgrep with new
grepandglobtools and enhances/sessionoutput and self-help via/help.└──▷ GET THIS VERSION$ git clone --branch v0.0.355 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.355
- ›Adds
grepandglobtools backed by bundledripgrepfor faster codebase searching. - ›Enables the CLI agent to read its own
/helpand README to answer questions about its own capabilities. - ›Adds more detail and improved styling to the
/sessioncommand's output. - ›Improves parsing of VSCode-formatted custom agents using the
.agent.mdsuffix.
- ›Adds
- v0.0.354
GitHub Copilot CLI v0.0.354 adds
COPILOT_GITHUB_TOKENauth, MCP tool notifications, and Actions workspace auto-config.└──▷ GET THIS VERSION$ git clone --branch v0.0.354 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.354
└──▷ TRY ITAuthenticate Copilot CLI in a CI pipeline using a dedicated token instead of the general-purposeGH_TOKEN.$ COPILOT_GITHUB_TOKEN=${{ secrets.COPILOT_TOKEN }} gh copilot suggest -p 'write a bash script to archive logs older than 30 days'
- ›Adds
COPILOT_GITHUB_TOKENenvironment variable for authentication, taking precedence overGH_TOKEN. - ›Supports MCP server tool notifications.
- ›MCP servers running in GitHub Actions environments automatically use
GITHUB_WORKSPACEas the working directory. - ›Exits with a nonzero code when
-pmode fails due to LLM backend errors (auth failures, quota exhaustion, network issues), enabling reliable CI failure detection.
- ›Adds
- v0.0.353
GitHub Copilot CLI v0.0.353 adds custom agents and async task delegation via
/delegate.└──▷ GET THIS VERSION$ git clone --branch v0.0.353 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.353
└──▷ TRY ITInvoke a named custom agent noninteractively to run a scoped task without entering the interactive prompt.$ gh copilot suggest --agent security-reviewer 'Review this PR for injection vulnerabilities'
Hand off a long-running remediation task to Copilot in the background while you continue other work — Copilot opens a PR and completes the changes asynchronously.$ /delegate Fix all TODO comments in the authentication module- ›Adds
--agent <agent>flag (noninteractive) and/agentslash command (interactive) to explicitly invoke custom agents; agent definitions are loaded from~/.copilot/agents,.github/agentsin the current repo, or the organization's.githubrepository. - ›Adds
/delegateslash command to asynchronously hand off a task to the Copilot coding agent — unstaged changes are committed to a new branch, a PR is opened, and Copilot completes the work in the background.
- ›Adds
- v0.0.350
GitHub Copilot CLI v0.0.350 trims default MCP tool set for context efficiency and adds
--enable-all-github-mcp-toolsflag.└──▷ GET THIS VERSION$ git clone --branch v0.0.350 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.350
└──▷ TRY ITRe-enable the full GitHub MCP tool surface when your workflow depends on tools excluded from the new default set.$ gh copilot --enable-all-github-mcp-tools
- ›Adds
--enable-all-github-mcp-toolsflag to opt back into the full set of GitHub MCP server tools when needed. - ›Limits the default GitHub MCP server tool set to a curated subset — covering code/repo navigation (
get_file_contents,search_code,search_repositories,list_branches,list_commits,get_commit), issue management (get_issue,list_issues,get_issue_comments,search_issues), PR management (pull_request_read,list_pull_requests,search_pull_requests), workflow info (list_workflows,list_workflow_runs,get_workflow_run,get_job_logs,get_workflow_run_logs), and user search (user_search) — to conserve context window space.
- ›Adds
- v0.0.349
Copilot CLI gains parallel tool execution and temp directory access, both controllable via new flags.
└──▷ GET THIS VERSION$ git clone --branch v0.0.349 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.349
└──▷ TRY ITRun Copilot CLI in environments where parallel tool calls could cause unintended side effects and you want sequential, one-at-a-time confirmation.$ copilot --disable-parallel-tools-execution
Run Copilot CLI in a restricted environment where the model should not be able to read or write the system temp directory.$ copilot --disallow-temp-dir
- ›Adds
--disable-parallel-tools-executionflag to control the new parallel tool calling behavior, where the model can invoke multiple tools simultaneously (each requiring individual confirmation). - ›Adds
--disallow-temp-dirflag to control the new default behavior of granting the model access to the system temp directory. - ›Adds
/quitas an alias for/exit.
- ›Adds
- v0.0.348
GitHub Copilot CLI v0.0.348 streams output token-by-token, controllable with
--stream off└──▷ GET THIS VERSION$ git clone --branch v0.0.348 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.348
└──▷ TRY ITDisable token-by-token streaming when you need clean, non-incremental output — useful in scripts or CI pipelines.$ copilot --stream off
- ›Adds token-by-token streaming of Copilot's output, with
--stream offto disable it. - ›Reduces memory footprint when handling shell commands that produce very large outputs.
- ›Adds token-by-token streaming of Copilot's output, with
- v0.0.344
GitHub Copilot CLI v0.0.344 enables the GitHub MCP server in prompt mode and adds detached process execution in the bash tool.
└──▷ GET THIS VERSION$ git clone --branch v0.0.344 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.344
└──▷ TRY ITQuickly check which models are available for your Copilot CLI configuration without leaving the terminal.$ copilot help config- ›Adds list of supported models to
copilot help configoutput. - ›Enables the GitHub MCP server in prompt mode.
- ›Adds support in the bash tool for executing detached processes.
- ›Adds list of supported models to
- v0.0.343
GitHub Copilot CLI v0.0.343 adds
--additional-mcp-configfor per-session MCP server overrides and a new Claude Haiku 4.5 model.└──▷ GET THIS VERSION$ git clone --branch v0.0.343 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.343
└──▷ TRY ITTemporarily inject or override an MCP server for a single session without touching your permanent config — useful for testing a new tool or applying environment-specific overrides in CI.$ copilot --additional-mcp-config @base.json --additional-mcp-config @overrides.json
Quickly add an MCP server inline without creating a config file, ideal for one-off sessions.$ copilot --additional-mcp-config '{"mcpServers": {"my-tool": {"command": "my-tool-server", "args": []}}}'
- ›Adds
--additional-mcp-configflag to temporarily add or override MCP server configuration per session, accepting inline JSON (e.g.'{"mcpServers": {"my-tool": {...}}}') or a file path prefixed with@; the flag can be passed multiple times with later values overriding earlier ones. - ›Adds Claude Haiku 4.5 as a selectable model, accessible via the
/modelslash command. - ›Adds a prompt to run
/terminal-setupwhen needed to enable multi-line input. - ›Adds a shimmer effect to the 'Thinking...' indicator and allows cycling through slash commands from the bottom of the list back to the top.
- ›Adds
- v0.0.342
Copilot CLI v0.0.342 overhauled session logging, enables Kitty protocol multi-line input, and adds persistent log_level config.
└──▷ GET THIS VERSION$ git clone --branch v0.0.342 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.342
└──▷ USE ITPersist debug-level logging across all Copilot CLI sessions so you can diagnose model-access or policy errors without re-setting flags each time.log_level = debug
- ›Adds persistent
log_leveloption in~/.copilot/configto control debug log verbosity without per-session flags; supported values:none,error,warning,info,debug,all,default. - ›New session state stored in
~/.copilot/session-state; legacy sessions retained in~/.copilot/history-session-stateand migrated automatically when resumed viacopilot --resume. - ›Enables non-interactive GitHub Enterprise logins by honoring the
GH_HOSTenvironment variable in PAT andghauthentication modes. - ›Enables the Kitty keyboard protocol by default, unlocking multi-line input via Shift+Ctrl on supported terminals.
- ›Adds
/terminal-setupcommand to enable multi-line input in VS Code and its forks.
+2 moreshow less
- ›Adds
gradlewto the list of commands whose subcommands can be allow-listed. - ›New session logging format decouples session storage from timeline display, improving scalability for future features.
- ›Adds persistent
- v0.0.341
GitHub Copilot CLI v0.0.341 adds
/terminal-setupcommand and premium multipliers to/modellist.└──▷ GET THIS VERSION$ git clone --branch v0.0.341 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.341
- ›Adds
/terminal-setupcommand to configure multi-line input on terminals that do not implement the kitty protocol. - ›Adds each model's premium request multiplier to the
/modellist output (all currently supported models shown as 1x).
- ›Adds
- v0.0.340
GitHub Copilot CLI v0.0.340 adds
--allow-all-pathsflag, improved Windows support, and better API error debugging.└──▷ GET THIS VERSION$ git clone --branch v0.0.340 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.340
└──▷ TRY ITRun Copilot CLI in path-restricted mode while granting access to all paths upfront, skipping per-path approval prompts.$ copilot -p --allow-all-paths
Update an MCP server config to correctly reference an environment variable after the literal-value parsing change.{ "env": { "GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}" } }- ›Adds
--allow-all-pathsargument to approve access to all paths without per-path prompts in-pmode. - ›Adds a prompt to approve new paths when running in
-pmode, giving users explicit control over path access. - ›Improves debugging output by including the Copilot API request ID for model call errors and stack traces for client errors.
- ›Removes the 'Windows support is experimental' warning, reflecting significant Windows stability improvements.
└──▷ BREAKING ON UPGRADE- !MCP server
envvalues in~/.copilot/mcp-config.jsonare now treated as literal strings instead of environment variable references. Existing configs must prefix values with${...}(e.g. change"GITHUB_ACCESS_TOKEN": "GITHUB_TOKEN"to"GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}") to preserve the previous behavior of reading from the CLI environment.
- ›Adds
- v0.0.339
GitHub Copilot CLI v0.0.339 improves MCP server setup with full shell-style command input in
/mcp add└──▷ GET THIS VERSION$ git clone --branch v0.0.339 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.339
- ›The Command field in
/mcp addnow accepts a full shell-style command string to start an MCP server, replacing the previous comma-separated argument syntax.
- ›The Command field in
- v0.0.337
GitHub Copilot CLI v0.0.337 adds multi-line input for Kitty-protocol terminals and new cursor movement shortcuts.
└──▷ GET THIS VERSION$ git clone --branch v0.0.337 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.337
- ›Supports multi-line input in terminals that implement the Kitty keyboard protocol.
- ›Adds Ctrl+B and Ctrl+F keybindings for moving the cursor backward and forward in the input line.
- ›Adds validation for MCP server names.
- ›OAuth login UI now begins polling as soon as the device code is generated, improving reliability over SSH connections.
- v0.0.336
GitHub Copilot CLI v0.0.336 adds proxy support via
HTTP_PROXY/HTTPS_PROXYand a persistent screen-reader preference prompt.└──▷ GET THIS VERSION$ git clone --branch v0.0.336 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.336
- ›Enables proxy support via
HTTPS_PROXYandHTTP_PROXYenvironment variables regardless of Node version. - ›Adds a prompt for users who launch with
--screen-readerto persistently save the screen-reader preference. - ›Significantly reduces token consumption, round trips per problem, and time to result.
- ›Enables proxy support via
- v0.0.335
GitHub Copilot CLI v0.0.335 adds inline file diffs in the timeline and slash command argument hints.
└──▷ GET THIS VERSION$ git clone --branch v0.0.335 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.335
- ›Shows file diffs in the timeline by default, giving immediate visibility into file edits without requiring Ctrl+R.
- ›Displays argument hints inline in the slash command input box to guide command usage.
- ›Adds a warning when proxy support is used in an incompatible environment (Node <24 or required environment variables not set).
- ›Improves interface display in terminals narrower than 80 columns.
- ›Reduces color usage and improves spacing in Markdown rendering.
- v0.0.334
GitHub Copilot CLI v0.0.334 adds paste compaction and a context-limit warning to help manage long sessions.
└──▷ GET THIS VERSION$ git clone --branch v0.0.334 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.334
- ›Pasting more than 10 lines now displays a compact token (e.g.
[Paste #1 - 15 lines]) instead of flooding the terminal. - ›Adds a warning when conversation context reaches ≤20% of the model's remaining limit, prompting users to start a new session before truncation occurs.
- ›Adds the current version to startup logs to aid in bug reporting.
- ›Pasting more than 10 lines now displays a compact token (e.g.
- v0.0.333
GitHub Copilot CLI v0.0.333 adds image input, shell passthrough via
!,/usagestats, and--continuesession resumption.└──▷ GET THIS VERSION$ git clone --branch v0.0.333 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.333
└──▷ TRY ITCheck how many Premium requests and tokens you have consumed mid-session without waiting for session end.$ /usagePick up where you left off by resuming the most recently closed Copilot CLI session.$ copilot --continue
Run a shell command directly without sending it to the model — useful for quick one-offs inside a Copilot session.$ ! grep -r 'TODO' ./src
- ›Adds
--continueflag to resume the most recently closed session. - ›Adds
/usageslash command to report Premium request usage, session time, code changes, and per-model token use — also printed automatically at session end. - ›Adds
!prefix to bypass the model and execute shell commands directly from the Copilot CLI prompt. - ›Adds image input support via
@-mentionto attach image files as model input. - ›Improves
--screen-readermode by replacing icons in the session timeline with descriptive text labels.
- ›Adds
- v0.0.331
GitHub Copilot CLI v0.0.331 filters inaccessible models from
/modellist and adds a scrollbar to the@file picker.└──▷ GET THIS VERSION$ git clone --branch v0.0.331 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.331
- ›The
/modellist now filters out models the user cannot access (due to Copilot plan or geographic region), preventingmodel_not_supportederrors from appearing at runtime. - ›Adds a scrollbar to the
@file mentioning picker and increases the active buffer size to 10 items. - ›Up/down arrow keys now correctly navigate
/and@menu options while the agent is running.
- ›The
- v0.0.329
GitHub Copilot CLI v0.0.329 adds Claude Sonnet 4.5 as default, a
/modelcommand, and glob matching for shell tool rules.└──▷ GET THIS VERSION$ git clone --branch v0.0.329 https://github.com/github/copilot-cli.git # already have the repo? check out this version: $ git checkout v0.0.329
└──▷ TRY ITSwitch to a specific model mid-session without leaving the CLI.$ /model claude-sonnet-4-5Restrict the agent to only npm test variants while blocking all other shell commands, using glob syntax.$ copilot --allow-tool 'shell(npm run test:*)' --deny-tool 'shell(*)'
- ›Adds
/modelslash command to switch models interactively (/modelopens a picker;/model <model>sets the model directly). - ›Adds glob matching to
--allow-tooland--deny-toolshell rules, e.g. shell(npm run test:*) matches any shell command beginning withnpm run test. - ›Adds Claude Sonnet 4.5 support and makes it the default model.
- ›Displays the currently selected model above the input text box.
- ›Improves
copilot --resumeinterface with relative time display and session message count.
+2 moreshow less
- ›Changes Ctrl+r to expand only recent timeline items; Ctrl+e then expands all.
- ›Limits the input text box to 10 scrollable lines so long prompts no longer fill the screen.
- ›Adds