|
| 1 | +## 1.0.11 - 2026-03-23 |
| 2 | + |
| 3 | +- Ensure models appear in picker correctly, display model names where possible |
| 4 | +- Show a warning when MCP servers are blocked by policy (e.g. allowlist enforcement) |
| 5 | +- Organization policy for third-party MCP servers is now enforced for all users |
| 6 | +- Add ~/.agents/skills/ as a personal skill discovery directory, aligning with VS Code's GHCP4A extension default |
| 7 | +- Extension hooks from multiple extensions now merge instead of overwriting each other or hooks from hooks.json |
| 8 | +- sessionStart hook additionalContext is now injected into the conversation |
| 9 | +- /clear now abandons the current session entirely, while /new starts a fresh conversation (keeping the old session backgrounded) |
| 10 | +- GitHub MCP server user configuration is respected when connecting to remote hosts |
| 11 | +- Terminal screen redraws correctly after process suspend and resume (Ctrl+Z / fg) |
| 12 | +- MCP OAuth authentication works with MCP servers like the Atlassian Rovo MCP Server which support Dynamic Client Registration but host authorization metadata at a non-standard URL |
| 13 | +- /cd keeps a separate working directory per session, restored when switching sessions |
| 14 | +- Custom instructions, MCP servers, skills, and agents are now discovered at every directory level from the working directory up to the git root, enabling full monorepo support |
| 15 | +- Startup 'Environment loaded' message now shows the number of loaded hooks |
| 16 | +- Background agent progress (current intent and tool calls completed) now surfaces in read_agent and task timeout responses |
| 17 | +- statusLine.command path now supports ~ and environment variables (e.g. $HOME, ${VAR:-default}) |
| 18 | +- /new and /clear commands accept an optional prompt to start the new session with a first message |
| 19 | + |
| 20 | +## 1.0.10 - 2026-03-20 |
| 21 | + |
| 22 | +- Reduced memory usage when viewing large files in their entirety |
| 23 | +- /login device flow works correctly in Codespaces and remote terminal environments |
| 24 | +- Working directory is correctly detected when using --server mode with remote sessions |
| 25 | +- Arrow keys work correctly in terminals using application keypad mode |
| 26 | +- Repo hooks (.github/hooks/) now fire correctly when using prompt mode (-p flag) |
| 27 | +- /copy writes formatted HTML to clipboard on Windows for pasting into Word, Outlook, and Teams |
| 28 | +- SDK clients can register custom slash commands when starting or joining a session |
| 29 | +- SDK clients can show elicitation dialogs to the user via session.ui.elicitation |
| 30 | +- Add experimental support for multiple concurrent sessions |
| 31 | +- Add --effort as a shorthand alias for --reasoning-effort |
| 32 | +- Add /undo command to undo the last turn and revert file changes |
| 33 | +- Markdown bullet lists render correctly in alt-screen mode when content contains hard line breaks |
| 34 | +- Elicitation form shows Shift+Tab hint for navigating between fields in reverse |
| 35 | +- Remote session URL displays as a compact clickable 'Open in browser' link instead of a duplicated raw URL |
| 36 | +- Session history is no longer lost when exiting via /quit, Ctrl+C, or restart |
| 37 | +- Hook matcher filters defined in nested hook structures are now correctly applied to inner hook items |
| 38 | +- Plugins using .claude-plugin/ or .plugin/ manifest directories now load their MCP and LSP servers correctly |
| 39 | +- /terminal-setup no longer shows a misleading error for WSL users |
| 40 | +- Model picker reorganizes models into Available, Blocked/Disabled, and Upgrade tabs based on user plan and policy |
| 41 | +- Workspace MCP servers from .mcp.json, .vscode/mcp.json, and devcontainer.json are now loaded only after folder trust is confirmed |
| 42 | +- Config settings renamed to camelCase: `includeCoAuthoredBy`, `effortLevel`, `autoUpdatesChannel`, `statusLine` (old names still work) |
| 43 | +- When copying assistant responses, the leading 2-space UI indent is stripped from selections where all selected lines share that indent |
| 44 | +- Plugins loaded via --plugin-dir now appear in /plugin list under a separate 'External Plugins' section |
| 45 | + |
| 46 | +## 1.0.9 - 2026-03-19 |
| 47 | + |
| 48 | +- Spurious I/O error messages (ENOTCONN, EIO) no longer appear in the timeline during SSH disconnects or terminal closes |
| 49 | +- Add include_gitignored config option to include gitignored files in @ file search |
| 50 | +- Copying text on WSL correctly preserves CJK and other non-ASCII characters |
| 51 | +- Marketplace and plugin installs from shortened URLs (e.g., aka.ms links) now work correctly |
| 52 | + |
| 53 | +## 1.0.8 - 2026-03-18 |
| 54 | + |
| 55 | +- Agent mode labels and borders display correct colors on non-truecolor terminals (tmux, SSH, screen) |
| 56 | +- Alternate screen buffer is now enabled by default for a cleaner terminal experience |
| 57 | +- Exit plan mode tool remains available when an extension subprocess joins an active session |
| 58 | +- Repo-level hooks are loaded only after folder trust is confirmed, not before the trust dialog is shown |
| 59 | +- Idle subagents no longer clutter the /tasks view — they are hidden after 2 minutes of inactivity |
| 60 | +- Add extension mode setting to control extensibility |
| 61 | +- MCP servers can be validated against configured registries using the experimental MCP_ALLOWLIST feature flag |
| 62 | +- Allow --resume to accept a task ID in addition to a session ID |
| 63 | +- Support defining hooks in settings.json, settings.local.json, and config.json |
| 64 | +- Scroll works correctly in macOS Terminal.app and other terminals that don't support SGR mouse encoding |
| 65 | +- Mouse scroll works correctly in tmux after returning from an external editor |
| 66 | +- Ctrl-C in prompt mode now exits immediately instead of waiting for the request to complete |
| 67 | +- Spinner animation no longer delays visible output from appearing in the timeline |
| 68 | +- Dialog titles display consistently inside all dialog boxes |
| 69 | + |
| 70 | +## 1.0.7 - 2026-03-17 |
| 71 | + |
| 72 | +- Improve color contrast across CLI themes for better readability and accessibility |
| 73 | +- User messages display with a subtle background color for visual differentiation from assistant messages |
| 74 | +- Add support for gpt-5.4-mini model |
| 75 | +- Tab bar selected tab uses compact [label] style with cleaner spacing |
| 76 | +- Add "customize" mode to system message config for section-level system prompt overrides |
| 77 | +- Double-Esc clears input when text is present, or triggers undo when the prompt is empty, with a hint shown after the first Esc |
| 78 | +- Session resume no longer fails with 'Session file is corrupted' for sessions created before 1.0.6 |
| 79 | +- Branch indicator distinguishes unstaged changes (\*), staged changes (+), and untracked files (%) in the header |
| 80 | +- Add experimental SDK session APIs to list and manage skills, MCP servers, and plugins, with optional config auto-discovery from the working directory |
| 81 | +- Add subagentStart hook that fires when a subagent is spawned, with support for injecting additional context into the subagent's prompt |
| 82 | +- Pro and trial users now see all models they are entitled to in the model picker |
| 83 | +- CLI restart no longer re-sends the -i/--interactive prompt to the new session |
| 84 | +- Resolve an edge case where auto-update could leave an incomplete package on Windows |
| 85 | + |
| 86 | +## 1.0.6 - 2026-03-16 |
| 87 | + |
| 88 | +- Autopilot continuation no longer gets permanently blocked after an error in a previous turn |
| 89 | +- In autopilot, task_complete summary is now required and renders as markdown |
| 90 | +- Input placeholder text is no longer read aloud by screen readers on every prompt submission |
| 91 | +- Free tree-sitter WASM objects after shell command parsing to prevent memory leak |
| 92 | +- /help dialog starts scrolled to the top in alt-screen mode |
| 93 | +- Auto-update correctly recovers from race conditions on Windows |
| 94 | +- CLI no longer fails to load on Windows after updating while another instance is running |
| 95 | +- Reduce memory usage by eliminating redundant environment variable copies per child process spawn |
| 96 | +- Remaining requests widget no longer shows inaccurate quota data for Copilot Free users |
| 97 | +- Resolve session crashes caused by HTTP/2 connection pool race conditions when sub-agents are active |
| 98 | +- CLI loads the latest version of itself after an auto-update |
| 99 | +- Kill command validation no longer incorrectly blocks some legitimate commands. e.g. p.kill() in a python script |
| 100 | +- Instruction file frontmatter applyTo field accepts both string and array values |
| 101 | +- Improve streaming and tool-output memory usage |
| 102 | +- Model can discover and use tools dynamically with tool search for Claude models |
| 103 | +- Hooks fire correctly when resuming a previous session |
| 104 | +- Prompt input in alt screen mode renders all lines without truncation |
| 105 | +- Links and right-click paste no longer trigger twice when running in VS Code's integrated terminal |
| 106 | +- Hook configuration files now work across VS Code, Claude Code, and the CLI without modification by accepting PascalCase event names alongside camelCase |
| 107 | +- Native module prebuilds (e.g., conpty.node on Windows ARM64) load reliably on first launch |
| 108 | +- Subagent elapsed time in /tasks view freezes when idle and resumes when active again |
| 109 | +- Flags --enable-all-github-mcp-tools, --add-github-mcp-toolset, and --add-github-mcp-tool now take effect when using the SDK (ACP mode) |
| 110 | +- Custom instruction file paths load correctly when using COPILOT_CUSTOM_INSTRUCTIONS_DIRS |
| 111 | +- Command output is no longer lost when a command causes the shell to exit |
| 112 | +- Plugins using .claude-plugin/plugin.json are discovered when loaded via --plugin-dir |
| 113 | +- Fix handling of shift+enter on VS Code with old /terminal-setup config. |
| 114 | +- Agent creation wizard shows the correct user agents directory path |
| 115 | +- Support Open Plugin spec file locations for loading plugin and marketplace manifests |
| 116 | +- Show friendlier error messages and provide keyboard shortcut to open event links in browsers |
| 117 | +- Extension tools now work with the permissions system, use `skipPermission` per-tool to bypass permission prompts |
| 118 | +- Hook config files now support Claude Code's nested matcher/hooks structure and optional type field |
| 119 | +- Sub-agents launched by the task tool are assigned human-readable IDs based on their name (e.g., `math-helper-0`) instead of generic `agent-0` identifiers |
| 120 | +- The create_pull_request tool now includes the PR URL in its output so the agent can share the direct link |
| 121 | +- read_agent output includes inbound messages that triggered each turn in multi-turn agents |
| 122 | +- Improve compatibility with the Open Plugins spec: support `.lsp.json`, PascalCase hook event names, `exclusive` path mode, and `:` namespace separator |
| 123 | + |
| 124 | +## 1.0.5 - 2026-03-13 |
| 125 | + |
| 126 | +- Terminal title resets to default after running /clear or /new |
| 127 | +- Add /extensions command to view, enable, and disable CLI extensions |
| 128 | +- @ file mentions now support paths outside the project: absolute paths (@/usr/...), home directory (@~/...), and relative parent paths (@../...) |
| 129 | +- Toggling experimental mode with /experimental on|off automatically restarts the CLI to apply changes immediately |
| 130 | +- Right-click paste goes to the active dialog input instead of the main conversation input |
| 131 | +- Introducing /pr to help create and view PRs, automatically fix CI failures, address review feedback, and resolve merge conflicts |
| 132 | +- Block network (UNC) paths to prevent credential leakage via SMB authentication |
| 133 | +- Send follow-up messages to background agents with the write_agent tool for multi-turn conversations |
| 134 | +- Memory storage errors now indicate when repository doesn't exist or you lack write access |
| 135 | +- Show a clear error when a classic Personal Access Token (ghp\_) is set in environment variables instead of silently exiting |
| 136 | +- Diff view displays correctly on Windows instead of showing corrupted/overwritten text |
| 137 | +- Fix Kitty keyboard protocol escape sequences appearing at shutdown |
| 138 | +- Setting claude-sonnet-4.6 as the default model is now preserved correctly |
| 139 | +- Plugin uninstall reliably removes files using the stored install path |
| 140 | +- Add /version command to display CLI version and check for updates from within the session |
| 141 | +- Add experimental embedding-based dynamic retrieval of MCP and skill instructions per turn |
| 142 | +- Syntax highlighting in /diff with support for 17 programming languages |
| 143 | +- Add preCompact hook to run commands before context compaction starts |
| 144 | +- Request ID from the API now appears in the timeline when errors occur after retries are exhausted |
| 145 | +- PR descriptions with backtick-formatted code render correctly on Windows/PowerShell |
| 146 | +- Show a helpful error message when a file path is passed as a CLI command |
| 147 | +- Session reports an authentication error instead of hanging when the token is invalid or expired |
| 148 | +- View tool shows partial content for large single-line files (e.g. minified JS, large JSON blobs) instead of empty output |
| 149 | +- /changelog supports `last <N>`, `since <version>`, and `summarize` to browse and summarize multiple release notes at once |
| 150 | +- Hooks config files that omit the version field are now accepted by the CLI |
| 151 | + |
| 152 | +## 1.0.4 - 2026-03-11 |
| 153 | + |
| 154 | +- Add `session.shell.exec` and `session.shell.kill` RPC methods for executing shell commands with streaming stdout/stderr output |
| 155 | +- Custom agents from --plugin-dir plugins now load correctly in ACP mode |
| 156 | +- Adaptive color engine with dynamic color modes and interactive theme picker. Gracefully degrades on limited-color terminals and Windows |
| 157 | +- MCP OAuth re-authentication works reliably when callback port changes or when using Microsoft Entra ID |
| 158 | +- Replace /pr open with /pr view [local|web] to view PR status locally or open in browser |
| 159 | +- Enables OpenTelemetry instrumentation for observability into agent sessions, LLM calls, and tool executions |
| 160 | +- Extensions can now be written as CommonJS modules (extension.cjs) |
| 161 | +- Show loaded extensions count in the Environment loaded startup message |
| 162 | +- Support disableAllHooks flag to disable all hooks from a configuration file |
| 163 | +- Support Azure DevOps repository identification in session logs |
| 164 | +- Session export header renders each field on its own line in shared gists |
| 165 | +- Auto-update now retries without authentication token on SAML enforcement errors |
| 166 | +- Autopilot mode stops continuing after API errors instead of looping indefinitely |
| 167 | +- Status line context window percentage no longer inflates across turns by using the last call's input and output tokens instead of cumulative totals |
| 168 | +- Kitty keyboard protocol is properly disabled on suspend when using alternate screen |
| 169 | +- Only show reasoning headers when it's the only reasoning text available. |
| 170 | +- Terminal properly resets when CLI crashes, preventing shell corruption |
| 171 | +- /update command automatically restarts to apply updates instead of requiring manual exit |
| 172 | +- OAuth authentication now handles Microsoft Entra ID and other OIDC servers reliably with proper resource indicators and refresh token support |
| 173 | +- Show individual instruction file names in /instructions picker with [external] labels for injected files |
| 174 | +- Path permission dialog offers a one-time approval option in addition to adding the path to the allowed list |
| 175 | +- Add --reasoning-effort CLI flag to set reasoning effort level |
| 176 | +- Hooks can now request user confirmation before tool execution with 'ask' permission decision |
| 177 | +- Add configure-copilot sub-agent for managing MCP servers, custom agents, and skills via the task tool |
| 178 | +- Interactive shell initialization no longer times out on slow machines |
| 179 | +- Faster shell commands on Windows by skipping PowerShell profile loading |
| 180 | +- Improve CLI help documentation to use standard --option=value format and comma-separated list syntax |
| 181 | + |
| 182 | +## 1.0.3 - 2026-03-09 |
| 183 | + |
| 184 | +- Enable alternate screen buffer by default for staff users |
| 185 | +- Extensions are now available as an experimental feature — ask Copilot to write custom tools and hooks for itself using @github/copilot-sdk |
| 186 | +- Document GH_HOST, HTTP_PROXY, HTTPS_PROXY, NO_COLOR, and NO_PROXY environment variables in help |
| 187 | +- Read MCP server configuration from .devcontainer/devcontainer.json |
| 188 | +- Add --binary-version flag to query the CLI binary version without launching |
| 189 | +- Add /restart command to hot restart the CLI while preserving your session |
| 190 | +- Background task notifications display in timeline with expandable detail |
| 191 | +- Type 'quit' to exit the CLI, in addition to 'exit' |
| 192 | +- Add extraKnownMarketplaces repository setting to replace marketplaces |
| 193 | +- Add Windows Terminal support to /terminal-setup command |
| 194 | +- /reset-allowed-tools now fully undoes /allow-all and re-triggers the autopilot permission dialog |
| 195 | +- Improved handling of batched queries in the SQL tool |
| 196 | +- Login flow no longer hangs on Ubuntu when system keyring is unresponsive |
| 197 | +- Terminal is properly reset when CLI crashes unexpectedly |
| 198 | +- Table disables borders in screen reader mode to prevent announcing decorative characters |
| 199 | +- MCP servers with non-conforming outputSchema are now accessible |
| 200 | +- /plugin update now works for GitHub-installed plugins |
| 201 | +- /add-dir directories persist across session changes like /clear and /resume |
| 202 | +- Prevent env command from being treated as safe to allow without approval |
| 203 | +- Placeholder text color displays correctly when wrapping in narrow terminals |
| 204 | +- /plugin update now works with marketplaces defined in project settings |
| 205 | +- Retry status messages now display to show progress during server error recovery |
| 206 | +- Show loading spinner in diff mode while fetching changes |
| 207 | +- Suppress /init suggestion when .github/instructions/ contains instructions |
| 208 | +- Rename merge_strategy config to mergeStrategy for consistency |
| 209 | +- Suppress unknown field warnings in skill and command frontmatter |
| 210 | +- Trust safe sed commands to run without confirmation |
| 211 | + |
1 | 212 | ## 1.0.2 - 2026-03-06 |
2 | 213 |
|
3 | 214 | To commemorate GitHub Copilot CLI reaching general availability last week, we're incrementing the major version to 1.0! |
|
0 commit comments