Release · GitHub Copilot CLI · GitHub

GitHub Copilot CLI v1.0.109

What's new in GitHub Copilot CLI v1.0.109, released Nov 10, 2026 (). Newer: v1.0.110 (Nov 12, 2026)

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 remove or /mcp delete explains 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 /compact finishes 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 beepOnSchedule setting description now says it controls the beep when a scheduled /every or /after turn finishes, and only while beep is on, instead of a beep when the prompt fires
  • The companyAnnouncements setting description now says one message, picked at random, appears in the timeline as a Company announcement notice, not in the startup banner
  • copilot help config no longer says turning off compactPaste shows every paste in full; pastes over 20 KB are still saved to a workspace file
  • copilot help config now names the home screen tabs as they appear, Current and Sessions, instead of Session and Agents
  • The ctrl+h entry in the keyboard shortcut help now says it deletes the previous word in local Windows terminals, where the terminal sends the same key for ctrl+h and ctrl+backspace
  • The footer.showModelEffort setting 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 config no longer names staff-only and internal settings, such as taskbarPresence, showTipsOnStartup and streamerMode
  • The ide.openDiffOnEdit setting 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 /init usage hint now shows [suppress|<instructions>], since text after /init guides what it writes, instead of listing only suppress
  • The inlineImages setting 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 blob resource with a text MIME type, such as text/plain or application/json, now reach the model instead of arriving as an empty result
  • copilot help providers-env and copilot help environment no longer say COPILOT_PROVIDER_BEARER_TOKEN always takes precedence over COPILOT_PROVIDER_API_KEY: it does for openai and azure, but anthropic sends both
  • copilot help providers-env and copilot help environment now say COPILOT_PROVIDER_MODEL_ID and COPILOT_PROVIDER_WIRE_MODEL default to the --model value before COPILOT_MODEL, and that the wire model falls back to COPILOT_PROVIDER_MODEL_ID
  • copilot help providers-env and copilot help environment now say COPILOT_PROVIDER_TRANSPORT=websockets works only with provider type openai and the responses wire API, instead of implying it works for azure and anthropic too
  • copilot help providers-env no 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 type
  • copilot help providers-env and copilot help environment now say that COPILOT_PROVIDER_* variables take precedence over a saved providers.json, unless COPILOT_PROVIDERS_CONFIG names the file
  • copilot help providers-local now says Copilot looks for Ollama only on this machine, and that an OLLAMA_HOST on 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.git setting 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.url setting 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 /settings value column, the footer's model name and the startup warning for an invalid allowedUrls or deniedUrls entry no longer pass control characters from settings.json to the terminal.
  • The subagents.maxConcurrency and subagents.maxDepth setting 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 --help no longer calls stable the default update channel: with no channel argument and no autoUpdatesChannel setting, 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.

…