Release notes
GitHub Copilot CLI v1.0.109
2026-11-10
- Add IPv4/IPv6 CIDR support for sandbox host allow and deny rules in settings.
- Add support for Claude Fable 5.2 in the model picker under New models
- copilot help input now says that Backspace at the start of shell input leaves shell mode and keeps the typed text, not only on an empty prompt
- /subagents keeps its Overridden and Status columns readable on narrow terminals and aligns agent names with wide characters
- Removing a built-in MCP server with
copilot mcp removeor/mcp deleteexplains how to disable it instead - Selecting a directory next to your home directory in
/cd ~or/add-dir ~uses the correct full path - Trusted-folder and worktree confirmations keep Windows path separators
- Hide empty assistant reply bullets when a response contains only whitespace
- Choosing "don't ask again" for parallel file operations approves all covered requests without prompting again
- Make /terminal-setup configure Shift+Enter in the correct location for VS Code, Cursor, and Windsurf on Linux when XDG_CONFIG_HOME is set
- The footer's AI credits now update as soon as
/compactfinishes instead of after the next turn - Prompt mode with --output-format json emits a final result record with an exit status even when a run fails early
- Rate-limit errors now name the same mode as the switch dialog (Copilot Fusion mode or auto mode) instead of "auto model"
- In a multi-line prompt, Up and Down now start from the cursor after Left, Right, Backspace, Delete or a similar key that had nothing to act on at the start or end of the text, instead of jumping to the column of the previous Up/Down run
- Number keys keep working in shell and URL approval dialogs after pressing the number of the "No, and tell Copilot" option and moving back up
/cd .and/add-dir .now keep the current directory in a git repository instead of selecting.git; the directory picker lists./first and still offers hidden directories below it- In ACP mode, a preToolUse hook that answers ask now asks the ACP client to allow or deny the tool call instead of denying it as host policy
- /voice immediately reports an overly long socket path and how to fix it, instead of waiting before showing a generic error.
- File move permission prompts show both source and destination paths, and pure renames no longer show an empty diff.
- Session history keeps every turn when a second window works on a session another window still has open
- The
beepOnSchedulesetting description now says it controls the beep when a scheduled/everyor/afterturn finishes, and only whilebeepis on, instead of a beep when the prompt fires - The
companyAnnouncementssetting description now says one message, picked at random, appears in the timeline as a Company announcement notice, not in the startup banner copilot help configno longer says turning offcompactPasteshows every paste in full; pastes over 20 KB are still saved to a workspace filecopilot help confignow names the home screen tabs as they appear, Current and Sessions, instead of Session and Agents- The
ctrl+hentry in the keyboard shortcut help now says it deletes the previous word in local Windows terminals, where the terminal sends the same key forctrl+handctrl+backspace - The
footer.showModelEffortsetting description now says it toggles only the reasoning effort label next to the model name, which always shows, and that the effort shows briefly after it changes when the setting is unset copilot help configno longer names staff-only and internal settings, such astaskbarPresence,showTipsOnStartupandstreamerMode- The
ide.openDiffOnEditsetting description now says the IDE diff opens for a file edit waiting for your approval, and that accepting or rejecting it answers that prompt, instead of a diff on every edit - Text typed after /init now reaches the model as extra guidance for the generated instructions file and appears in the timeline, instead of being silently dropped.
- The
/initusage hint now shows[suppress|<instructions>], since text after/initguides what it writes, instead of listing onlysuppress - The
inlineImagessetting description no longer says images render with Sixel graphics by default; Sixel is used only with experimental features on - MCP tool results that return text as a base64
blobresource with a text MIME type, such astext/plainorapplication/json, now reach the model instead of arriving as an empty result copilot help providers-envandcopilot help environmentno longer sayCOPILOT_PROVIDER_BEARER_TOKENalways takes precedence overCOPILOT_PROVIDER_API_KEY: it does for openai and azure, but anthropic sends bothcopilot help providers-envandcopilot help environmentnow sayCOPILOT_PROVIDER_MODEL_IDandCOPILOT_PROVIDER_WIRE_MODELdefault to the--modelvalue beforeCOPILOT_MODEL, and that the wire model falls back toCOPILOT_PROVIDER_MODEL_IDcopilot help providers-envandcopilot help environmentnow sayCOPILOT_PROVIDER_TRANSPORT=websocketsworks only with provider type openai and the responses wire API, instead of implying it works for azure and anthropic toocopilot help providers-envno longer says COPILOT_PROVIDER_API_KEY_COMMAND output is always sent: it says the command does not run when COPILOT_PROVIDER_BEARER_TOKEN is set, and that a custom credential header's precedence depends on the provider typecopilot help providers-envandcopilot help environmentnow say thatCOPILOT_PROVIDER_*variables take precedence over a savedproviders.json, unlessCOPILOT_PROVIDERS_CONFIGnames the filecopilot help providers-localnow says Copilot looks for Ollama only on this machine, and that anOLLAMA_HOSTon another machine is ignored- Running /research again on the same topic, or on a topic that starts with the same words, now saves a new report instead of trying to write over the earlier one.
- The
sandbox.auth.gitsetting description now says sandboxed git gets a masked credential that the sandbox proxy swaps for the real one only at that HTTPS origin, and that hosts other than GitHub use your own git credential helper, instead of saying the GitHub token is injected - The
sandbox.userPolicy.network.proxy.urlsetting description now says sandboxed traffic always reaches the configured proxy through the built-in local proxy, which keeps proxy credentials away from sandboxed commands, instead of saying traffic without host rules uses the proxy directly - Sessions closed or disposed outside the sessions API no longer stay in memory in the CLI's embedded SDK server
- A collapsed grep or glob row now counts only the files or lines a search found, not the summary lines of a large result or an appended warning, which made an empty search read "3 files found".
- The search subagent's semantic_search tool now tells the model it returns up to 5 excerpts from GitHub's code index for the repository, instead of claiming to search the local workspace and return its full contents when small.
- The
/settingsvalue column, the footer's model name and the startup warning for an invalidallowedUrlsordeniedUrlsentry no longer pass control characters from settings.json to the terminal. - The
subagents.maxConcurrencyandsubagents.maxDepthsetting descriptions now say the settings are ignored on Copilot plans without usage-based billing, instead of saying they apply only to usage-based billing users copilot update --helpno longer calls stable the default update channel: with no channel argument and noautoUpdatesChannelsetting, a prerelease build stays on prerelease- A mistyped server in your own mcp-config.json is now reported at startup and in mcp list, and an mcp-config.json that cannot be used names the file and the real problem.
…