2026-07-20
- An
agentStophook that always blocks no longer loops indefinitely: the CLI now ends the turn after 8 consecutive blocks, andagentStophooks receive astop_hook_activeflag so they can detect a forced continuation and self-limit - Add opt-in git and gh authentication inside the OS sandbox
- Sandbox macOS keychain access now defaults off for tighter isolation; re-enable it in /sandbox if a command needs it
- Lifecycle and subagent hook commands run in the current session directory after /cd
- Deleting an MCP server with /mcp delete stops its running background process
- Toggling /sandbox restarts only local MCP servers and leaves remote servers connected
- Command approvals no longer carry over to another repository after you switch with /cd
- The GitHub tab's Open in web action now reliably launches your browser on Windows
- Preserve pasted prompt content when changing models through Ctrl+X /model
- Corrected the added-line count shown when creating a file so files ending in a trailing newline no longer report one extra line
- /worktree and /move no longer fail to create a worktree for an auto-generated branch name when many similarly-named branches or a leftover worktree directory already exist: the numeric-suffix search is no longer capped at 5 and now skips stale unregistered worktree directories (an explicitly supplied branch name still errors on a collision)
- /worktree no longer intermittently runs the kickoff task in the main repo instead of the new worktree
- /worktree and /move now propagate folder trust to the new worktree before switching when the source is already trusted (avoiding a spurious folder-trust prompt in that case), /move addresses its git stash precisely so a concurrent stash can't misplace changes, and worktree creation skips a leftover directory instead of failing
- Show the exit resume hint for a renamed session with no messages when its workspace is only available as a cached snapshot
- Show a connected message after a slow MCP server eventually connects
- Add
update/uninstallverbs to/plugins, letenable/disable/removetarget plugins, MCP servers, or skills via--plugin/--mcp/--skillflags or a positional kind, and support installing skills with/plugins install --skill - Add a /plugins help command plus skill, MCP, and marketplace management for full /plugin parity
- Session exports keep angle brackets intact in inline code and top-level fenced code blocks
- Show MCP server status correctly for names like constructor and proto
- Keep the session highlight on the nearest live row when closing a session, in both the Sessions split view and the standalone Sessions tab
- Pad inline hex color swatches once inside Markdown lists
- Type $ at the prompt to open an interactive shell in the current session directory (enable it with
/settings shellShortcut on; off by default) - Nested markdown lists render correctly in buffered output (
-p --stream offand detail screens): sub-bullets are no longer glued onto the parent item's line or flattened, and are indented under their parent copilot skill listnow strips terminal control characters from skill names and descriptions, so a crafted skill can no longer inject ANSI escape sequences into the listing output.- Install skills from the CLI with
copilot plugins install --skill <file, URL, or directory>(add--scope projectto a file or URL install to install into the repository) - Show default values in /settings and let booleans cycle back to default
- Require SSO for remote control when managed settings demand it
- Mask secret values in /settings show output
- Show hex color codes written as inline code (e.g.
#FF0000) as color swatches, and add a renderHexColors setting (on by default) to toggle hex-color swatches - Add /model --session (-s) to change the model, reasoning effort, or context window for just the current session, leaving global settings unchanged.
- Detect VS Code, Cursor, and Windsurf through parent processes in /terminal-setup
- The Sessions sidebar is now navigable with the keyboard and mouse (arrows open and focus it and move the selection, and Enter or a click switches to a session; press n to spawn a session or x twice to close one from the keyboard); /settings can disable it or stop restoring remembered sessions
- Add --plugin, --mcp, and --skill flags for plugin mutations
- Add skill removal support to
copilot plugins remove --skill - Wrap ask-user and elicitation inputs in the split-pane chat view
- Modified vim keys (Ctrl+K, uppercase J/K) no longer move the selection in tool-permission prompts and other text-input select menus; only unmodified j/k, the arrow keys, and Ctrl+P/Ctrl+N navigate.
/terminal-setupnow refuses to modify a VS Code keybindings.json that contains a JSON syntax error (instead of rewriting it and reporting success), matching its documented invalid-JSON handling.- Reveal full file paths when expanding compact editing rows
- Make the plan-approval menu deterministic across models
- Keep /add-dir directories visible in the agent context across turns
- Multi-turn subagents are always enabled, so you can send follow-up messages to running agents
- Enable tool search for Claude Haiku 4.5+
- Emoji shortcodes like 🎉 no longer render with a spurious trailing space in printed and PR/issue/gist output
- Deliver scheduled prompts as steering messages when the agent is busy