Releases: github/copilot-cli
Releases · github/copilot-cli
Release list
1.0.69-2
Added
- Show /rubber-duck in pre-auth help and self-documentation
Improved
- Sign in to MCP servers through the CLI OAuth callback flow
- Reveal the full /user switch picker when the timeline is full so its hint bar is no longer clipped below the terminal
Fixed
- Include files inside new untracked directories in /diff local edits
- A prompt taller than the screen stays scrollable when its top scrolls off, instead of collapsing to a pinned header
- Require Copilot login before ACP authenticate returns success
- Show the full assistant response in prompt mode when --stream is off
- Disconnect a repo-scoped plugin's MCP server when the repo disables it or the session leaves the declaring repository
- Prevent
copilot initfrom hanging in non-interactive mode - Reject empty --session-id= values instead of ignoring them
- Reject empty --resume= values instead of starting a new session
- Preserve emoji in truncated timeline tool arguments
- Show plain Shift+Enter in /terminal-setup output
- Keep session resume working when token timing includes fractional milliseconds
- Complete @-mentions for files whose names start with [DIR]
1.0.69-1
Added
- Add /mcp list to show attached MCP servers and their status, and allow /mcp list and /plugin list to run while the agent is working
- Allow opening the /mcp manager while the agent is working to enable or disable servers mid-turn; add, edit, delete, and re-auth stay paused until the turn finishes
- Add auto allow-all mode that auto-approves requests an LLM judge evaluates as acceptable
- Add a
stayInAutopilotsetting (default false) that keeps the CLI in autopilot mode after an autopilot task completes
Improved
- Browse and filter models more easily in the CLI model picker
- Resume sessions faster by removing quadratic work when rebuilding the timeline
- Warn when static context uses most of the prompt budget and block requests when little conversation room remains
- Improve CLI responsiveness when reading and writing session databases
- Improve slash-command and theme picker option descriptions
Fixed
- Pinned prompts keep their full frame aligned while scrolling
- Suppress macOS pasteboard stderr during clipboard reads and writes
- Keep colons intact in rendered markdown output
- Warn when multiple plugins define the same MCP server
- Collect debug logs without truncating large files or dropping multiline secrets
- Find PRs from worktree branches when the local branch name differs from the PR head ref
- Skip the autopilot permission prompt when bypass mode is disabled by policy
- Allow WSL UNC paths for local files in the CLI
- Apply --reasoning-effort reliably when the CLI starts
- Keep slash-command picker rows intact in tab-expanding terminals
- Keep model switches working when tool call IDs include punctuation
- Double-press Esc now interrupts the running main turn (flushing queued messages), or stops background agents when the main agent is idle
- Prevent benign Windows crash reports when the CLI exits
- Wrap clipboard writes in tmux passthrough so copy reaches the outer terminal
- OAuth-gated MCP servers now register their tools after reconnect
- Keep CLI authentication working in one-shot sessions
- Ctrl+C dismisses ask_user and elicitation prompts like Escape
- Show Authenticate for cancelled MCP OAuth requests
- Keep /help from listing rewind/undo twice
- Keep MCP servers in needs-auth after OAuth cancellation
- Hide staff-only commands from pre-auth help and self-documentation
- Surface skill loading errors and warnings in
skill list
Removed
- Remove inert sandbox host lists and the Clear policy on exit toggle
1.0.69-0
Added
- Add file and folder completion to /sandbox path entries
Fixed
- Update a backgrounded session's branch label in the Sessions split view when its working directory changes
- Skip unnecessary MCP reloads when returning to an already-loaded session
- Prevent the tgrep indexer from running out of memory on large monorepos, and fall back to ripgrep if the indexer is killed instead of repeatedly restarting it
1.0.68
2026-07-01
- Add support for the kimi-k2.7-code model
- The focused field in the /mcp config form is marked with a "❯ " chevron, not color alone
- Keep IDE tools available during transient IDE disconnects, returning a clear error while disconnected and recovering automatically when the IDE reconnects
- Tab completion shows slash command aliases inline (e.g. /pr automerge|agentmerge)
- Stop hooks from erroring and denying every tool when a session's working directory or git worktree has been deleted
- Keep the footer model status in sync when reasoning effort or context tier changes
- Avoid duplicate skill and command parse errors from symlinked scan roots
- Update the Sessions sidebar branch after /cd and /worktree
- Find agents and instructions under Win32 extended-length paths on Windows
- Show descriptions for slash-command input choices
- Prevent terminal corruption when copying selected timeline text on macOS
- Fold symlinked sandbox paths into a single row
- Browse, resume, and switch between sessions from the agents screen
- Code review retries transient git failures when gathering changes
- Skip malformed plugin manifests and keep loading valid plugins
- Show plan budget details in the statusline and /usage for supported plans
- Render Thai and Devanagari text correctly in clipped output
- Keep file edits and patches within the sandbox filesystem policy
- Preserve wrapped OSC 8 hyperlink IDs in terminal output
- Let device-managed settings override server-managed settings
- Keep embedded /skill tokens in skill prompt context
- Let git commands work from repo subdirectories in the sandbox
- PowerShell variable references no longer trigger content-policy refusals
- Tell the agent when the working directory changes between turns so it uses the new directory for commands and relative paths
- Default to a steady vertical-bar cursor in interactive sessions
- Disable cursor blinking at startup without changing cursor shape
- Reject sandbox path edits that conflict with symlinks in other lists
- Keep the status line visible when the slash-command picker opens
- Custom agents keep their tool filters in nested subagents
- Preserve multibyte characters (emoji, accents, non-Latin text) in the /diagnose session log excerpt
1.0.67
2026-06-30
- Disabling the sandbox for the rest of the session now takes effect immediately, so shell and search commands stop re-prompting to bypass it mid-turn
- Subagent sessions keep parent tool restrictions
- Show warnings and errors when host custom agents fail to load
- Require session limits to be at least 30 AI credits
- Add Claude Sonnet 5 as a supported model
- Allow tool calls to continue when hooks time out
- Ctrl+Q now enqueues the highlighted slash-command argument completion
- MCP OAuth against Microsoft Entra servers behind a tenant vanity domain (e.g. Copilot Studio) no longer fails to refresh or re-authenticate (AADSTS9010010 / AADSTS90023)
- Prompt mode exit summary shows a resume hint to continue the session
1.0.66
2026-06-30
- Use a non-blinking block cursor during interactive sessions, restoring your terminal's default cursor on exit
- Add support for Claude Opus 4.8 Fast and deprecate Claude Opus 4.6 Fast
- MCP add/edit form accepts HTTP-style
Key: valueheaders - Keep LSP servers from starting twice during startup
- Avoid blocking commands that contain Windows-style path fragments
- Let Copilot read output from and stop detached background shell commands
- Large output handling now respects custom output directories and a disable setting
- Prevent PR description generation from crashing on empty assistant responses
- Render the timeline as a compact "highlight reel" with single-line tool and reasoning rows for all users
- Add @ file and # GitHub ref completions in relay sessions
- Show the correct session age when filesystem birthtime is missing
- Prevent duplicate final assistant messages for GPT models
- Terminal title updates work in more terminals
- Show a (sandboxed) badge on compact Search timeline entries
- Git commands work in sandboxed linked worktrees
- Show the current pull request link as a status-line item
- Show quota snapshots for WebSocket Responses requests
- Show accurate Anthropic reasoning token counts
- Let grep and glob retry blocked searches after sandbox approval
- Format terminal titles with the session title and GitHub Copilot suffix
- Skip synchronized output under tmux to avoid mouse pointer flicker
- Session limits now apply across the current conversation, reset on /clear, and use the sessionLimits option key.
- Hide excluded built-in agents from agent selection
- BYOK sessions using Anthropic models no longer hit HTTP 400 errors from adaptive-thinking mismatches — neither from injecting adaptive thinking on models that don't support it, nor from sending standard thinking to models that require adaptive. Thinking-mode selection for dual-mode models is unchanged.
- Allow skills with the same name from different plugins to coexist
- Let integrations read and write CLI user settings
- View LSP server logs in /lsp logs and read_agent
- Prompt to install gh CLI when it is missing in GitHub repositories
- Add GitHub attachment variants to prompt rendering
- Extension toggles preserve the selected mode
- Return to the prompt after cancelling attached shell commands
- Keep background git status checks from disrupting concurrent git commands
- Recover corrupted session history on load
- Preserve newlines in /after and /every scheduled prompts
- Keep multi-line /worktree tasks intact when starting them
- Make /cd path completion keep Enter, Escape, and Tab behavior in sync
- Keep session-store searches and context lookups responsive
- Show desktop notifications on macOS from the CLI
- Paste WSL images when Windows env vars are unavailable
- Keep selection on the adjacent task after removing one
- read_agent since_turn: 0 now correctly returns all turns including turn 0
- Filter non-JSON stdout lines from MCP servers during startup
- Perform tokenizer warmup in parallel on a background thread for better startup performance
- Show submit times next to user prompts in the timeline
- Improve /share to manage synced session visibility
- Expand @-style imports in AGENTS.md, CLAUDE.md, and Copilot instruction files
- Make /pr auto keep working through CI, review, and merge queue
- Clicking to expand a compact timeline entry holds it in place and reveals its content downward
- Configure subagent concurrency and depth limits in /settings (usage-based billing users)
- Add
/chronicle skills reviewfor reviewing proposed draft skill changes, with options to accept, reject, or defer each draft - Add desktop notifications for attention prompts and idle sessions
- Make /share use Mission Control links for session sharing
- Snapshot creation retries transient HEAD lookup failures instead of crashing
- Keep
/chronicle reindexresponsive and show progress in the timeline - Return to the last open GitHub issue, pull request, or gist view when switching tabs
- Resolve package argument placeholders when installing MCP registry entries
- Keep queued messages from getting stuck behind background work
- Retry managed settings fetch after transient connection-pool errors
- Stop showing broken-pipe errors when a sandboxed MCP server exits mid-request
- Properly recover MCP host-delegated connections when OAuth tokens expire or need broader scopes
- CLI git checks skip optional locks so status and branch lookups keep working in busy repositories
- Collapse multi-line sub-items into one inline line in compact timeline rows
- Inline hook settings now handle nested Claude-style hook groups correctly
- Keep the CLI responsive during secret filtering
- Search inputs match queries that have leading or trailing whitespace
- Keep idle agents available after you cancel a turn
- Show sandbox-bypass warnings and label bypassed commands
- /pr auto now starts a self-paced loop that fixes one thing per run and paces itself around CI to drive the PR to green; /pr automerge keeps going until the PR is merged. Manage or stop it from /loop or /every.
- Enable /rename in remote-hosted (cloud and relay) sessions
- Add toggle to enable or disable MCP servers in the CLI from MCP list view
- Add experimental response limits controls to CLI settings
- Let managed settings configure OpenTelemetry export
- MCP tools on OAuth-authenticated remote servers now recover automatically after a mid-session token expiry, matching the existing OIDC retry behaviour. A 401 during a tool call triggers a non-interactive reconnect, and servers needing interactive re-auth are retried at the start of the next turn.
- Add persisted dynamicRetrieval setting (and --dynamic-retrieval skills=<on|off> flag) to enable or disable embeddings-based retrieval of skills
- Let custom agents set reasoning effort in their definitions
- Pass a task to /worktree (e.g. 'fix the login redirect') to name the branch for that task and run the sentence as the first prompt in the new worktree
- Added runtime telemetry for the MCP host token-injection OAuth flow, recording when an OAuth broadcast is emitted to the host and how the host responds (token or cancelled) with response latency
- Show merge status for each pull request in the Pull requests tab, and refresh the cached statuses on demand by pressing r
- Fix a soft hang where the CLI stopped responding to input if a startup prompt (folder trust, screen reader, or Copilot free signup) opened while a non-Main home tab was focused
- Guide the agent to format cross-repository issue/PR references as owner/repo#number (reserving bare #number for the current repo) so they don't mislink to the current repository
- Keep /restart working when shutdown teardown takes too long
- Copy text to the clipboard on WSL when cmd.exe is not on PATH
- COPILOT_HOME and --config-dir stop loading skills from ~/.agents/skills
- Keep per-extension disabled selections when switching extension mode in /extensions
- Copying wrapped text from the scroll view keeps spacing correct
- Voice mode turns itself off when the engine fails to start at boot
- Quit cleanly with Ctrl+D during startup before authentication completes
- Keep framed user messages from clipping trailing characters at the right edge
- Inline images stop writing to the shell after exit
- Display descriptions for slash command subcommands
- Refresh MCP server headers automatically after authentication changes
- LSP commands and tools resolve project configs and server paths more reliably
- Add --allow-all-mcp-server-instructions to optionally include instructions from all MCP servers in system prompts
- Auto-accept opt-in MCP consent prompts in --yolo sessions while still showing system permission prompts
- Use the full terminal height in full-screen views
- Use clearer icons for shell and search timeline entries
- Match the terminal text color to the GitHub theme canvas
- Show the active agent mode in the working footer text
- /worktree keeps a valid branch name exactly as typed, e.g. feature/JIRA-123, instead of flattening it to a slug like feature-jira-123
- With no argument, /worktree names the branch from your uncommitted changes and recent conversation using your active model instead of a fixed small one
- Consolidate color palette settings under /settings theme
- Store CLI settings and session state more reliably
1.0.66-2
Added
- Allow skills with the same name from different plugins to coexist
- Let integrations read and write CLI user settings
- View LSP server logs in /lsp logs and read_agent
- Prompt to install gh CLI when it is missing in GitHub repositories
- Add GitHub attachment variants to prompt rendering
Improved
- Perform tokenizer warmup in parallel on a background thread for better startup performance
- Show submit times next to user prompts in the timeline
- Improve /share to manage synced session visibility
- Expand @-style imports in AGENTS.md, CLAUDE.md, and Copilot instruction files
- Make /pr auto keep working through CI, review, and merge queue
- Clicking to expand a compact timeline entry holds it in place and reveals its content downward
Fixed
- Extension toggles preserve the selected mode
- Return to the prompt after cancelling attached shell commands
- Keep background git status checks from disrupting concurrent git commands
- Recover corrupted session history on load
- Preserve newlines in /after and /every scheduled prompts
- Keep multi-line /worktree tasks intact when starting them
- Make /cd path completion keep Enter, Escape, and Tab behavior in sync
- Keep session-store searches and context lookups responsive
- Show desktop notifications on macOS from the CLI
- Paste WSL images when Windows env vars are unavailable
- Keep selection on the adjacent task after removing one
- read_agent since_turn: 0 now correctly returns all turns including turn 0
- Filter non-JSON stdout lines from MCP servers during startup
1.0.66-1
Added
- Configure subagent concurrency and depth limits in /settings (usage-based billing users)
- Add
/chronicle skills reviewfor reviewing proposed draft skill changes, with options to accept, reject, or defer each draft - Add desktop notifications for attention prompts and idle sessions
- Make /share use Mission Control links for session sharing
Improved
- Search inputs match queries that have leading or trailing whitespace
- Keep idle agents available after you cancel a turn
- Show sandbox-bypass warnings and label bypassed commands
- /pr auto now starts a self-paced loop that fixes one thing per run and paces itself around CI to drive the PR to green; /pr automerge keeps going until the PR is merged. Manage or stop it from /loop or /every.
- Enable /rename in remote-hosted (cloud and relay) sessions
Fixed
- Snapshot creation retries transient HEAD lookup failures instead of crashing
- Keep
/chronicle reindexresponsive and show progress in the timeline - Return to the last open GitHub issue, pull request, or gist view when switching tabs
- Resolve package argument placeholders when installing MCP registry entries
- Keep queued messages from getting stuck behind background work
- Retry managed settings fetch after transient connection-pool errors
- Stop showing broken-pipe errors when a sandboxed MCP server exits mid-request
- Properly recover MCP host-delegated connections when OAuth tokens expire or need broader scopes
- CLI git checks skip optional locks so status and branch lookups keep working in busy repositories
- Collapse multi-line sub-items into one inline line in compact timeline rows
- Inline hook settings now handle nested Claude-style hook groups correctly
- Keep the CLI responsive during secret filtering
1.0.66-0
Added
- Add toggle to enable or disable MCP servers in the CLI from MCP list view
- Add experimental response budget controls to CLI settings
- Let managed settings configure OpenTelemetry export
- MCP tools on OAuth-authenticated remote servers now recover automatically after a mid-session token expiry, matching the existing OIDC retry behaviour. A 401 during a tool call triggers a non-interactive reconnect, and servers needing interactive re-auth are retried at the start of the next turn.
- Add persisted dynamicRetrieval setting (and --dynamic-retrieval skills=<on|off> flag) to enable or disable embeddings-based retrieval of skills
- Let custom agents set reasoning effort in their definitions
- Pass a task to /worktree (e.g. 'fix the login redirect') to name the branch for that task and run the sentence as the first prompt in the new worktree
- Added runtime telemetry for the MCP host token-injection OAuth flow, recording when an OAuth broadcast is emitted to the host and how the host responds (token or cancelled) with response latency
- Show merge status for each pull request in the Pull requests tab, and refresh the cached statuses on demand by pressing r
Improved
- Display descriptions for slash command subcommands
- Refresh MCP server headers automatically after authentication changes
- LSP commands and tools resolve project configs and server paths more reliably
- Add --allow-all-mcp-server-instructions to optionally include instructions from all MCP servers in system prompts
- Auto-accept opt-in MCP consent prompts in --yolo sessions while still showing system permission prompts
- Use the full terminal height in full-screen views
- Use clearer icons for shell and search timeline entries
- Match the terminal text color to the GitHub theme canvas
- Show the active agent mode in the working footer text
- /worktree keeps a valid branch name exactly as typed, e.g. feature/JIRA-123, instead of flattening it to a slug like feature-jira-123
- With no argument, /worktree names the branch from your uncommitted changes and recent conversation using your active model instead of a fixed small one
- Consolidate color palette settings under /settings theme
- Store CLI settings and session state more reliably
Fixed
- Fix a soft hang where the CLI stopped responding to input if a startup prompt (folder trust, screen reader, or Copilot free signup) opened while a non-Main home tab was focused
- Guide the agent to format cross-repository issue/PR references as owner/repo#number (reserving bare #number for the current repo) so they don't mislink to the current repository
- Keep /restart working when shutdown teardown takes too long
- Copy text to the clipboard on WSL when cmd.exe is not on PATH
- COPILOT_HOME and --config-dir stop loading skills from ~/.agents/skills
- Keep per-extension disabled selections when switching extension mode in /extensions
- Copying wrapped text from the scroll view keeps spacing correct
- Voice mode turns itself off when the engine fails to start at boot
- Quit cleanly with Ctrl+D during startup before authentication completes
- Keep framed user messages from clipping trailing characters at the right edge
- Inline images stop writing to the shell after exit
1.0.65
2026-06-24
- /cd now persists the working directory so resuming a session returns to it, and discovers custom agents in the new directory
- Commands with slash-prefixed string arguments (e.g. --body "/azp run") no longer trigger spurious filesystem permission prompts
- Fullscreen timeline stays anchored when older content is trimmed
- Resume open canvases automatically after restarting the CLI
- Add an opt-in status bar item showing CI check status (passing/running/failing) for the current branch
- Add a
copilot skillsubcommand (and a/skillalias for/skills) to list, add, and remove skills from a file, URL, or directory - Prevent the GitHub background from flashing on startup with non-GitHub themes
- Prevent brief console windows from flashing on Windows when the agent runs hook commands or resolves command paths
- Include userPromptSubmitted hook additionalContext in the model-facing prompt
- Keep Windows paths intact when adding stdio MCP servers
- Stop MCP shutdown from waiting on in-flight server connects
- Restart the CLI without shutdown timeouts
- Remove syntax highlighting from shell commands in the timeline
- Keep custom-agent subagent model selections when using BYOK providers
- Parse /every schedules on the session's main model
- Render inline images reliably in tmux
- The ask_user freeform option wraps text and keeps the cursor aligned
- Save custom status line commands in /settings
- Show the streaming byte count separately from the cancel hint
- Handle wakeup misfires with a graceful message when no self-paced schedule is active
- Silent MCP OAuth refresh reuses the granted scope so reconnects stay signed in
- Up/down history and Ctrl+R reverse search now include past shell commands while in normal mode, so you can recall and re-run a shell command without first typing ! to enter shell mode