Releases: github/copilot-cli
Releases · github/copilot-cli
1.0.62
2026-06-13
- Ask and elicitation dialogs now scroll together with the timeline instead of taking over the screen, so a tall dialog no longer hides the agent's output — scroll up to read earlier output, then back down to the dialog
- Keep blank lines between reasoning summary sections
- Show user-typed colon terms in the search chip
- Plugins can now ship extensions, making them installable via the plugin marketplace
- Add content search, match highlighting, and n/N navigation in diff view
- Add /app slash command to open the GitHub app or a browser fallback
- Configure subagent model, reasoning effort, and context tier via user settings or the /subagents (also /agents) picker
- PowerShell redirect paths no longer trigger content-exclusion refusals
- WebSocket transport closes cleanly outside the Tokio runtime
- Shell tool errors now explain when a shell ID was stopped, completed, or reclaimed
- Voice runtime download dialog no longer reopens in a loop after an install failure
- Make the MCP server config form easier to use with a picker-based flow
- Show 'YOLO' (allow all) indicator in the footer and add allow-all state to custom statusLine.command
- Press
/on the Issues or Pull Requests tab to search GitHub with server-side filtering - Add session-scoped extensions and canvases
- Allow SDK clients to configure session memory through session.create and session.resume
- Automatically authenticate through corporate forward proxies using Kerberos/Negotiate (SPNEGO)
- Add file tree sidebar and inline comment editor to the /diff view
- Honor max_output_tokens for BYOK Responses providers
- MCP server names with dots and slashes map to valid Responses API namespaces
- Editor commands like
code-insiders --waitlaunch correctly on Windows - Load skills from symlinked directories outside the configured root
- Recover gracefully from oversized inline images instead of failing the turn
- An image attachment rejected because vision is disabled by policy or unsupported by the current model no longer poisons the rest of the session. The image is stripped from conversation history after the 400 so subsequent prompts succeed.
- Shells promoted to background from /tasks keep running after the turn ends
- Hide internal disabled tool messages from background helper agents
- Sandbox tool loads correctly when mxc-sdk is provided by the host environment
- Custom agents in nested .github/agents and .claude/agents directories are now discovered when the session is started from a subdirectory of the repository root
- Approving a tool permission prompt no longer causes a second prompt for the same tool call
- View tool prompts now correctly state the 20KB truncation limit instead of 50KB
- Keep workspace MCP servers from restarting in a loop
- Keep custom agents on their configured model when using BYOK providers
- Recover from temporary content policy errors without restarting the session
- Autopilot continues cleanly in relay sessions and /plan shows the short prompt
- Git commands no longer flash a console window on Windows
- Claude-format plugin
preToolUseandpermissionRequesthooks now fire correctly for tool matchers likeBash,Read, and*, and Claude-format hook payloads carry the Claude tool name (Bashrather thanbash) - Terminal colors update live when the active theme changes mid-session
- Streamed assistant text no longer intermittently duplicates in the timeline
- grep skips missing search paths and continues with valid results instead of failing
- Remote MCP OAuth servers start only once per matching config instead of restarting for each subagent
- Nested subagents respect concurrency limits without blocking terminal input
- Plugin install works when the marketplace ref is a fully-qualified tag (e.g. refs/tags/v2.1.0)
- Press W to create a worktree from the expanded issue or pull request details view
- /every and /after can now schedule slash commands (e.g. /every 1d /chronicle standup)
- Model picker opens to the tab containing the currently selected model
- Shell commands run via lightweight process spawning instead of a pseudo-terminal; interactive input via write_bash is no longer supported
- Improve color contrast in GitHub themes to meet WCAG AA accessibility standards
- Show descriptions for ACP session config options
- Speed up branch and HEAD detection in warm sessions
- Light theme secondary background color is now rendered correctly
1.0.62-2
Added
- Plugins can now ship extensions, making them installable via the plugin marketplace
- Add content search, match highlighting, and n/N navigation in diff view
- Add /app slash command to open the GitHub app or a browser fallback
- Configure subagent model, reasoning effort, and context tier via user settings or the /subagents (also /agents) picker
Improved
- Make the MCP server config form easier to use with a picker-based flow
Fixed
- PowerShell redirect paths no longer trigger content-exclusion refusals
- WebSocket transport closes cleanly outside the Tokio runtime
- Shell tool errors now explain when a shell ID was stopped, completed, or reclaimed
- Voice runtime download dialog no longer reopens in a loop after an install failure
1.0.62-1
Added
- Show 'YOLO' (allow all) indicator in the footer and add allow-all state to custom statusLine.command
- Press
/on the Issues or Pull Requests tab to search GitHub with server-side filtering - Add session-scoped extensions and canvases
- Allow SDK clients to configure session memory through session.create and session.resume
- Automatically authenticate through corporate forward proxies using Kerberos/Negotiate (SPNEGO)
- Add file tree sidebar and inline comment editor to the /diff view
Improved
- Press W to create a worktree from the expanded issue or pull request details view
- /every and /after can now schedule slash commands (e.g. /every 1d /chronicle standup)
- Model picker opens to the tab containing the currently selected model
- Shell commands run via lightweight process spawning instead of a pseudo-terminal; interactive input via write_bash is no longer supported
- Improve color contrast in GitHub themes to meet WCAG AA accessibility standards
- Show descriptions for ACP session config options
- Speed up branch and HEAD detection in warm sessions
- Light theme secondary background color is now rendered correctly
Fixed
- Honor max_output_tokens for BYOK Responses providers
- MCP server names with dots and slashes map to valid Responses API namespaces
- Editor commands like
code-insiders --waitlaunch correctly on Windows - Load skills from symlinked directories outside the configured root
- Recover gracefully from oversized inline images instead of failing the turn
- An image attachment rejected because vision is disabled by policy or unsupported by the current model no longer poisons the rest of the session. The image is stripped from conversation history after the 400 so subsequent prompts succeed.
- Shells promoted to background from /tasks keep running after the turn ends
- Hide internal disabled tool messages from background helper agents
- Sandbox tool loads correctly when mxc-sdk is provided by the host environment
- Custom agents in nested .github/agents and .claude/agents directories are now discovered when the session is started from a subdirectory of the repository root
- Approving a tool permission prompt no longer causes a second prompt for the same tool call
- View tool prompts now correctly state the 20KB truncation limit instead of 50KB
- Keep workspace MCP servers from restarting in a loop
- Keep custom agents on their configured model when using BYOK providers
- Recover from temporary content policy errors without restarting the session
- Autopilot continues cleanly in relay sessions and /plan shows the short prompt
- Git commands no longer flash a console window on Windows
- Claude-format plugin
preToolUseandpermissionRequesthooks now fire correctly for tool matchers likeBash,Read, and*, and Claude-format hook payloads carry the Claude tool name (Bashrather thanbash) - Terminal colors update live when the active theme changes mid-session
- Streamed assistant text no longer intermittently duplicates in the timeline
- grep skips missing search paths and continues with valid results instead of failing
- Remote MCP OAuth servers start only once per matching config instead of restarting for each subagent
- Nested subagents respect concurrency limits without blocking terminal input
- Plugin install works when the marketplace ref is a fully-qualified tag (e.g. refs/tags/v2.1.0)
1.0.61
2026-06-09
- Polish /agents picker and Create New Agent wizard with consistent borders, headers, and styled inputs
- Fixed a bug where resuming a session could leave the screen blank
- Add /settings interactive dialog to browse and edit all user settings in one place
- Resuming a local session with memory disabled no longer crashes the UI to a blank screen
- /after and /every commands now appear in the /experimental slash command list
- Auto-load MCP servers from .github/mcp.json workspace config file
- /env output hides internal hooks and shows full file paths for hook sources
- Prevent crashes from malformed UTF-8, oversized string buffers, and terminal disconnect errors
- Add support for Claude Fable 5 model
- Gemini models work correctly with MCP tools that use nullable schema types
- Number-key selection in pickers (e.g. /agent) works for items 10 and beyond
- GitHub issue and PR references inside existing links no longer create broken nested autolinks
- Bash tool correctly handles multi-byte UTF-8 characters (em dash, curly quotes, etc.) in command input
- Symlinked directories now appear in @-file picker suggestions
- MCP OAuth re-authentication correctly uses the saved OAuth client ID for remote servers
- Pasted images no longer leak into the main prompt after a permission dialog closes
- Press '/' in the /agent picker to filter agents by name
- Configure home tab bar visibility, order, and hidden tabs via the
tabssetting in settings.json - grep and glob tools correctly handle single path arguments, preventing missed search results
- Hook progress status lines marked as temporary collapse in place instead of accumulating in the conversation timeline
- /fork shows a "Creating fork..." progress notification while the fork is being created
- /mcp search works correctly with external registries
- Use natural language with /every and /after to schedule tasks using cron expressions, calendar times, or relative durations
- Light theme secondary background color is now rendered correctly
- Search bar match count stays inside the prompt frame
- GitHub theme adapts to light terminals with an authentic GitHub Primer light color palette
- Add mTLS and private-CA support for OTLP telemetry export over HTTPS
- Fixed false positives in shell command validation that could block harmless commands containing words like "kill" in string literals or embedded documents (heredocs).
- Add full screen scrollbar
- Grep searches in large monorepos use an indexed search engine for significantly faster results
/sessionsnow navigates to the Sessions tab instead of opening an overlay- Add http/protobuf OTLP HTTP export via standard OTel protocol env vars
- Prompt mode surfaces model-load errors on stderr instead of exiting silently
- Add /worktree command (aliased /move) to create a new git worktree and switch into it, moving any uncommitted changes along
- Plugin install enforces managed marketplace policy even when settings cannot be fetched due to network errors
/helpnow lists$HOME/.copilot/instructions/**/*.instructions.mdalongside the other user-level instruction locations- Colors render correctly in WSL and tmux sessions instead of falling back to a degraded palette
- Exit shell mode by pressing Esc or Ctrl+C on an empty prompt, in addition to Backspace
- Add
beepOnSchedulesetting to disable completion beeps for scheduled/everyand/afterruns
1.0.60
2026-06-05
- Tab completes
..parent traversal in slash-command path arguments instead of switching tabs - Add the max reasoning effort level for Anthropic models and make all effort levels available on every plan
- Screen no longer stays blank after waking from sleep inside a terminal multiplexer
- Input fields render background color correctly inside highlighted frames
- Cursor renders in the correct position in plan approval and review feedback prompts
- Worktree directory uses a flat name when PR branch contains slashes (e.g.
cli/foo→.worktrees/cli-foo) - Queue hint correctly shows ctrl+enter instead of ctrl+q when kitty keyboard protocol is active
- Status line progressively stacks across rows at narrow terminal widths instead of truncating elements beyond recognition
- Clipboard operations on X11 no longer corrupt the terminal display
- Add
builtInAgents.rubberDuckAutoInvokesetting to control automatic rubber duck agent invocation (disabled by default) - On Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g.
git). Add the working directory toPATHto enable discovery. - Interactive shell commands no longer hang when producing large amounts of output
- MCP tools glyph in /context legend displays at the correct size
- Skill and slash command picker rows correctly display multi-line descriptions as a single line
- IDE picker now hides entries whose editor connection has gone away, so selecting one no longer fails with a connection error, and appends a process id to entries that share the same editor and folder so git worktrees of the same repo can be told apart
- Model picker fits within small terminal windows and mouse scroll works in the picker
- Show cache write tokens alongside cache read tokens in /usage display
- Repurpose ctrl+s to stash and pop the current prompt (Claude Code parity); the slash-command picker is still available by typing /
- /context separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with /mcp
- Add
billinghelp topic with an overview of AI credit usage features - Add vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view
- Show the Mission Control sharing status of synced sessions in the /session info view
- Add -r as a shorthand for --resume
- LSP server config accepts
bash,powershell, andcwdkeys; command launch default cwd stays project-root unlesscwdis set, andcwdexpansion now supports plugin vars likePLUGIN_ROOTwhile shell launches keep hook-matching cwd/env behavior - Rewind picker shows working-tree diff stats (+added −removed) at each checkpoint
- Create a git worktree for a pull request directly from the pull requests screen
- Remaining requests percentage no longer shows a negative value for over-limit users
- Extension permission prompts respect --yolo and pre-approved locations on startup
- Custom agent instructions are no longer duplicated each turn, reducing context window usage
- Linux sandbox no longer fails when allowedHosts or blockedHosts are configured
- Session completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish
- Cmd+Backspace deletes the line before the cursor on macOS prompt input
- web_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects
- Trusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently
- Rewind no longer deletes ignored files when rolling back to a previous snapshot
- ACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs
- --available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode
- LSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking
- Extensions linked via directory symlinks are now discovered and loaded correctly
- Typing "help" at the prompt opens the quick-help overlay instead of sending it as a chat message
- Wide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption
- Folder trust persists across git worktrees without re-prompting
- Force-removing a marketplace no longer causes its plugins to reinstall on next launch
- MCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress
- Repository plugin overrides no longer change globally enabled plugin settings
- MCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier
- MCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist
- Local MCP servers sharing a serialized token broker (e.g. M365) reliably start instead of intermittently failing
- Prompt for approval before running commands that set dynamic-loader or git-config env vars (e.g. LD_PRELOAD, GIT_EXTERNAL_DIFF)
- MCP tools added or removed by a server mid-turn are now available immediately in the same turn
- BYOK file attachments larger than 5 MiB now send successfully via OpenAI Responses provider
- The /init suggestion is no longer shown when running outside a git repository
- Show session link in /session info table when remote exporting or steering
- /env command now shows hook counts and source provenance for active hooks
- Add missing keyboard shortcuts to /help content (?, ctrl+q, ctrl+r, ctrl+z, ctrl+y, shift+enter)
- Auto-link bare #number issue and PR references to the current git repository
- Error message for --cloud without experimental mode explains how to enable /experimental
- /tasks detail view shows the latest prompt after sending a follow-up to a background agent
- Enforce bypass permissions policy for --allow-all-tools, --allow-all-paths, and --allow-all-urls flags
1.0.60-0
Added
- Add
billinghelp topic with an overview of AI credit usage features - Add vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view
- Show the Mission Control sharing status of synced sessions in the /session info view
- Add -r as a shorthand for --resume
- LSP server config accepts
bash,powershell, andcwdkeys; command launch default cwd stays project-root unlesscwdis set, andcwdexpansion now supports plugin vars likePLUGIN_ROOTwhile shell launches keep hook-matching cwd/env behavior - Rewind picker shows working-tree diff stats (+added −removed) at each checkpoint
- Create a git worktree for a pull request directly from the pull requests screen
Improved
- Show session link in /session info table when remote exporting or steering
- /env command now shows hook counts and source provenance for active hooks
- Add missing keyboard shortcuts to /help content (?, ctrl+q, ctrl+r, ctrl+z, ctrl+y, shift+enter)
- Auto-link bare #number issue and PR references to the current git repository
- Error message for --cloud without experimental mode explains how to enable /experimental
- /tasks detail view shows the latest prompt after sending a follow-up to a background agent
- Enforce bypass permissions policy for --allow-all-tools, --allow-all-paths, and --allow-all-urls flags
Fixed
- Remaining requests percentage no longer shows a negative value for over-limit users
- Extension permission prompts respect --yolo and pre-approved locations on startup
- Custom agent instructions are no longer duplicated each turn, reducing context window usage
- Linux sandbox no longer fails when allowedHosts or blockedHosts are configured
- Session completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish
- Cmd+Backspace deletes the line before the cursor on macOS prompt input
- web_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects
- Trusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently
- Rewind no longer deletes ignored files when rolling back to a previous snapshot
- ACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs
- --available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode
- LSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking
- Extensions linked via directory symlinks are now discovered and loaded correctly
- Typing "help" at the prompt opens the quick-help overlay instead of sending it as a chat message
- Wide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption
- Folder trust persists across git worktrees without re-prompting
- Force-removing a marketplace no longer causes its plugins to reinstall on next launch
- MCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress
- Repository plugin overrides no longer change globally enabled plugin settings
- MCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier
- MCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist
- Local MCP servers sharing a serialized token broker (e.g. M365) reliably start instead of intermittently failing
- Prompt for approval before running commands that set dynamic-loader or git-config env vars (e.g. LD_PRELOAD, GIT_EXTERNAL_DIFF)
- MCP tools added or removed by a server mid-turn are now available immediately in the same turn
- BYOK file attachments larger than 5 MiB now send successfully via OpenAI Responses provider
- The /init suggestion is no longer shown when running outside a git repository
1.0.59
2026-06-02
- Add the /voice command to dictate prompts using local speech-to-text models
1.0.58
- Rubber Duck is now enabled by default
- Remote JSON RPC is now enabled by default
/experimentalschedule prompts with/everyand/after/experimentalnew GitHub/theme/experimentalnew UI with easy access to issues, pull requests, and gists
Note
Turn /experimental on to see the Scheduled Prompts, new theme, and new UI.
1.0.57
2026-06-01
- Actionable error message shown when GitHub API rate limit is hit during
copilot update - Plugin slash commands (/plugin install, uninstall, update, marketplace add/remove/browse) now show immediate feedback while the operation is in progress
- Canceling a running shell command (Ctrl+C on a !command, or aborting an agent command — including in sandboxed and background-promoted shells) now terminates the whole process tree instead of leaving orphaned processes running
- Canvas providers can return file:// URLs in open results for local file previews
- Symlinked directories appear in /cwd completion suggestions
- In Azure DevOps-only repositories, the built-in GitHub MCP server now exposes only the web_search tool instead of being fully disabled
- Quota footer shows remaining requests as a rounded percentage
- /lsp show, /lsp test, and /lsp reload correctly discover project LSP config when the CLI is launched from a subdirectory
- MCP server timeout configuration is preserved after tools list changes
- /skills add and /skills remove correctly handle paths wrapped in quotes (e.g., from Windows Explorer "Copy as path")
- Running
copilotwith an unquoted multi-word prompt now shows a helpful "quote your prompt" hint instead of a raw commander error - Default networking transport is now HTTP/1.1, improving reliability on some network paths. Opt into HTTP/2 with COPILOT_ENABLE_HTTP2=1.
- Plugins auto-installed from repository settings no longer leak into user global config
- Grep tool correctly handles tsx and jsx as file type filters
- COPILOT_HOME is honored for the server discovery registry directory
- Click a diff line with the mouse to select it in diff mode
- Ctrl+C and other modified keys work correctly inside tmux
- @-mention file search matches files regardless of query letter casing
copilot plugin marketplace listnow honors repo-levelextraKnownMarketplacessettings from.github/copilot/settings.json- Queued prompts in the footer are capped to a single line, preventing them from pushing session messages off screen
- MCP servers configured with npx --registry are no longer incorrectly blocked by policy
- Session no longer hangs indefinitely after an error occurs during internal event processing
- Installed plugins no longer include the .git directory from the plugin source repository
- New reasoning after tool calls appears at the bottom of the timeline instead of above earlier output
- Pasting text copied from a browser, editor, or terminal no longer leaves a stray empty line, broken box-drawing lines, or a misplaced cursor in the prompt
- preToolUse hook errors now deny the tool call instead of silently allowing execution
- Session resume works correctly after a crash that left partial data in the session log
- High-contrast diff backgrounds use darker colors to improve text readability
- Add showTipsOnStartup setting to control whether startup tips are shown
- Surface the underlying reason (e.g. GitHub API rate limit) when SDK auth-token validation fails, instead of the misleading "Session was not created with authentication info or custom provider" message.
- /diff defaults to branch diff when there are no unstaged changes
1.0.57-5
Fixes and changes