Skip to content
GC

GitHub Copilot CLI v1.0.108-0

Released · GitHub / Microsoft

Pre-releaseBreakingChanges settings files, MCP server config, skills and plugins, subagent definitions

What the release notes say

Added

  • Add sandbox.userPolicy.filesystem.enumeratePaths in settings.json for Windows enumerate-only directory grants
  • Add /index commands and enable managed shared tgrep indexing by default for eligible repositories

Improved

  • Answer questions about Copilot CLI behavior from this build's own documentation and clearly say when docs do not cover a question.
  • Keep successful command output and file diffs collapsed in concise transcript mode until expanded, while keeping running output and failure details visible.
  • Show MCP form validation errors beside inputs, focus the first invalid field, and improve screen-reader labels and cursor positioning
  • Since 1.0.106, Autopilot with Assisted Permissions no longer stops for permission prompts; the agent tries another approach and reports the actions it could not take
  • Managed plugin assignments with state "defaultEnabled" now install and activate plugins by default while preserving user overrides.

Fixed

  • A file attachment sent through the SDK that points at a named pipe, socket or device is now tagged as an error instead of stalling the turn until something writes to the pipe.
  • The canvas tools now tell the model which instance IDs open_canvas accepts, instead of calling them free-form.
  • /model now lists models when Copilot answers the model list request with 421 Misdirected Request, for example after a plan change, by re-resolving your account's endpoint as chat turns already do instead of showing "Error loading model list".
  • Requests to OpenAI-compatible chat-completions providers no longer include an internal message field on skill and tool messages.
  • Ctrl+C now stops a running /compact, as Esc Esc does, instead of only arming the exit hint and quitting the CLI on a second press.
  • The /config help no longer shows literal backticks or uses a model outside the model list as its example.
  • Your defaultMode setting now applies when you close the startup session picker while the session is still loading its model, instead of the session staying in its previous mode.
  • A disabledSkills entry, skills.disable and skills.enable now match a skill name in any letter case, as invoking the skill does, instead of silently doing nothing when the case differs.
  • Creating or resuming an SDK session, or replacing its tools, with two custom tools of the same name is now an error. Before, the model was offered the first definition while some SDKs ran the handler of the last one.
  • Copilot no longer crashes with an unhandled exception at startup when it cannot save its first-launch timestamp, for example because the disk holding the Copilot home directory is full. The failure is logged and startup continues.
  • The Getting started box no longer suggests /init in a folder where you ran /init suppress, in a repository that already has Copilot instructions, or outside a git repository.
  • copilot help config now names the .claude/rules instruction files and the .claude/settings.json repository settings the CLI reads.
  • copilot help input now says that esc esc also stops a running /compact, and that in shell mode a single esc or ctrl+c on an empty prompt leaves shell mode
  • /help now describes ctrl+d (exits only on an empty prompt, otherwise deletes the next character) and ctrl+z on Windows correctly, and lists ctrl+j, ctrl+v, ctrl+y and the voice input keys.
  • copilot help limits now quotes the rate-limit prompt as local sessions show it, "Switch to Copilot Fusion mode?", instead of "Switch to auto mode?".
  • copilot help mcp now says that a directory's .github/mcp.json is ignored when the same directory has a .mcp.json, instead of implying the two files are merged
  • copilot help monitoring now describes the github.copilot.sandbox.operation.count metric as counting every sandbox decision by kind, not only deduplicated posture changes.
  • Pasting an image path again after clearing its [image: ...] label with Ctrl+U, Ctrl+K, Ctrl+W or an Up-arrow history recall attaches the image again instead of inserting the plain path.
  • Backspace, an arrow key, Ctrl+U or Shift+Enter pressed right after a paste now acts after the pasted text instead of on the text in front of it.
  • Picking an MCP server type by its number in the add or edit form now moves focus to the next field for that type.
  • /permissions default in Autopilot now asks again how to handle permissions on the next prompt, as /permissions manual does, instead of leaving Autopilot to deny every tool request.
  • A queued /ask or /btw that runs while another side answer is open now shows that it is still thinking, instead of showing the previous answer as its own finished answer for Ctrl+Y to copy.
  • copilot --resume <name> and /resume <name> now find a session whose name has an accent typed precomposed or decomposed, whichever spelling the session was saved with.
  • In /search, Up, Down and Enter bring a single match back into view after you scroll away, and a shorter terminal no longer leaves the current match off screen.
  • /security-review help now says it reviews the branch diff when the working tree is clean, not only staged and unstaged changes
  • Escape sequences in checkpoint titles, file names, Copilot home paths and generated agent names no longer restyle /session info or the /agent wizard.
  • Long values in /session info, such as the log and session file paths, now wrap under their own column instead of back under the label
  • Switching to another session no longer occasionally replaces that session's model with Auto while the model list reloads.
  • /share usage no longer implies that /share alone exports a markdown file; it shows that a bare path must contain /, . or ~.
  • A path or URL route in a prompt, such as /docs/setup.md, no longer loads a skill named after its first segment (docs) as if you had invoked that skill.