Claude Code desktop
ComponentUpdates related to the desktop component of Claude Code.
All DESKTOP Features
- Added an "Organization policy" line to `/status` and `claude doctor` to explain why an organization's policy could not be loaded.(v2.1.261)
- Introduced `bashOutputMaxChars` and `taskOutputMaxChars` settings to increase the amount of command and background-task output Claude receives inline, up to 128K characters.(v2.1.261)
- Added `--append-subagent-system-prompt-file` to read subagent system prompts from a file, accommodating prompts too large for the command line.(v2.1.261)
- Added `/skill-doctor` to identify unused skills and their context costs, enabling easier pruning.(v2.1.261)
- Added a "Build a custom style" walkthrough in the VS Code Output styles menu to create and immediately list custom output style files.(v2.1.261)
- Added an Add server form and a Remove action to the VS Code MCP servers dialog for managing MCP servers directly within the IDE.(v2.1.261)
- Added a hollow ring in the VS Code session list to visually indicate sessions open in a terminal, another VS Code window, or Claude Desktop.(v2.1.261)
- Added a fold button to VS Code permission and question prompts, allowing users to read the conversation behind them without dismissing the prompt.(v2.1.261)
- Added "Archive session" to the VS Code session list's right-click menu and provided a dedicated icon for Unarchive.(v2.1.261)
- Added a diff panel in fullscreen mode that displays uncommitted changes alongside Claude's edits, toggled with `/diff`.(v2.1.260)
- Added a likely cause for prompt-cache misses to `/cost` and the status line, including tool definitions, system prompt changes, or exceeding TTL.(v2.1.260)
- Added `/reload-plugins` to headless sessions for Claude Code Desktop and SDK command lists.(v2.1.260)
- Added a text form of `/advisor` (`/advisor`, `/advisor <model>`, `/advisor off`) for desktop, Remote Control, and headless sessions.(v2.1.260)
- Added `oidc.scope_on_refresh` to the Claude apps gateway for IdPs that return an id_token on refresh only when `openid` is requested again.(v2.1.260)
- Added Claude apps gateway support for newer Claude Desktop keys in `desktop` policy blocks, including `userPluginMarketplacesEnabled` and `userUploadsEnabled`.(v2.1.260)
- Improved structured output: Workflow `agent({schema})` now rejects unsatisfiable JSON Schemas upfront, and retry-cap errors include the last validation failure.(v2.1.260)
- Changed `ctrl+l` / `cmd+k` in fullscreen mode to clear the transcript view, similar to a terminal `clear`, allowing users to scroll up for earlier messages.(v2.1.260)
- Added `managedMcpServers` managed setting to allow organizations to provide HTTP/SSE MCP servers to all users.(v2.1.259)
- Introduced `--permission-prompts none` for unattended headless hosts, automatically denying any permission prompts.(v2.1.259)
- Enabled recognition of GitLab merge request commands (`glab mr create/merge/close/reopen/note/update`) to display merge requests as `MR !N` and refresh the footer MR badge.(v2.1.259)
- Added `--json` flag to `claude plugin validate` for generating machine-readable validation reports.(v2.1.259)
- Added an Active quick filter and status filter menu (Needs input, Working, Completed) to the session list sidebar in VSCode.(v2.1.259)
- Introduced Claude Fable 5.1 as the new default model, offering a 1M context window and new pricing.(v2.1.257)
- Added "Time format" and "timeZone" settings to customize the turn-end clock and transcript timestamps with options for 12-hour, 24-hour, 24-hour UTC, or custom strftime patterns.(v2.1.257)
- Enabled a Containment Escape rule in auto mode to prevent automatic approval of cloud metadata-credential fetches, egress evasion, and cross-tenant reach unless explicitly marked as expected.(v2.1.257)
- Introduced `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` environment variable to enforce a specific model for all subagents, overriding individual definitions.(v2.1.257)
- Added the ability to change effort for the current session only using `s` in the `/effort` command.(v2.1.257)
- Added a `/doctor` warning for stale sandbox mask files left by terminated sessions.(v2.1.257)
- Implemented a one-time prompt in auto mode before the first file read outside working directories, with an option to block such reads via `permissions.blockReadsOutsideWorkingDirectories`.(v2.1.257)
- Added support for gateway-supplied descriptions in discovered `/model` picker entries when `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` is enabled.(v2.1.257)
- Added hook events `PreModelSwitch` and `PostModelSwitch` to allow blocking, confirming, or annotating model switches.(v2.1.251)
- Introduced live streaming of foreground subagent tool calls and results to Remote Control clients.(v2.1.251)
- Added a Spend limit bar to `/usage` and a `rate_limits.spend_limit` status line field for developers using Claude apps gateway with spend limits.(v2.1.251)
- Added a per-session prompt-cache line to `/cost` (hit ratio, misses, tokens re-cached, warm/cold) and a matching `prompt_cache` object for status line scripts.(v2.1.251)
- Added `attach`, `logs`, `stop`, `respawn`, and `rm` commands to `claude --help` for easier session management.(v2.1.251)
- Enabled replying to messages delivered by Claude Desktop from other sessions, now routing `SendMessage` correctly.(v2.1.251)
- Added `--restricted` mode to remove built-in tools that run commands or code and `WebFetch` (unless explicitly named), restrict file tools to the working directory, refuse `bypassPermissions`, and ignore user, project, and local settings files.(v2.1.248)
- Introduced `experimental.cacheTtl` in agent frontmatter for per-agent prompt cache time-to-live settings.(v2.1.248)
- Enabled overriding the self-hosted runner's client label with `claude self-hosted-runner --client-label <label>`.(v2.1.248)
- Added server-managed settings diagnostics, including startup warnings for settings load failures and `/doctor` and `/status` messages explaining load issues.(v2.1.248)
- Added a warning in `/web-setup` when the GitHub CLI token lacks the `workflow` scope, preventing potential rejections for large repository pushes.(v2.1.248)
- Introduced `/usage-credits` for Enterprise organizations to request higher usage limits from administrators.(v2.1.248)
- Enabled cross-session messaging (`SendMessage` / `ListAgents`) between sessions on the same machine, even when telemetry is disabled.(v2.1.248)
- Changed shift+enter in the agent view dispatch input to insert a newline, while ctrl+enter dispatches and attaches.(v2.1.248)
- Made self-paced dynamic mode and the no-prompt autonomous default in `/loop` always available, including on Bedrock/Vertex/Foundry.(v2.1.248)
- Added the `SendFeedback` tool, allowing Claude to draft feedback reports when issues occur during a session, which can be reviewed and sent from `/feedback`.(v2.1.247)
- Enhanced `spinnerTipsOverride` by adding `{id, text, cooldownSessions, priority}` entries, `tipsFile`, and `label`, enabling organizations to use their own custom tips alongside built-in ones.(v2.1.247)
- Introduced a new tip for Bash permission prompts that suggests switching to auto mode with a one-keystroke option.(v2.1.247)
- Added the `/claude-api cost-optimize` command to profile existing project Claude API spend and guide users through cost-saving optimizations.(v2.1.247)
- Updated the `/claude-api` skill to include Admin API coverage for managing organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, and CMEK.(v2.1.247)
- Added an Auto mode tab to /permissions for viewing and editing auto mode classifier rules(v2.1.246)
- Added the turn's completion time to the end-of-turn duration line for better time tracking(v2.1.246)
- Introduced a startup warning for Bash allow rules with a wildcard before the subcommand to prevent unintended matches(v2.1.246)
- Enabled prompts starting with '/--' (e.g. Lean doc comments) to be sent to Claude instead of being rejected as unknown slash commands(v2.1.246)
- Added a Loops breakdown to /usage to easily spot runaway or chatty /loop tasks, showing per-loop run count, total tokens, tokens per run, and last run.(v2.1.243)
- Introduced the `modelPicker` setting to curate the /model picker with a custom, ordered, and labeled list of models, allowing for replacement or appending to the built-in lineup.(v2.1.243)
- Enabled prompt caching with `promptCacheTtl` and `subagentPromptCacheTtl` settings, allowing API-key and cloud-provider users to maintain a 1-hour prompt cache for main conversations while subagents use a 5-minute cache.(v2.1.243)
- Added the `modelPricing` managed setting to use an organization's contracted per-model rates and discount multiplier for cost calculations, status line, and telemetry, instead of list price.(v2.1.243)
- Introduced a keyless sign-in option under /login → Anthropic Console for organizations that do not allow API keys, allowing sign-in with a Console account.(v2.1.243)
- Added a `Skipped sources` line to /status to list managed settings sources that were present but not applied due to higher-precedence sources.(v2.1.243)
- Added a `managed` marker in /mcp and /plugins on claude.ai connectors to indicate when their authentication is managed by your organization.(v2.1.243)
- Added a tip for claude.ai users who haven't connected GitHub for Claude Code on the web, pointing them to /web-setup.(v2.1.243)
- Added a /status line indicating whether GitHub is connected for Claude Code on the web (Pro/Max), with a link to /web-setup if not connected.(v2.1.243)
- Included the model and effort level each subagent ran on in /tasks and agent detail dialogs.(v2.1.243)
- Enabled Ctrl+R history search and up-arrow history to function correctly even when `~/.claude/history.jsonl` contains a malformed entry.(v2.1.243)
- Added a one-time fullscreen renderer offer for Bedrock, Vertex, Foundry, and other previously excluded setups; new installs now start in fullscreen.(v2.1.239)
- Introduced the `/claude-api upgrade` command to migrate Python projects from the `anthropic` 0.x to 1.x library.(v2.1.239)
- Enabled cloud sessions to sync plugins from claude.ai, which will be displayed as `name@synced` and can be managed with `claude plugin enable/disable <name>@synced`.(v2.1.239)
- Added native image paste, clipboard, and audio-capture add-ons for Alpine/musl builds.(v2.1.239)
- Introduced a reminder after compaction that includes a skill's original arguments, preventing them from being re-run as a new request.(v2.1.239)
- Enabled `/goal` to restore the active goal when resuming a session from the `claude --resume` picker.(v2.1.239)
- Updated `ListAgents` to show live teammates, not just subagents and other sessions.(v2.1.239)
- Enabled `keybindingFlavor: "readline"` to match Bash word keys for improved navigation and editing.(v2.1.239)
- Enabled persistent retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`) to fail immediately on organization spend-limit and out-of-credits errors.(v2.1.239)
- Enabled `/clear` in Claude in Chrome to close the session's Chrome tab group, and empty groups are now closed on `/resume` and when Claude Code exits.(v2.1.239)
- Enabled remote sessions to include the saved file path for images uploaded from mobile, allowing Claude to copy them into created files.(v2.1.239)
- Enabled requests from Bash and other tools to non-API anthropic.com hosts in Claude Code on the web to go through the session's network proxy.(v2.1.239)
- Added a `keybindingFlavor` setting to customize prompt keybindings, allowing Ctrl+W to delete back to the previous whitespace when set to `readline`.(v2.1.238)
- Introduced plugin marketplaces with `headersHelper` to mint HTTP headers for catalog and same-origin archive fetches.(v2.1.238)
- Added `claude self-hosted-runner --defer-shutdown-max-min <minutes>` to control how long self-hosted runners keep serving sessions after a SIGTERM before parking and exiting.(v2.1.238)
- Added `claude self-hosted-runner --proxy-authorization-command` and `--proxy-authorization-file` for egress proxies requiring fresh `Proxy-Authorization` headers.(v2.1.238)
- Enabled cross-session messaging to report "refused" when sending to a session configured to refuse inbound messages.(v2.1.238)
- Enabled cross-session messaging to notify the sender when messages are dropped due to rate limits or a full queue.(v2.1.238)
- Added an optional `spellcheck` setting that underlines misspelled words in the prompt input as you type, using your installed `aspell`, `hunspell`, or `ispell`.(v2.1.235)
- Introduced clearer error messages for unavailable agents, listing available options instead of a general default.(v2.1.235)
- Enabled Vim mode to preserve NORMAL mode and cursor position when toggling the detailed transcript or closing a panel.(v2.1.235)
- Enabled `SendMessage` to refuse messages too large for cross-session delivery upfront, preventing silent data loss.(v2.1.235)
- Enabled `claude rc` to apply the same enterprise-gateway availability check as interactive startup for Remote Control.(v2.1.235)
- Added the optional `CLAUDE_CODE_PROJECT_DIR_NAME` environment variable to specify a short name for per-project transcript directories.(v2.1.234)
- Introduced the `selection:clear` keybinding action to clear in-app text selections, also functional in the agents view.(v2.1.234)
- Added a GitLab merge request badge to the footer and statusline, displaying MR status for GitLab remotes with authenticated `glab` CLI.(v2.1.234)
- Enabled automatic session continuation when a claude.ai usage limit resets, with an option to disable this in `/config`.(v2.1.234)
- Enhanced security by rejecting Windows NT-namespace paths for remote file reads, session restore, CLAUDE.md includes, workflow scripts, and file uploads.(v2.1.234)
- Remote Control sessions started from Claude Code Desktop or VS Code now keep phones and claude.ai/code updated on session permission mode and model changes.(v2.1.234)
- Remote Control: effort picks made on a phone or claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to connected clients.(v2.1.234)
- The `SendMessage` and `ListAgents` commands now indicate when the account's session list is too long to check completely, instead of treating unseen sessions as absent.(v2.1.234)
- Improved the transcript to render user's own prompts with markdown (highlighted code blocks, inline code, lists) similar to replies.(v2.1.234)
- Reduced the context cost of loading the built-in `claude-api` skill by loading reference docs on demand.(v2.1.234)
- Added the ability to open `/permissions` while Claude is working, with rule changes applying to the rest of the current turn.(v2.1.234)
- Added the ability to use `/add-dir <path>` while Claude is working; `/add-dir`, `/autocompact`, `/theme`, `/help`, `/config`, and `/advisor` dialogs now open mid-turn in the fullscreen TUI.(v2.1.234)
- The `/goal` command now clears itself with a notice when a turn fails due to an unrecoverable error (e.g., revoked auth, exhausted credit balance, context overflow).(v2.1.234)
- Added a check-in mechanism for `/goal` when background tasks keep a goal waiting for over 30 minutes, with an option to opt-out.(v2.1.234)
- Added support for GitLab merge request URLs in the `--worktree` flag and the `claude agents` view.(v2.1.233)
- Introduced an opt-in `forward_user_identity` setting for apps gateways on Anthropic upstreams to send signed-in user identity as headers for spend attribution.(v2.1.233)
- Enabled opt-in memory cgroup support for Bash tool commands on Linux via `CLAUDE_CODE_TOOL_MEMORY_LIMIT` to prevent runaway builds from stalling sessions.(v2.1.233)
- Added the `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` environment variable to configure the WebFetch session URL cache TTL.(v2.1.233)
- Introduced subagent forking by default, allowing subagents to inherit the full conversation and prompt cache, and running non-teammate agent spawns in interactive sessions in the background.(v2.1.232)
- Enabled mentioning other Claude sessions by name using '@' in the prompt, allowing direct communication via SendMessage.(v2.1.232)
- Added secret redaction for various GitLab token families and full redaction for routable GitLab tokens, enhancing security.(v2.1.232)
- Integrated GitLab support into plugin marketplaces, allowing cloning of bare gitlab.com repository URLs.(v2.1.232)
- Offered Fable 5 as an advisor in `/advisor` for organizations with Fable access, with usage-credits consent managed through `/model fable`.(v2.1.232)
- Enabled pasting and clipboard images to be read without blocking the event loop.(v2.1.232)
- Added `/code-review` at high, xhigh, and max effort to run in a background agent, similar to other levels.(v2.1.232)
- Added server-supplied Claude Code hook support for self-hosted runner sessions, mirroring managed-environment behavior.(v2.1.229)
- Introduced plugin marketplace command sources, allowing local commands to specify plugin directories that are re-resolved each session without a restart.(v2.1.229)
- Enabled session groups in the VSCode sidebar for easier organization and management of conversations.(v2.1.229)
- Added the ability to resize the "btw" side-question panel in VSCode by dragging its boundary.(v2.1.229)
- Updated VSCode's "Report a problem" and `/bug` commands to use the built-in feedback dialog instead of a retired survey link.(v2.1.229)
- Added gateway spend-limit support to Claude Code's usage warning, providing more details about the limit and its reset time.(v2.1.225)
- Introduced a workspace trust prompt for `claude agents` when operating in untrusted directories, enhancing security.(v2.1.225)
- Enabled starting conversations with Remote Control sessions on other machines by name using `SendMessage`, in addition to replying to incoming messages.(v2.1.225)
- Added self-hosted environments, allowing you to use your own machines or containers as Claude Code execution environments on Team and Enterprise plans.(v2.1.224)
- Introduced the `archive` plugin source, enabling installation of plugins from a zip file over HTTPS without requiring git or npm, with optional SHA-256 pinning.(v2.1.224)
- Enabled a cancel-and-confirm step when removing unavailable pastes to prevent accidental changes to a command's text.(v2.1.224)
- Added `ANTHROPIC_BEDROCK_REGION_PREFIX` environment variable for Bedrock to specify a preferred cross-region inference profile.(v2.1.224)
- Introduced `crossSessionInbound` and `dialogExpiry` settings to manage cross-session messages, holding messages sent to sessions with bypassed permissions for your approval and auto-delivering messages to other sessions.(v2.1.224)
- Added sandbox credential-masking options including `extract`, `onExtractNoMatch`, `decode: "jwt"` with `maskClaims`, and `awsPairs`/`sigv4` for AWS SigV4 re-signing, requiring `network.tlsTerminate`.(v2.1.224)
- Enabled cross-session messaging between Claude Code sessions on any of your machines using `SendMessage` and `ListAgents` for discovery (macOS and Linux).(v2.1.224)
- Removed the 200-subagent-per-session spawn cap, allowing long-running sessions to accommodate new agents.(v2.1.224)
- Added owner wildcard entries (e.g., "owner/*") to `strictKnownMarketplaces` and `blockedMarketplaces` managed settings for granular control over marketplace repositories within a GitHub organization.(v2.1.223)
- Added a warning when restricted subagent models are requested, ensuring the parent model runs instead for workflow agents, forked skills, slash commands, and resumed background agents.(v2.1.223)
- Introduced a `/teleport` hint in cloud sessions to facilitate seamless continuation of sessions locally using `claude --teleport <session id>`.(v2.1.223)
- Added Focus view in VSCode, a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with `Ctrl+Alt+F` or the "Claude Code: Toggle Focus view" command.(v2.1.221)
- Added `mode: "mask"` for sandbox credential files on Linux and WSL, allowing sandboxed commands to read a sentinel copy while the sandbox proxy substitutes the real value on egress.(v2.1.221)
- Added warnings to `claude plugin validate` for marketplace or plugin names that would be rejected by Claude Desktop's managed marketplace sync.(v2.1.221)
- Added a `prompt-audit` subcommand to the `claude-api` skill for auditing prompts and tool descriptions for patterns written for older models.(v2.1.221)
- Added an auto mode rule that blocks tampering with session transcript files(v2.1.205)
- Introduced /doctor as a full setup checkup tool that can diagnose and fix issues; /checkup is now its alias(v2.1.205)
- Added a "Dynamic workflow size" setting in /config for controlling the general size of dynamic workflows (advisory guideline).(v2.1.202)
- Enabled OpenTelemetry attribute logging for workflow-spawned agents, including workflow run ID and name, to reconstruct agent activity from OTel data.(v2.1.202)
- Enabled Claude in Chrome for general availability.(v2.1.198)
- Added background agent notifications in `claude agents` for sessions needing input or completion via the `Notification` hook.(v2.1.198)
- Added `/dataviz` skill for chart and dashboard design guidance, including a runnable color-palette validator.(v2.1.198)
- Enabled background agents launched from `claude agents` to automatically commit, push, and open a draft PR upon finishing code work in a worktree.(v2.1.198)
- Made the built-in Explore agent inherit the main session's model (capped at opus) instead of defaulting to haiku.(v2.1.198)
- Ensured subagents and context compaction now inherit the session's extended thinking configuration for improved output quality on delegated tasks.(v2.1.198)
- Introduced Claude Sonnet 5 as the new default model in Claude Code.(v2.1.197)
- Enabled native 1M-token context window support for Claude Sonnet 5.(v2.1.197)
- Added `sandbox.credentials` setting to block sandboxed commands from reading credential files and secret environment variables(v2.1.187)
- Added organization-configured model restrictions to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`(v2.1.187)
- Added mouse click support to select menus (permission prompts, `/model`, `/config`, etc.) in fullscreen mode(v2.1.187)
- Added `/config --help` to list all available shorthand keys for `/config key=value`(v2.1.183)
- Added `attribution.sessionUrl` setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions(v2.1.183)
- Added /config key=value syntax to set any setting directly from the prompt, usable in interactive, -p, and Remote Control modes.(v2.1.181)
- Added sandbox.allowAppleEvents opt-in setting to permit sandboxed commands to send Apple Events on macOS.(v2.1.181)
- Introduced CLAUDE_CLIENT_PRESENCE_FILE environment variable to suppress mobile push notifications when working on the machine by pointing it to a marker file.(v2.1.181)
- Added `requiredMinimumVersion` and `requiredMaximumVersion` managed settings to enforce Claude Code version compliance.(v2.1.163)
- Added `/plugin list` command with `--enabled`/`--disabled` filters to view installed plugins.(v2.1.163)
- Added a "c to copy" shortcut to `/btw` that copies the raw markdown answer to the clipboard, preserving formatting.(v2.1.163)
- Enabled Hooks (Stop and SubagentStop) to return `hookSpecificOutput.additionalContext` to provide feedback and continue the turn without error.(v2.1.163)
- Enabled the use of `$` escape syntax in Skills command bodies to include a literal `$` before a digit.(v2.1.163)
- Added the `waitingFor` field to `claude agents --json` output to show what a waiting session is blocked on, such as a permission prompt.(v2.1.162)
- Enabled explicit listing of Grep/Glob tools to provide dedicated search tools on native builds with embedded search.(v2.1.162)
- Added confirmation when setting the `/effort` level as the default for new sessions.(v2.1.162)
- Changed slash command behavior: clicking a command in autocomplete now fills the prompt instead of running immediately; pressing Enter now executes the command.(v2.1.162)
- Made Remote Control status persistent as a footer pill with a link to the session, replacing the startup message.(v2.1.162)
- Enabled inclusion of custom dimension labels (like team or repo) on metric datapoints via OTEL_RESOURCE_ATTRIBUTES.(v2.1.161)
- Introduced a 'Show unused connectors' row in /mcp to collapse unused claude.ai connectors.(v2.1.161)
- Enabled independent result reporting for parallel tool calls; a failure in one Bash command no longer cancels others in the batch.(v2.1.161)
- Enhanced fullscreen mode clipboard handling on Linux to use wl-copy/xclip/xsel, copying to both clipboard and PRIMARY selection.(v2.1.161)
- Added the ability for the `/code-review --fix` command to apply review findings directly to the working tree, offering reuse, simplification, and efficiency suggestions.(v2.1.152)
- Enabled skills and slash commands to specify `disallowed-tools` in frontmatter to restrict available tools during skill execution.(v2.1.152)
- Introduced the `/reload-skills` command to re-scan skill directories without requiring a session restart.(v2.1.152)
- Enabled `SessionStart` hooks to return `reloadSkills: true` to make newly installed skills available within the same session.(v2.1.152)
- Allowed `SessionStart` hooks to set the session title using `hookSpecificOutput.sessionTitle` upon startup or resume.(v2.1.152)
- Added a `MessageDisplay` hook event allowing hooks to transform or hide assistant message text before it is displayed to the user.(v2.1.152)
- Added the managed setting `pluginSuggestionMarketplaces`, allowing admins to allowlist specific organization marketplaces for context-aware plugin suggestions.(v2.1.152)
- Enabled the `/usage` breakdown to include large session files, utilizing streaming reads to maintain flat memory usage during scanning.(v2.1.152)
- Vim mode now opens reverse history search (`Ctrl+R` equivalent) when pressing `/` in NORMAL mode.(v2.1.152)
- Added per-category breakdown in /usage to show limits driven by skills, subagents, plugins, and per-MCP-server cost.(v2.1.149)
- Enabled keyboard scrolling (arrows, j/k, PgUp/PgDn, Space, Home/End) in the /diff detail view.(v2.1.149)
- Markdown output now renders GFM task list checkboxes (- [ ] todo / - [x] done) instead of plain bullets.(v2.1.149)
- Enterprise: Added the allowAllClaudeAiMcps managed setting to load claude.ai cloud MCP connectors alongside managed-mcp.json.(v2.1.149)
- Renamed the /simplify command to /code-review, now supporting an optional effort level (e.g., /code-review high)(v2.1.146)
- Added plugin dependency enforcement, preventing disabling of plugins that are required by other enabled plugins.(v2.1.143)
- Enabled force-enabling of transitive dependencies when enabling a plugin.(v2.1.143)
- Added projected context cost estimates (per-turn and per-invocation token) to the /plugin marketplace browse pane.(v2.1.143)
- Introduced the `worktree.bgIsolation: "none"` setting to allow background sessions to edit the working copy directly without requiring `EnterWorktree`.(v2.1.143)
- PowerShell tool now passes `-ExecutionPolicy Bypass` by default on Windows, with an option to respect the execution policy.(v2.1.143)
- Background sessions now preserve the previously set model and effort level after waking from an idle state.(v2.1.143)
- Shift+Tab in attached agent sessions now includes auto mode in the cycle.(v2.1.143)
- The PowerShell tool is now enabled by default on Windows for Bedrock, Vertex, and Foundry users.(v2.1.143)
- The `claude agents` command now accepts `--add-dir`, `--settings`, `--mcp-config`, and `--plugin-dir` arguments to configure background sessions.(v2.1.143)
- The `claude agents` command now accepts `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` to set defaults for dispatched sessions.(v2.1.143)
- The `--bg --dangerously-skip-permissions` flag now persists across retire and wake cycles.(v2.1.143)
- Added new `claude agents` flags: `--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` to configure dispatched background sessions(v2.1.142)
- Plugins with a root-level `SKILL.md` and no `skills/` subdirectory are now surfaced as a skill(v2.1.142)
- The `/plugin` details pane and `claude plugin details` now show LSP servers a plugin provides(v2.1.142)
- Added `terminalSequence` field to hook JSON output to allow hooks to emit desktop notifications, window titles, and bells without a controlling terminal.(v2.1.141)
- Added `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` environment variable to force cloning GitHub plugin sources over HTTPS instead of SSH.(v2.1.141)
- Added `ANTHROPIC_WORKSPACE_ID` environment variable for workload identity federation to scope minted tokens to a specific workspace.(v2.1.141)
- Enabled scoping the session list to a directory using `claude agents --cwd <path>`.(v2.1.141)
- Enabled including recent sessions (last 24 hours or 7 days) in `/feedback` reports for issues spanning multiple sessions.(v2.1.141)
- Added "Summarize up to here" option in the Rewind menu to compress earlier context while preserving recent turns.(v2.1.141)
- Restored the "view diff in your IDE" option on file-edit permission prompts when an IDE is connected.(v2.1.141)
- Background agents launched via `/bg` or `←←` now preserve the current permission mode instead of reverting to default.(v2.1.141)
- Agents that finish work but leave a background shell running now move to the `Completed` state in `claude agents` instead of remaining under `Working`.(v2.1.141)
- Added warning when a default plugin component folder is silently ignored due to configuration in `plugin.json`.(v2.1.140)
- Added configuration option `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` to re-enable the session quality survey for enterprises capturing responses through OpenTelemetry.(v2.1.136)
- Added `settings.autoMode.hard_deny` for auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions.(v2.1.136)
- Enabled image paste from Windows clipboard to work in WSL2 via a PowerShell fallback when standard tools fail.(v2.1.136)
- Added `CLAUDE_CODE_SESSION_ID` environment variable to the Bash tool subprocess environment.(v2.1.132)
- Added `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1` environment variable to opt out of the fullscreen alternate-screen renderer and retain conversation in the terminal's native scrollback.(v2.1.132)
- Added a "Pasting…" footer hint displayed while an image pasted via Ctrl+V is being read from the clipboard.(v2.1.132)
- Added support for picking a random session color when using the bare /color command.(v2.1.128)
- Enabled /mcp command to show tool counts for connected servers and flag servers with 0 tools.(v2.1.128)
- Enabled --plugin-dir to accept .zip plugin archives in addition to directories.(v2.1.128)
- Enabled --channels to work with console (API key) authentication, requiring managed orgs to set channelsEnabled: true.(v2.1.128)
- Updated /model picker to collapse duplicate Opus 4.7 entries and display the current Opus model simply as "Opus".(v2.1.128)
- Introduced persistent localSettings suggestion for SDK hosts regarding Bash permission prompts, ensuring "Always allow" writes to .claude/settings.local.json.(v2.1.128)
- Changed EnterWorktree to create the new branch from local HEAD instead of origin/<default-branch>, preventing the dropping of unpushed commits.(v2.1.128)
- Added `alwaysLoad` option to MCP server config to force immediate loading of all tools from that server.(v2.1.121)
- Introduced `claude plugin prune` command to remove orphaned auto-installed plugin dependencies; `plugin uninstall --prune` now cascades.(v2.1.121)
- Added a type-to-filter search box to the `/skills` command for easier navigation of long skill lists.(v2.1.121)
- Enabled PostToolUse hooks to replace tool output for all tools via `hookSpecificOutput.updatedToolOutput`, expanding beyond MCP-only functionality.(v2.1.121)
- Enabled support for X.509 certificate-based Workload Identity Federation (mTLS ADC) for Vertex AI connections.(v2.1.121)
- Enabled `CLAUDE_CODE_FORK_SUBAGENT=1` to function correctly in non-interactive sessions for SDK and `claude -p`.(v2.1.121)
- The `--dangerously-skip-permissions` flag now suppresses prompts for writes to `.claude/skills/`, `.claude/agents/`, and `.claude/commands/`.(v2.1.121)
- Enabled iTerm2's "Applications in terminal may access clipboard" setting via `/terminal-setup` to ensure `/copy` functionality works, including from tmux.(v2.1.121)
- The terminal tab session title is now generated based on your configured `language` setting.(v2.1.121)
- Enabled `mcp_authenticate` in the SDK to support `redirectUri` for custom scheme completion and claude.ai connectors.(v2.1.121)
- Added `stop_reason`, `gen_ai.response.finish_reasons`, and `user_system_prompt` (gated by `OTEL_LOG_USER_PROMPTS`) to OpenTelemetry LLM request spans.(v2.1.121)
- Enabled Voice dictation in VSCode to respect the `accessibility.voice.speechLanguage` setting when no Claude Code language is configured.(v2.1.121)
- Enabled `/context` in VSCode to open a native token usage dialog.(v2.1.121)
- Added the non-interactive `claude ultrareview [target]` subcommand for running `/ultrareview` from CI or scripts, printing results to stdout.(v2.1.120)
- Enabled skills to reference the current effort level using the `${CLAUDE_EFFORT}` variable within their content.(v2.1.120)
- Added support for pointing the footer PR badge at a custom code-review URL via the new `prUrlTemplate` setting.(v2.1.119)
- Enabled hiding the working directory in the startup logo using the `CLAUDE_CODE_HIDE_CWD` environment variable.(v2.1.119)
- Expanded support for the `--from-pr` flag to accept GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs.(v2.1.119)
- Enabled `--print` mode to honor the agent's `tools:` and `disallowedTools:` frontmatter, aligning behavior with interactive mode.(v2.1.119)
- Enabled `--agent <name>` to honor the agent definition's `permissionMode` for built-in agents.(v2.1.119)
- Enabled auto-approval for PowerShell tool commands when operating in permission mode, matching Bash behavior.(v2.1.119)
- Introduced `duration_ms` (tool execution time) to `PostToolUse` and `PostToolUseFailure` hook inputs.(v2.1.119)
- Enabled plugins pinned by another plugin's version constraint to auto-update to the highest satisfying git tag.(v2.1.119)
- Updated slash command suggestions to highlight the characters that matched the user's query.(v2.1.119)
- Updated slash command picker to wrap long descriptions onto a second line instead of truncating them.(v2.1.119)
- Updated `owner/repo#N` shorthand links in output to use the git remote's host instead of defaulting to github.com.(v2.1.119)
- Updated OpenTelemetry events: `tool_result` and `tool_decision` now include `tool_use_id`; `tool_result` also includes `tool_input_size_bytes`.(v2.1.119)
- Enabled forking of subagents on external builds via the CLAUDE_CODE_FORK_SUBAGENT=1 setting.(v2.1.117)
- Agent frontmatter mcpServers are now loaded for main-thread agent sessions when using the --agent flag.(v2.1.117)
- The /resume command now offers to summarize stale, large sessions before re-reading them, aligning with existing --resume behavior.(v2.1.117)
- Plugin install now attempts to install missing dependencies when a plugin is already installed, instead of stopping.(v2.1.117)
- Plugin dependency resolution is improved: errors now indicate "not installed" with an install hint, and claude plugin marketplace add now auto-resolves missing dependencies.(v2.1.117)
- Added `sandbox.network.deniedDomains` setting to block specific domains even when a broader `allowedDomains` wildcard would otherwise permit them(v2.1.113)
- Enabled Remote Control clients to query `@`-file autocomplete suggestions(v2.1.113)
- Improved `/ultrareview` with faster launch via parallelized checks, inclusion of diffstat in the launch dialog, and an animated launching state(v2.1.113)
- Added /tui command and tui setting to switch to flicker-free rendering in the same conversation via /tui fullscreen.(v2.1.110)
- Introduced the push notification tool, allowing Claude to send mobile push notifications when Remote Control and "Push when Claude decides" config are enabled.(v2.1.110)
- Added the `autoScrollEnabled` config option to disable conversation auto-scroll in fullscreen mode.(v2.1.110)
- Added an option to show Claude's last response as commented context in the `Ctrl+G` external editor (enabled via /config).(v2.1.110)
- Enabled session recap for users with telemetry disabled (Bedrock, Vertex, Foundry, DISABLE_TELEMETRY).(v2.1.110)
- The Write tool now informs the model when you edit the proposed content in the IDE diff before accepting.(v2.1.110)
- Added \/team-onboarding command to generate a teammate ramp-up guide from local Claude Code usage.(v2.1.101)
- Enabled OS CA certificate store trust by default, allowing enterprise TLS proxies to work without extra setup.(v2.1.101)
- Introduced auto-creation of a default cloud environment for \/ultraplan and other remote-session features, removing the need for prior web setup.(v2.1.101)
- Added support for Amazon Bedrock powered by Mantle.(v2.1.94)
- Added compact "Slacked #channel" header with a clickable channel link for Slack MCP send-message tool calls.(v2.1.94)
- Added support for the `keep-coding-instructions` frontmatter field for plugin output styles.(v2.1.94)
- Added `hookSpecificOutput.sessionTitle` to `UserPromptSubmit` hooks for setting the session title.(v2.1.94)
- Enabled plugin skills declared via `"skills": ["./"]` to use the skill's frontmatter `name` for the invocation name instead of the directory basename.(v2.1.94)
- Added interactive Bedrock setup wizard accessible from the login screen for guided AWS authentication, region configuration, credential verification, and model pinning.(v2.1.92)
- Added per-model and cache-hit breakdown to the /cost command for subscription users.(v2.1.92)
- Enabled Remote Control session names to default to the user's hostname (e.g. myhost-graceful-unicorn), which can be overridden.(v2.1.92)
- Pro users now see a footer hint when returning to a session after prompt cache expiration, indicating the approximate number of uncached tokens for the next turn.(v2.1.92)
- Added conditional `if` field for hooks using permission rule syntax to filter when they run, reducing process spawning overhead.(v2.1.85)
- Added timestamp markers in transcripts when scheduled tasks (`/loop`, `CronCreate`) fire.(v2.1.85)
- Added trailing space after `[Image #N]` placeholder when pasting images.(v2.1.85)
- Enabled deep link queries (`claude-cli://open?q=...`) to support up to 5,000 characters, with a warning for long pre-filled prompts.(v2.1.85)
- Enabled PreToolUse hooks to satisfy `AskUserQuestion` by returning `updatedInput` alongside `permissionDecision: \"allow\" `, supporting headless integrations.(v2.1.85)
- Plugins blocked by organization policy are now hidden from marketplace views and cannot be installed or enabled.(v2.1.85)
- Added PowerShell tool for Windows as an opt-in preview.(v2.1.84)
- Added `TaskCreated` hook that fires when a task is created via `TaskCreate`.(v2.1.84)
- Added `WorktreeCreate` hook support for `type: "http"`.(v2.1.84)
- Added `allowedChannelPlugins` managed setting for team/enterprise admins to define a channel plugin allowlist.(v2.1.84)
- Added `x-client-request-id` header to API requests for debugging timeouts.(v2.1.84)
- Added idle-return prompt that nudges users returning after 75+ minutes to `/clear`, reducing unnecessary token re-caching on stale sessions.(v2.1.84)
- Enabled deep links (`claude-cli://`) to open in your preferred terminal instead of the first detected terminal.(v2.1.84)
- Rules and skills `paths:` frontmatter now accepts a YAML list of globs.(v2.1.84)
- Enabled global system-prompt caching when `ToolSearch` is enabled, including for users with MCP tools configured.(v2.1.84)
- Added transcript search functionality, accessible via pressing / in transcript mode, with n/N to step through matches.(v2.1.83)
- Added support for agents to declare an initialPrompt in frontmatter to automatically submit a first turn upon session start.(v2.1.83)
- Enabled positional referencing of pasted images in prompts by inserting an [Image #N] chip at the cursor location.(v2.1.83)
- Added support for binding `chat:killAgents` and `chat:fastMode` via the `~/.claude/keybindings.json` file.(v2.1.83)
- Enabled the use of `Ctrl+X Ctrl+E` as an alternative binding for opening the external editor.(v2.1.83)
- Added optional index argument to the /copy command: /copy N now copies the Nth-latest assistant response.(v2.1.77)
- Added the allowRead sandbox filesystem setting to re-allow read access within denyRead regions.(v2.1.77)
- Enabled sessions to be auto-named based on plan content when a plan is accepted.(v2.1.77)
- Renamed the /fork command to /branch (with /fork remaining as an alias).(v2.1.77)
- Added actionable suggestions to /context command to identify context-heavy tools, memory bloat, and capacity warnings with specific optimization tips(v2.1.74)
- Added autoMemoryDirectory setting to configure a custom directory for auto-memory storage(v2.1.74)
- Added `modelOverrides` setting to map model picker entries to custom provider model IDs (e.g. Bedrock inference profile ARNs)(v2.1.73)
- Added actionable guidance when OAuth login or connectivity checks fail due to SSL certificate errors (corporate proxies, `NODE_EXTRA_CA_CERTS`)(v2.1.73)
- Improved Up arrow after interrupting Claude to now restore the interrupted prompt and rewind the conversation in one step(v2.1.73)
- Improved `/effort` to work while Claude is responding, matching `/model` behavior(v2.1.73)
- Changed default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6 (was Opus 4.1)(v2.1.73)
- Added the `w` key in `/copy` to write the focused selection directly to a file, bypassing the clipboard (useful over SSH).(v2.1.72)
- Introduced optional description argument to `/plan` (e.g., `/plan fix the auth bug`) that enters plan mode and immediately starts.(v2.1.72)
- Added `claude plugins` as an alias for `claude plugin`.(v2.1.72)
- Added `ExitWorktree` tool to leave an `EnterWorktree` session.(v2.1.72)
- Enabled the `CLAUDE_CODE_DISABLE_CRON` environment variable to immediately stop scheduled cron jobs mid-session.(v2.1.72)
- Added `lsof`, `pgrep`, `tput`, `ss`, `fd`, and `fdfind` to the bash auto-approval allowlist, reducing permission prompts for common read-only operations.(v2.1.72)
- Added support for marketplace git URLs without the `.git` suffix (Azure DevOps, AWS CodeCommit).(v2.1.72)
- Restored the `model` parameter on the Agent tool for per-invocation model overrides.(v2.1.72)
- Added effort level indicator on the input border in VSCode.(v2.1.72)
- Added `vscode://anthropic.claude-code/open` URI handler in VSCode to open a new Claude Code tab programmatically, with optional `prompt` and `session` query parameters.(v2.1.72)
- Added /loop command to run a prompt or slash command on a recurring interval (e.g. /loop 5m check the deploy)(v2.1.71)
- Added cron scheduling tools for recurring prompts within a session(v2.1.71)
- Added voice:pushToTalk keybinding to make the voice activation key rebindable in keybindings.json (default: space)(v2.1.71)
- Added bash auto-approval for commands including: fmt, comm, cmp, numfmt, expr, test, printf, getconf, seq, tsort, and pr(v2.1.71)
- Added spark icon in VS Code activity bar that lists all Claude Code sessions, with sessions opening as full editors(v2.1.70)
- Added full markdown document view for plans in VS Code, with support for adding comments to provide feedback(v2.1.70)
- Added native MCP server management dialog in VS Code, allowing users to enable/disable servers, reconnect, and manage OAuth authentication via the /mcp command(v2.1.70)
- Added support for configuring the startup timeout for LSP servers via the `startupTimeout` setting.(v2.1.50)
- Introduced `WorktreeCreate` and `WorktreeRemove` hook events to allow custom setup/teardown when agent worktrees are managed.(v2.1.50)
- Enabled declarative use of isolated git worktrees for agents via `isolation: worktree` in agent definitions.(v2.1.50)
- Added the `claude agents` command to the CLI for listing all configured agents.(v2.1.50)
- Added support for the `CLAUDE_CODE_DISABLE_1M_CONTEXT` environment variable to disable the 1M context window feature.(v2.1.50)
- Enabled the full 1M context window support for Opus 4.6 (fast mode).(v2.1.50)
- Added support for the `/extra-usage` command within VS Code sessions.(v2.1.50)
- Added `last_assistant_message` field to Stop and SubagentStop hook inputs, allowing hooks to access the final assistant response text.(v2.1.47)
- Added `chat:newline` keybinding action for configurable multi-line input.(v2.1.47)
- Added `added_dirs` to the statusline JSON `workspace` section, exposing directories added via `/add-dir` to external scripts.(v2.1.47)
- Enabled using `ctrl+f` to kill all background agents instead of double-pressing ESC, allowing background agents to continue running when ESC cancels the main thread.(v2.1.47)
- Added CLI subcommands for authentication management: `claude auth login`, `claude auth status`, and `claude auth logout`(v2.1.41)
- Added native binary support for Windows ARM64 (win32-arm64) architecture(v2.1.41)
- Added new task management system with dependency tracking capabilities.(v2.1.16)
- Introduced native plugin management support within the VSCode extension.(v2.1.16)
- Enabled OAuth users in VSCode to browse and resume remote Claude sessions directly from the Sessions dialog.(v2.1.16)
- Added source path metadata to images dragged onto the terminal to help Claude understand image origins(v2.1.2)
- Added clickable hyperlinks for file paths in tool output in terminals that support OSC 8 (like iTerm)(v2.1.2)
- Added support for Windows Package Manager (winget) installations with automatic detection and update instructions(v2.1.2)
- Added Shift+Tab keyboard shortcut in plan mode to quickly select "auto-accept edits" option(v2.1.2)
- Added FORCE_AUTOUPDATE_PLUGINS environment variable to allow plugin autoupdate even when the main auto-updater is disabled(v2.1.2)
- Added agent_type to SessionStart hook input, populated if --agent is specified(v2.1.2)
All DESKTOP Bug Fixes
- Fixed typed or pasted characters occasionally landing out of order or being dropped during fast input or key repeat.(v2.1.261)
- Fixed `/add-dir <subdirectory>` printing a false "couldn't be resolved" error when the working directory is on a `/net` automount.(v2.1.261)
- Fixed the Bedrock setup wizard hanging when AWS or an AWS credential helper never responds, now it times out with a clear error.(v2.1.261)
- Fixed Bedrock model checks failing behind a TLS-inspecting proxy.(v2.1.261)
- Fixed cloud sessions discarding a plugin synced from claude.ai when managed settings force-enable it, then falling back to a potentially failing marketplace clone.(v2.1.261)
- Fixed inability to delete the character immediately before an inline `[Image #N]` chip in the prompt input.(v2.1.261)
- Fixed resuming a session losing hook output and other context around parallel tool calls, which previously altered the resumed request.(v2.1.261)
- Fixed Remote Control showing a stale permission mode when a phone, browser, or claude.ai app attaches to a terminal session or after the mode changes.(v2.1.261)
- Fixed Remote Control sessions appearing to still be working after stopping a turn or executing a local slash command like `/clear`.(v2.1.261)
- Fixed SDK and cloud sessions ignoring a Stop or interrupt sent just after the first prompt, before the turn had started; turns now stop correctly.(v2.1.261)
- Fixed Remote Control uploading a session pulled with `/teleport` into the connected session, which previously appeared appended to the original.(v2.1.261)
- Fixed Remote Control's inbound event stream failing behind TLS-inspecting corporate proxies on native Windows.(v2.1.261)
- Fixed Remote Control sessions showing the default effort level on claude.ai when the effort level is specified in settings.(v2.1.261)
- Fixed `gcpAuthRefresh` opening a browser at startup when the Google credential check was slow, even if the credential was still valid.(v2.1.261)
- Fixed claude.ai connectors staying absent for the entire session when the startup connector fetch timed out; the CLI now retries in the background.(v2.1.261)
- Fixed sustained high CPU usage when a background agent could not be resumed and its wake-up was retried in a tight loop.(v2.1.261)
- Fixed feature flags gated to a newer version occasionally applying to an older Claude Code version on the same machine.(v2.1.261)
- Fixed `/usage` and the VS Code usage panel dropping a model-specific weekly limit row when the usage endpoint is rate limited or opened right after startup.(v2.1.261)
- Fixed `claude -p --resume <file>` adopting a malformed session ID recorded in the transcript; it now resumes under a fresh session ID.(v2.1.261)
- Fixed the terminal progress indicator showing the session as finished while a background workflow or agent was still running.(v2.1.261)
- Fixed a rare layout glitch where a box could render with the wrong height after its container switched between row and column direction.(v2.1.261)
- Fixed Claude apps gateway client IP when a trusted proxy appends a port to `X-Forwarded-For`; unreadable entries now result in a 403.(v2.1.261)
- Fixed Claude apps gateway telling Claude Desktop to export OpenTelemetry as JSON even when the terminal CLI uses protobuf, preventing collector rejection.(v2.1.261)
- Fixed Desktop and web showing a session as busy when it is only watching an artifact for updates.(v2.1.261)
- Fixed Claude in Chrome `file_upload` failing with an error in local Cowork sessions run from the Claude Desktop app.(v2.1.261)
- Fixed `SendMessage` to an offline Remote Control session on another machine incorrectly reading as delivered; delivery is now queued until the machine reconnects.(v2.1.261)
- Fixed plugin install hints from CLIs run in background Bash commands from leaking the raw `<claude-code-hint>` tag into the conversation.(v2.1.261)
- Fixed in-process agent-team teammates re-sending their first-turn tool and skill announcements on the second turn, which altered the request prefix and missed the prompt cache.(v2.1.261)
- Fixed a VS Code session teleported from Claude Code on the web treating a question that was cut off when the cloud session shut down as declined.(v2.1.261)
- Fixed the VS Code session tab's Rename box opening empty for a tab restored with the window; it now starts with the current name.(v2.1.261)
- Fixed collapsed sections in the VS Code session list panel briefly showing expanded each time the panel loaded.(v2.1.261)
- Fixed VS Code Focus view showing a tool call as still running after Claude had moved on.(v2.1.261)
- Fixed the VS Code session list's active-row highlight going stale when an unfocused Claude tab's session ID is corrected.(v2.1.261)
- Fixed Cmd/Ctrl+Shift+T reopen and deep-link opens placing the VS Code Claude tab outside the Claude editor group when a Claude tab has focus.(v2.1.261)
- Fixed the VS Code session tab's "Add to group" action for a session opened from Claude Code on the Web.(v2.1.261)
- Fixed `Edit`/`Write`/`Read` permission rules with parentheses in their paths from being dropped by the Bash sandbox, which previously left 'read-only' folders writable.(v2.1.260)
- Fixed a file permission rule with an uncompilable pattern (e.g., an unclosed `[`) that caused all file edits to fail with 'Invalid regular expression'; such rules now guard the literal path.(v2.1.260)
- Fixed Bash permission checks that auto-approved zsh commands hiding command substitutions in assignments like REPORTTIME, REPORTMEMORY, or DIRSTACKSIZE; these now prompt for approval.(v2.1.260)
- Fixed Bedrock model discovery, token counting, and AWS SSO/STS credential calls failing with 'unable to get local issuer certificate' when the corporate root CA is only in the OS certificate store.(v2.1.260)
- Fixed `permissions.blockReadsOutsideWorkingDirectories` on macOS from hiding the user's git config from sandboxed git and a worktree-isolated sub-agent's checkout.(v2.1.260)
- Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier `/login`.(v2.1.260)
- Fixed `/status` incorrectly listing a signed-in claude.ai account and a configured API key as both active; the inactive credential is now marked.(v2.1.260)
- Fixed managed `skillOverrides` entries keyed on a bundled skill's alias (e.g., `checkup` for `/doctor`) not applying, and `Skill(name)` deny rules not covering nested skills listed as `<dir>:name`.(v2.1.260)
- Fixed `model: fable` agents ignoring the `[1m]` tag on an `ANTHROPIC_DEFAULT_FABLE_MODEL` pin, causing them to silently run with a 200K context window.(v2.1.260)
- Fixed the `/model` picker not showing Fable 5.1 for eligible organizations, which was only accepted when typed as `/model claude-fable-5-1`.(v2.1.260)
- Fixed prompt caching on Claude Fable 5.1 not covering context after tool results, leading to it being resent as uncached input on every tool-call turn.(v2.1.260)
- Fixed model switching remaining blocked for the session after a plugin hook load failure; switches now re-check and the refusal names the cause.(v2.1.260)
- Fixed model switching being blocked for the session when an organization-managed plugin's marketplace could not be loaded.(v2.1.260)
- Fixed SDK-provided MCP servers (e.g., Desktop connectors) sometimes missing on the first turn and only appearing on the next.(v2.1.260)
- Fixed Claude in Chrome tools failing with 'Not connected' mid-task in cloud-hosted claude.ai sessions when a connector was added or removed.(v2.1.260)
- Fixed flags, joined emoji, and accented letters splitting across wrapped lines, and stale text remaining on screen when a flag or joined emoji fell in the terminal's last two columns.(v2.1.260)
- Fixed Remote Control accepting an invalid model pick, which now results in an error instead of failing on the next message.(v2.1.260)
- Fixed `/rewind` and `--rewind-files` reporting success when checkpoint backup files were missing and no restoration occurred.(v2.1.260)
- Fixed `/rewind` leaving stale file-read tracking from rewound turns, causing 'File unchanged since last read' stubs and re-injection after external edits.(v2.1.260)
- Fixed `-p --resume`/`--continue` (used by the desktop app) failing on every retry once a session's worktree directory lost its git metadata; it now fails once and then resumes without the worktree.(v2.1.260)
- Fixed a subagent resuming another agent via SendMessage never being woken by that agent's completion, with notifications going to the main conversation instead.(v2.1.260)
- Fixed agent teams where an in-process teammate's transcript lost messages or went blank during long API retry waits due to retry notices evicting real messages.(v2.1.260)
- Fixed a session that moved to the background appearing twice in ListAgents (as a phantom 'interactive' twin) and receiving SendMessage deliveries in the viewer.(v2.1.260)
- Fixed intermittent 'task output swap refused' errors when many sessions share a project directory.(v2.1.260)
- Fixed Ctrl+Z in fullscreen leaving the shell on the alternate screen, drawn over the paused interface.(v2.1.260)
- Fixed Workflow tool subagents being restarted as stalled while a long context compaction was in progress.(v2.1.260)
- Fixed plugins from a URL marketplace failing to install with 'marketplace entry path does not stay inside the marketplace directory' when a host app stores it as a directory.(v2.1.260)
- Fixed an extra browser tab opening when an artifact is published in a session driven from claude.ai, the desktop app, or mobile (Remote Control).(v2.1.260)
- Fixed the Artifact tool's first call failing with an 'Invalid tool parameters' validation error in some Cowork sessions.(v2.1.260)
- Fixed IDE line selections being dropped when running a skill or slash command; the 'N lines selected' context now reaches Claude.(v2.1.260)
- Fixed repository detection for GitLab projects in nested subgroups (e.g., `gitlab.com/group/subgroup/project`).(v2.1.260)
- Fixed `owner/repo#123` issue references in rendered output linking to github.com when working in a GitLab repository; they now link to the gitlab.com issue.(v2.1.260)
- Glob/Grep: Fixed the search path being probed on disk before the permission check; missing paths are now reported after permission is decided, similar to Read.(v2.1.260)
- Reverted the 2.1.259 change applying `Read()` deny rules to Bash arguments, which incorrectly denied `npm run build` under a `Read(./**/build/**)` rule and caused `cd … && grep` to prompt even in auto mode.(v2.1.260)
- Fixed concurrent sessions silently reverting each other's `~/.claude.json` changes, preventing workspace trust resets and loss of MCP/project state.(v2.1.259)
- Fixed a bug where a rejected conversation turn would be repeatedly rejected on subsequent turns.(v2.1.259)
- Fixed Bash `Read()` deny rules not correctly covering files provided as option values, `git diff`/`git grep` file operands, or `cd DIR && cat FILE` compounds.(v2.1.259)
- Fixed the prompt cache being invalidated upon OAuth token refresh in sessions with telemetry disabled.(v2.1.259)
- Fixed fullscreen mode displaying a blank conversation after a long turn with numerous tool calls.(v2.1.259)
- Fixed auto mode incorrectly running a turn on an unsupported model when a command or skill's frontmatter specified one; the session model is now used.(v2.1.259)
- Fixed `CLAUDE_CODE_MAX_CONTEXT_TOKENS` being ignored for unrecognized Vertex-style model IDs.(v2.1.259)
- Fixed the live output preview of running shell commands hiding newest lines when an earlier line wrapped.(v2.1.259)
- Fixed a background GitHub connection check for claude.ai users that ran on every launch; the result is now remembered.(v2.1.259)
- Fixed `--resume` failing and `--continue` opening an empty conversation when a saved session contained an attachment entry without a payload.(v2.1.259)
- Fixed frontmatter `model:` on custom commands and skills being ignored in interactive sessions.(v2.1.259)
- Fixed Artifact publishing failing with an "unexpected parameter `note`" error in conversations continued from older versions.(v2.1.259)
- Fixed managed `forceRemoteSettingsRefresh` being ignored at startup when a policy helper had already run.(v2.1.259)
- Fixed worktree isolation refusing hook-created worktrees on machines where `git rev-parse` fails with non-"not a git repository" messages.(v2.1.259)
- Fixed OpenTelemetry metrics and events from cloud sessions missing `user.email`, `organization.id`, and `user.account_uuid` attributes.(v2.1.259)
- Fixed MCP servers disconnecting during tool listing at startup, which previously showed as connected with no tools instead of reporting an error.(v2.1.259)
- Fixed the file edit permission dialog sometimes truncating changed lines without indication.(v2.1.259)
- Fixed repository detection dropping a known repo identity after a transient git probe failure.(v2.1.259)
- Fixed managed settings silently going unenforced when parsing failed; Claude Code now refuses to start and names the source of the failure.(v2.1.259)
- Fixed Stop not actually stopping background agents and workflows in remote-control sessions; killed tasks now remain visible and re-stoppable.(v2.1.259)
- Fixed resuming a workflow run while its previous stopped run was still exiting, preventing duplicate agent copies.(v2.1.259)
- Fixed marketplace repo URLs on github.com with trailing slashes or dangling `?`/`#` producing unusable `.git` clone URLs.(v2.1.259)
- Fixed blocking Stop hooks causing the subsequent turn to lose model reasoning and potentially miss the prompt cache.(v2.1.259)
- Fixed remote (claude.ai) sessions taking 60 seconds to start a turn after a browser-hosted MCP server's page disappeared.(v2.1.259)
- Fixed worktree-isolated sessions refusing common Bash loops, xargs pipelines, and launcher-wrapped commands that cannot reach the main checkout.(v2.1.259)
- Fixed remote and scheduled sessions doing nothing after a connector-tool permission prompt was approved while the session was paused.(v2.1.259)
- Fixed settings in a `.claude/` folder created after startup not being recognized until the application was restarted.(v2.1.257)
- Resolved an issue where sessions dispatched from an agent view using `←` incorrectly inherited the original session's permission mode, overriding target directory defaults.(v2.1.257)
- Fixed `keybindings.json` rebinds of Ctrl+G being ignored in `claude agents`; Ctrl+S and Ctrl+T are now rebindable within the new `Agents` context.(v2.1.257)
- Corrected background session startup failures on macOS npm installs during self-updates and on Windows when a stale daemon lock file pointed to a reused process ID.(v2.1.257)
- Fixed the working spinner incorrectly stopping while a response was streaming behind a slash-command panel.(v2.1.257)
- Resolved an issue where a background session's `state.json` `detail` would repeat its own dispatch prompt after a scheduled wake-up.(v2.1.257)
- Ensured `claude agents` correctly handles background sessions that finish after being re-prompted, ordering them by latest finish time in the Completed list.(v2.1.257)
- Fixed `claude --bg` from a deleted directory to now print the reason for failure and exit with code 1, instead of reporting "backgrounded" and leaving a crashed session row.(v2.1.257)
- Prevented Remote Control from re-sending the Bash tool definition mid-session, which caused prompt-cache misses.(v2.1.257)
- Fixed a doubly-listed custom `Authorization` header overriding configured credentials on Bedrock, Mantle, Vertex, and WIF, and the Vertex setup wizard incorrectly picking up old Anthropic profiles.(v2.1.257)
- Corrected Claude apps gateway behavior to prevent sending stray host `Authorization` or profile headers to Foundry, Vertex, and Bedrock, and resolved Foundry Entra ID upstream startup issues when `ANTHROPIC_FOUNDRY_API_KEY` is set.(v2.1.257)
- Prevented a leftover Anthropic API key or auth token from being sent alongside a Foundry subscription key in API-key mode.(v2.1.257)
- Fixed `/schedule` routines where prompts saved without a message role would run with no action.(v2.1.257)
- Improved `claude agents` to now indicate when a background session is waiting for message approval from another session and who sent it.(v2.1.257)
- Resolved a bug where prompts stashed with Ctrl+S inside an opened background session were lost when the session became idle or was stopped and reopened.(v2.1.257)
- Fixed telemetry (OTEL) settings pushed via server-managed settings being ignored on warm starts, including in desktop-app Code sessions.(v2.1.257)
- Prevented a teammate permission request from being answered twice when the leader's mailbox write was briefly locked.(v2.1.257)
- Fixed a phantom duplicate slash-command row rendering below the in-flight turn while a command's auto-continued response streamed.(v2.1.257)
- Clamped `policyHelper` `timeoutMs` and `refreshIntervalMs` values above the timer maximum to prevent failures or millisecond re-runs.(v2.1.257)
- Fixed the token counter freezing or crawling after switching to another subagent's transcript, and ensured background subagents' and teammates' counters update live during response streaming.(v2.1.257)
- Resolved an issue where sandbox network hosts written with a trailing dot (e.g., `example.com.`) were not blocked by `deniedDomains` entries and the "don't ask again" option failed.(v2.1.257)
- Fixed dismissing the Remote Control consent prompt (Esc or `n`) from being incorrectly counted as consent.(v2.1.257)
- Prevented `/mcp` reconnect and enable from connecting a settings-file MCP server that should have been blocked by managed MCP allow/deny lists or `strictPluginOnlyCustomization`.(v2.1.257)
- Fixed `claude mcp remove` from leaving stored OAuth credentials behind when `strictPluginOnlyCustomization` locks MCP to plugin-only servers.(v2.1.257)
- Ensured Remote Control sessions started from the Claude app now respect the selected model instead of defaulting to the machine's default.(v2.1.257)
- Corrected `--disallowedTools` and session deny rules from being dropped after the first settings reload when `allowManagedPermissionRulesOnly` is enabled.(v2.1.257)
- Fixed `--resume` listing a backgrounded conversation twice and `--continue` reopening its stalled pre-background copy; `--continue` now also opens finished background sessions.(v2.1.257)
- Enabled clicking `!` shell command output to expand it in fullscreen mode.(v2.1.257)
- Ensured background sessions running an older Claude Code binary are retired during auto-updates instead of piling up.(v2.1.257)
- Fixed `claude agents --json` from briefly switching the terminal to raw mode and undoing other programs' terminal settings on exit.(v2.1.257)
- Prevented Proactive output style sessions from busy-looping with filler messages and repeated log reads while a background command or Monitor was still running.(v2.1.257)
- Resolved subagents stopping when a response was cut off mid-stream due to computer sleep, connection drops, or server errors; they now automatically continue.(v2.1.257)
- Fixed `←` in the `/btw` panel within a `claude agents` session to now return to the agents list and reopen the panel when the session is revisited.(v2.1.257)
- Ensured sessions with an advisor model set now utilize the prompt cache for background requests, preventing re-sending the full conversation uncached.(v2.1.257)
- Fixed `claude -p` from exiting prematurely while a Monitor was still running; it now waits for the watch to fire or time out.(v2.1.257)
- Prevented a `permissions.ask` rule from being skipped in auto mode when the matching command ran inside a compound command or subshell, ensuring confirmation prompts are shown.(v2.1.257)
- Prevented plugins from reading files outside their own directory through symlinked paths, now refusing such paths with an error.(v2.1.257)
- Enabled `/add-dir` to now load skills, commands, and agents from a directory within the current working directory, similar to `--add-dir` at startup.(v2.1.257)
- Ensured the main agent is now notified when you resume a subagent that was previously stopped from its transcript view.(v2.1.257)
- Fixed a crash occurring when pasting ANSI-colored text into dialogs like `/feedback`.(v2.1.257)
- Prevented `claude mcp add/remove` from hanging or exhausting memory when the project's `.mcp.json` is a FIFO or device-file symlink, now failing fast with an actionable message.(v2.1.257)
- Resolved unbounded memory growth when non-JSONL data is piped into `claude -p --input-format stream-json`, now failing fast with a clear error.(v2.1.257)
- Fixed backgrounding a turn (`←` or Ctrl+B) while a subagent or tool was running from occasionally causing the background session to treat that tool as rejected instead of re-running it.(v2.1.257)
- Ensured Bash `Read()`/`Edit()` deny rules now apply to `< file` redirects and reader commands like `tac` and `egrep`.(v2.1.257)
- Fixed Bash commands failing with "task output swap refused (tasks dir moved or linked)" on some Macs.(v2.1.252)
- Fixed "always allow" not saving in a project that has no .claude/settings.local.json yet.(v2.1.252)
- Fixed Remote Control sessions hosted by Claude Desktop or VS Code stalling for minutes after a tool finished when the connection to claude.ai was degraded.(v2.1.252)
- Fixed background task notifications with very large failure output (e.g., git errors on a full disk) from exceeding the API request size limit.(v2.1.252)
- Fixed file tools (Read, Write, Edit) from incorrectly accessing files outside the approved location when following symlinks.(v2.1.251)
- Fixed plugin commands declared in marketplace entries from pointing outside the plugin directory, preventing path-traversal vulnerabilities.(v2.1.251)
- Fixed project settings from allowing the enablement of detailed beta tracing or raw API body logging, and bypassing OTLP collector pinning.(v2.1.251)
- Fixed the Workflow tool from incorrectly reading and quoting `scriptPath` values outside the session's readable scope.(v2.1.251)
- Fixed Grep and Glob from not applying `Read(...)` deny rules to files accessed through symlinked search paths.(v2.1.251)
- Fixed conversations from getting stuck on 'text content blocks must be non-empty' errors when the model produced only thinking.(v2.1.251)
- Fixed the first launch on a fresh install from defaulting to default mode instead of auto mode for accounts configured for auto mode startup.(v2.1.251)
- Fixed Opus 5 requests failing with an 'effort not supported when thinking is disabled' error by sending effort as `high` in that scenario.(v2.1.251)
- Fixed TUI lag with many parallel subagents by replacing per-second progress ticks instead of piling them up.(v2.1.251)
- Fixed agent teams so that a teammate's final answer now correctly reaches the team lead.(v2.1.251)
- Fixed background subagents from being unable to reply to messages from unnamed sibling or parent agents.(v2.1.251)
- Fixed managed-settings `disableAutoMode` from not moving an already-running auto-mode session back to default mode when arriving mid-session.(v2.1.251)
- Fixed a tip about switching to Opus 1M for more context from appearing when the current Opus model already had a 1M context window.(v2.1.251)
- Fixed Claude apps gateway sessions from incorrectly treating stored Anthropic profiles as active.(v2.1.251)
- Fixed cloud sessions from incorrectly advising the model had changed when the host was only setting the initial model.(v2.1.251)
- Fixed Remote Control from reporting a failure when an organization policy disables it, now showing a quiet notice instead.(v2.1.251)
- Fixed `/mcp reconnect` on Remote Control from showing a generic error instead of the actual remedy when a server was disabled.(v2.1.251)
- Fixed `--input-format stream-json` from losing assistant tool call results when client-injected calls were sent without a message id.(v2.1.251)
- Fixed session transcripts from being silently overwritten when a directory change relocated a session onto an existing same-ID transcript.(v2.1.251)
- Fixed background sessions and subagents from being unable to edit files inside a git worktree they created.(v2.1.251)
- Fixed background sessions from occasionally starting without plugin skills when the plugin marketplace was refreshing.(v2.1.251)
- Fixed text selection in opened background sessions inside tmux over SSH from copying to the tmux buffer correctly.(v2.1.251)
- Fixed SDK and cloud sessions from hanging indefinitely when an SDK MCP server's handshake acknowledgment was lost, now timing out.(v2.1.251)
- Fixed self-hosted runner from leaving stuck Bash tool processes running after a session was force-stopped.(v2.1.251)
- Fixed `/usage-credits` for Team and Enterprise members with a $0 org limit from offering to ask the admin instead of stating a cap was reached.(v2.1.251)
- Fixed `--worktree --tmux` with a gitlab.com merge-request number from trying a GitHub-style fetch instead of fetching the GitLab ref directly.(v2.1.251)
- Fixed Ctrl+G from failing with an 'Emacs quit unexpectedly' error in background sessions for editors opening `/dev/tty`.(v2.1.251)
- Fixed startup crashes or broken settings updates caused by an `additionalDirectories` entry containing a null byte.(v2.1.251)
- Fixed the MCP server menu's copy shortcut from incorrectly claiming success instead of stating how the sign-in URL was copied.(v2.1.251)
- Fixed italic text rendering as highlighted blocks in GNU screen and tmux sessions using a `screen` terminal type.(v2.1.251)
- Fixed `claude mcp add --header` and `claude mcp add-json` help text from naming the wrong transports.(v2.1.251)
- Fixed `claude ultrareview` and `/ultrareview` from waiting the full 30 minutes when the cloud session failed to start, now stopping early.(v2.1.251)
- Fixed Bash permission checks from auto-approving commands that assign arithmetic expressions to integer shell variables, now prompting for approval.(v2.1.251)
- Fixed backgrounded sessions from losing exported Vertex/Bedrock gateway variables, causing requests to fail.(v2.1.251)
- Fixed `claude --bg --model fable` on Max plans from stopping to ask for usage credits when the interactive session still had allowance.(v2.1.251)
- Fixed the one-time 'make auto mode your default' offer from appearing in unattended sessions where it could be accidentally accepted.(v2.1.251)
- Fixed the managed-settings approval prompt from re-appearing after re-signing in when settings were unchanged.(v2.1.251)
- Fixed disabled `/bug` and `/share` from incorrectly reporting that `/feedback` was disabled, and now correctly hides `/feedback` suggestions.(v2.1.251)
- Fixed cloud session creation from advising GitHub setup after a transient GitHub connection failure, now suggesting a retry.(v2.1.251)
- Fixed background sessions and their subagents from being unable to edit files inside a git worktree they created with `git worktree add`.(v2.1.251)
- Fixed a prompt-cache miss that occurred roughly once an hour in long sessions due to tool definitions re-rendering after an OAuth token refresh.(v2.1.248)
- Fixed the `ScheduleWakeup` tool definition changing between sessions when an account entered usage overage, preventing prompt-cache misses on resumed sessions.(v2.1.248)
- Resolved Claude Desktop and Cowork sessions disappearing after 30 days by updating transcript cleanup to retain desktop-written sessions.(v2.1.248)
- Prevented being sent to the login screen when another Claude Code process held the token refresh lock by failing the request with a retryable error instead.(v2.1.248)
- Fixed the `claude agents` list on Windows not responding to the keyboard after detaching from a session or when launched in a terminal tab left in win32-input-mode.(v2.1.248)
- Fixed the recommended Console sign-in in `/login` failing with an OAuth error on machines where it cannot be used, by falling back to API-key sign-in.(v2.1.248)
- Ensured model names in `/model` and fast-mode switch notices render as code to display suffixes like `[1m]` literally.(v2.1.248)
- Fixed `claude agents` skipping the workspace trust prompt when the `CI` environment variable is set.(v2.1.248)
- Fixed `claude agents` crashing on launch when the PR-status cache contained a malformed entry.(v2.1.248)
- Fixed agent view resurrecting week-old background sessions by showing them as stopped and prompting before resuming.(v2.1.248)
- Corrected agent view sometimes opening an older conversation and dropping the typed prompt when starting a new session.(v2.1.248)
- Prevented `claude agents` from starting a second process on a conversation when opening a stopped session already resumed in another terminal.(v2.1.248)
- Fixed `claude agents` and `claude rm` refusing to delete a session with unpushed commits when its worktree branch was already merged into the default branch.(v2.1.248)
- Fixed background sessions waiting silently when a `PermissionRequest` or `PreToolUse` hook printed an invalid answer by naming the hook and schema error.(v2.1.248)
- Fixed hooks silently treating non-JSON stdout objects as plain text by reporting them as hook errors with parse messages.(v2.1.248)
- Fixed `/mcp` listing a project `.mcp.json` entry under the wrong heading by displaying it under its real scope.(v2.1.248)
- Prevented MCP servers with `headersHelper` from falling into OAuth discovery on a 401 by correctly re-running the helper and retrying the call.(v2.1.248)
- Fixed `/login` to a Claude apps gateway hanging when the managed-settings security approval dialog was required.(v2.1.248)
- Fixed gateway model discovery never running when `apiKeyHelper` was the only credential.(v2.1.248)
- Fixed `claude logs` leaving terminal settings like mouse tracking and alternate screen enabled after execution.(v2.1.248)
- Corrected a garbled character in the trust dialog's list of repo permission rules when a long rule was cut off mid-emoji.(v2.1.248)
- Fixed the permission mode indicator staying hidden behind the 'Press Ctrl-C again to exit' hint.(v2.1.248)
- Prevented `/ultrareview` and locally seeded cloud sessions from uploading uncommitted edits and sensitive file copies by keeping them on the local machine.(v2.1.248)
- Resolved Remote Control sessions occasionally not showing a permission prompt or latest messages after silent reconnection.(v2.1.248)
- Fixed cloud sessions occasionally failing at startup when container session credentials were not yet readable.(v2.1.248)
- Prevented `claude remote-control` from rejecting its own flags when a global flag or wrapper-injected option preceded the subcommand.(v2.1.248)
- Fixed startup warnings rendering one column to the right of the rest of the transcript.(v2.1.248)
- Ensured a backgrounded worktree session retains its checkout by holding the worktree's lock while it runs.(v2.1.248)
- Fixed @-mentions of other sessions not matching names typed with non-Latin characters.(v2.1.248)
- Prevented an invalid `crossSessionInbound` value from being silently ignored by warning and holding or refusing messages until fixed.(v2.1.248)
- Fixed rate-limit, usage, and fast-mode messages incorrectly telling users to run `/usage-credits` when the command was unavailable.(v2.1.248)
- [VSCode] Fixed a chat tab getting stuck on 'No conversation found' by starting a new conversation instead.(v2.1.248)
- Fixed an issue where fast arrow-key + Enter sequences in history search and various commands (`/config`, `/mcp`, `/skills`, etc.) would incorrectly act on the row above the navigated one.(v2.1.247)
- Resolved a problem where sub-agents would die on a first-call model 404 error; they now use the session's fallback model chain and return detailed error information.(v2.1.247)
- Fixed a bug where hooks or background agents printing excessive error output could overflow the conversation and cause sessions to get stuck with a 'Prompt is too long' error.(v2.1.247)
- Corrected an issue where Ctrl keyboard shortcuts were not firing in kitty-protocol terminals with non-Latin keyboard layouts.(v2.1.247)
- Prevented text like `<35;150;7M` from being inserted into prompts when mouse reports were split across reads immediately after the escape prefix.(v2.1.247)
- Fixed the Bash sandbox's cleanup process from incorrectly deleting dotfile-managed `~/.claude/settings.json` symlinks when they were repointed outside the sandbox's writable area.(v2.1.247)
- Resolved an issue where `/terminal-setup` would overwrite the entire Zed `keymap.json` instead of merging keybindings.(v2.1.247)
- Fixed `/rename` to provide a notification when the session registry could not be updated, informing users that other sessions might still display the old name.(v2.1.247)
- Corrected `/compact` and 'Summarize from here' in `--agent` sessions to summarize using the conversation's system prompt instead of the default one.(v2.1.247)
- Fixed background sessions that were stuck showing 'opening…' after their terminal host process died; these sessions now fail with a reason and can be restarted.(v2.1.247)
- Addressed unbounded memory growth when a hook's or background task's output file could not be written; the file now indicates where output was lost.(v2.1.247)
- Fixed `/install-github-app` over SSH so the copy shortcut accurately reports success and the sign-in URL appears immediately if a browser cannot be opened.(v2.1.247)
- Resolved an issue where shell commands carried over from the foreground could log internal errors or show misleading exit codes when finishing in background sessions.(v2.1.247)
- Fixed a version-less marketplace plugin's live cache directory being deleted and recreated on a second-scope install, which could disrupt running sessions.(v2.1.247)
- Corrected Remote Control sessions started with `/remote-control` to properly report the working-tree diff to connected clients.(v2.1.247)
- Fixed self-hosted runner sessions reporting 'running' before Claude Code had started, preventing premature 'Claude is waiting for your input' notifications.(v2.1.247)
- Resolved first-run setup failures that occurred when managed settings configured gateway sign-in and Anthropic endpoints were unreachable.(v2.1.247)
- Fixed cloud sessions that sometimes showed the previous permission mode when switching modes immediately after sending a message.(v2.1.247)
- Addressed cloud sessions going silent when the session's container restarted between turns while background processes were running; resumed sessions now report lost work.(v2.1.247)
- Improved plugin marketplace security by rejecting names with control or invisible characters and ensuring marketplace text is escape-safe.(v2.1.247)
- Fixed fullscreen mode showing a blank transcript after resizing the terminal and jumping to the bottom until the next keypress(v2.1.246)
- Fixed a severe transcript slowdown when a diff contained a very long single line by truncating and marking such lines(v2.1.246)
- Fixed erratic fullscreen scrolling when positioned at an earlier message, preventing jump-to-bottom from getting stuck(v2.1.246)
- Fixed background sessions failing to open after 45 seconds due to deleted directories, machine sleep, or slow process startup(v2.1.246)
- Fixed background sessions failing to open with an EACCES error when another Claude Code process was re-installing the npm package(v2.1.246)
- Fixed markdown rendering being disabled for entire messages under specific conditions (no markdown in first 500 chars, or for certain list/heading types)(v2.1.246)
- Fixed MCP tool calls interrupted by an incoming message in headless/remote sessions being incorrectly reported as completed with no output(v2.1.246)
- Fixed MCP tool arguments being sent as JSON strings when the parameter's schema is empty, instead of their correct type(v2.1.246)
- Fixed commands interrupted mid-run showing as completed without indicating they were cut short(v2.1.246)
- Fixed pressing back arrow or running /background during a dynamic workflow from restarting finished subagents; now prompts for confirmation(v2.1.246)
- Fixed opening a just-started session in 'claude agents' while its worker was booting from stopping unexpectedly(v2.1.246)
- Fixed 'claude agents' listing a backgrounded named session twice; now numbers subsequent backgroundings of the same conversation(v2.1.246)
- Fixed the background retention sweep removing user-created git worktrees under .claude/worktrees/(v2.1.246)
- Fixed auto mode tool calls being denied on very large sessions by scaling the safety-check deadline with prompt size(v2.1.246)
- Fixed the plugin cache creating duplicate SHA-named directories for the same plugin(v2.1.246)
- Fixed plugin skills showing doubled names in the slash menu when the frontmatter 'name' already includes the '<plugin>:' prefix(v2.1.246)
- Fixed 'claude plugin update' failing for installed plugins given only their bare name(v2.1.246)
- Fixed plugin installation failing when 'plugin.json' was saved with a UTF-8 byte-order mark (BOM)(v2.1.246)
- Fixed '/reload-plugins' reporting 0 skills for plugins that define skills under 'skills/*/SKILL.md'(v2.1.246)
- Fixed hook error messages showing a literal "${CLAUDE_PLUGIN_ROOT}" instead of the resolved plugin path(v2.1.246)
- Fixed '/rename' replacing the theme's prompt border color with default cyan; border now retains theme color unless overridden(v2.1.246)
- Fixed custom theme diff colors being ignored in diffs and the '/theme' preview(v2.1.246)
- Fixed a 'keybindings.json' binding with an unknown action name silently disabling the key; now logs a warning and keeps default binding(v2.1.246)
- Fixed '/stats' activity heatmap showing days off by one cell in timezones east of UTC(v2.1.246)
- Fixed '/fork' from an already-forked or backgrounded session starting the new session with an empty conversation(v2.1.246)
- Fixed the '@' file picker staying open after typed text stopped matching a real path(v2.1.246)
- Fixed the status line's cost and duration resetting to zero after navigating to the agents view and back(v2.1.246)
- Fixed fullscreen mode moving keyboard focus unexpectedly when clicking the terminal window(v2.1.246)
- Fixed path completion failing when the completion token or working directory contained a null byte(v2.1.246)
- Fixed headless sessions not cleaning up stale entries in '~/.claude/sessions' on Windows/macOS after unclean exits(v2.1.246)
- Fixed the UI stopping with a render error on the first tool call when a third-party Anthropic-compatible endpoint streams a 'tool_use' block without an 'id'(v2.1.246)
- Fixed the Write tool reporting 'Out of memory' or freezing after overwriting a very large file(v2.1.246)
- Fixed 'claude plugin install <name>' exiting silently or hanging when '~/.claude/plugins/known_marketplaces.json' is empty or corrupted(v2.1.246)
- Fixed resumed sessions failing every turn with a 400 error when saved history contains tool blocks not accepted by the Anthropic API(v2.1.246)
- Fixed 'curl -fsSL https://claude.ai/install.sh | bash' failing with 'Raw mode is not supported' for some Team/Enterprise users(v2.1.246)
- Fixed sessions ending in plan mode resuming outside plan mode in the VS Code extension or with '--continue'/'--resume' with a permission prompt tool(v2.1.246)
- Fixed the 'Notification' hook not firing while the sandbox 'Network request outside of sandbox' permission prompt is waiting(v2.1.246)
- Fixed Bash permission checks to always require approval for malformed commands with dangling '&&' or '||' operators(v2.1.246)
- Fixed '--strict-mcp-config' sessions prompting to approve servers they would never load, leaving background sessions waiting at startup(v2.1.246)
- Fixed telemetry and metrics requests to Anthropic carrying the API key for a third-party gateway; credential now only sent to its own host(v2.1.246)
- Fixed a visible API error on the first prompt after idle when 'apiKeyHelper' returns short-lived JWTs; expired tokens are now refreshed before sending(v2.1.246)
- Fixed memory growing with session length in fullscreen and Ctrl+O transcript views by optimizing message row rendering(v2.1.246)
- Fixed '/ultrareview' runs and cloud sessions launched simultaneously from one repository sometimes starting with another launch's uncommitted changes(v2.1.246)
- Fixed the task progress count for background cloud sessions occasionally missing a task(v2.1.246)
- Fixed Remote Control sessions keeping their placeholder name in claude.ai and the Claude app until the second prompt; auto-generated title now appears after the first prompt(v2.1.246)
- Fixed MCP tools marked 'requiresUserInteraction' still offering 'Yes, and don't ask again' in their permission prompt(v2.1.246)
- Fixed the self-hosted runner ending live sessions or exiting when a work-poll response is malformed; now retries the poll(v2.1.246)
- Fixed prompts beginning with '/--' (e.g. Lean doc comments) being rejected as an unknown slash command instead of being sent to Claude(v2.1.246)
- Fixed remote MCP servers in non-interactive and SDK sessions from failing to recover after a dropped connection; they now reconnect automatically or report as failed.(v2.1.243)
- Fixed MCP server sign-in started from the desktop app failing with an "Invalid redirect URI" error on servers supporting client ID metadata documents.(v2.1.243)
- Fixed auto mode from staying unavailable at startup when a temporary server-side disable was cached and subsequent flag fetches failed.(v2.1.243)
- Fixed auto mode tool calls being incorrectly denied as "temporarily unavailable" after a brief API overload.(v2.1.243)
- Fixed the /model picker from silently ignoring an Ultracode selection; picking Ultracode now correctly applies it to the current session.(v2.1.243)
- Fixed /resume from only listing the 50 most recent sessions; the picker now loads more sessions as you scroll.(v2.1.243)
- Fixed cloud sessions resuming after a mid-turn restart with a pending hook or background-task notification from being re-sent as the prompt instead of the normal continuation message.(v2.1.243)
- Fixed cross-session messaging from silently turning off inside user namespaces and rootless containers after socket-directory hardening.(v2.1.243)
- Fixed text that hangs outside its container, such as the sign-in URL in /login, from losing its leading columns when another part of the screen repaints.(v2.1.243)
- Fixed spellcheck from not underlining a misspelled word typed directly after an emoji.(v2.1.243)
- Fixed background subagents from not waking up when their last background Bash task completes.(v2.1.243)
- Fixed sessions going silent for extended periods when the Anthropic API never starts a response; requests now time out and display an error message.(v2.1.243)
- Fixed authentication, model-availability, and other client-generated error messages from rendering like model output instead of as error lines.(v2.1.243)
- Fixed workload identity federation in CI so processes in one job share the exchanged token, preventing re-exchange issues.(v2.1.243)
- Fixed server-managed companyAnnouncements from not showing at startup in sessions that began with signing in.(v2.1.243)
- Fixed hook `if` conditions like `Bash(cat *)` from firing on unrelated Bash commands when the command contained `$()` or backtick command substitution.(v2.1.243)
- Fixed plugin dependencies declared with a `marketplace` field from never resolving when both plugins are loaded together.(v2.1.243)
- Fixed /reload-plugins from keeping the LSP tool after the last LSP plugin is disabled.(v2.1.243)
- Fixed --agents from silently ignoring invalid JSON or agent definitions; it now exits with a clear error.(v2.1.243)
- Fixed /status from showing "Found invalid entries in: ." with no filename when `~/.claude.json` has an invalid MCP server entry.(v2.1.243)
- Fixed /clear from removing the /rename session name from the prompt bar even when the name was kept for the new session.(v2.1.243)
- Fixed Ctrl+[ from not leaving vim INSERT mode in terminals that encode modified keys.(v2.1.243)
- Fixed the local IDE connection from being incorrectly routed through `HTTPS_PROXY` when `localhost` was listed in `NO_PROXY`.(v2.1.243)
- Fixed sandbox network-violation details being dropped from the Bash tool result when the blocked command still exited 0.(v2.1.243)
- Fixed the status line `rate_limits` fields and `/usage` from showing incorrect usage percentage after a rate-limit window reset.(v2.1.243)
- Fixed `claude --teleport <session>` from exiting on uncommitted changes instead of offering to stash them.(v2.1.243)
- Fixed /web-setup from repeatedly asking users to log in when an older GitHub CLI was already authenticated.(v2.1.243)
- Fixed Claude in Chrome losing its connection to Claude Code after an auto-update cleaned up the version it was set up with.(v2.1.243)
- [VSCode] Fixed sessions started before feature flags were fetched from opening in the default permission mode instead of the configured mode.(v2.1.243)
- [VSCode] Fixed Focus view sections expanding collapsing on their own during subagent tool activity.(v2.1.243)
- Fixed Bedrock streaming behind proxies that strip the Content-Type header, which prevented doubled API call billing.(v2.1.239)
- Fixed Claude Code hanging at startup behind an HTTPS proxy when using Bedrock with an SSO profile and `awsAuthRefresh` by honoring `HTTPS_PROXY` for credential pre-checks.(v2.1.239)
- Fixed a crash dump when starting Claude Code from a deleted directory, now printing a clear message instead.(v2.1.239)
- Fixed Edit and Write calls pausing for approximately 5 seconds in JetBrains IDE terminals when the Claude Code plugin is connected.(v2.1.239)
- Fixed a race condition where pressing Esc with a queued prompt could cause the next turn to finish early, leaving the session idle while Claude was still working.(v2.1.239)
- Fixed WebFetch retaining expired page content in memory for the entire session instead of the intended 15 minutes.(v2.1.239)
- Fixed cloud sessions resuming out of plan mode after an idle worker restart.(v2.1.239)
- Fixed MCP elicitation forms taller than the terminal being clipped in fullscreen mode, ensuring the form fits the window with scrolling for hidden fields and visible Accept/Decline buttons.(v2.1.239)
- Fixed remote MCP servers staying failed after a transient 5xx error on a mid-session reconnect or via SDK `setMcpServers()`.(v2.1.239)
- Fixed custom session titles disappearing from `/resume` after more than ~64 KB of conversation was written following a rename.(v2.1.239)
- Fixed `claude -c`/resume picking up sessions from a different directory whose path differed only by characters like `_`, `-`, or `.`.(v2.1.239)
- Fixed `/resume` and the agents view showing a session as recently changed when only its file was touched or it was reopened.(v2.1.239)
- Fixed `/resume` in all-projects mode telling users to `cd` into a deleted directory; such sessions now resume in the current directory.(v2.1.239)
- Fixed the `dark-ansi` theme rendering expanded tool results in fullscreen mode with text the same color as the background.(v2.1.239)
- Fixed the fullscreen renderer prompt reappearing on every launch when it could never be answered; it now stops after being shown three times.(v2.1.239)
- Fixed `.worktreeinclude` patterns starting with `**/` silently matching nothing when the target lived in a gitignored directory.(v2.1.239)
- Fixed agents, skills, and commands whose `.md` file starts with a UTF-8 BOM being silently ignored.(v2.1.239)
- Fixed `/insights` echoing literal `<message>` tags in its response on some models.(v2.1.239)
- Fixed marketplace `metadata.pluginRoot` having no effect; bare plugin source names now resolve under it as documented.(v2.1.239)
- Fixed mouse movement in browser-based terminals inserting text like `"35;150;7M"` into the prompt when a mouse report arrived split across writes.(v2.1.239)
- Fixed custom theme overrides for effort/ultracode status badge colors being ignored.(v2.1.239)
- Fixed OpenTelemetry trace fragmentation where tool executions deferred by a `PreToolUse` hook started a new trace instead of resuming the original turn's trace.(v2.1.239)
- Fixed vim mode in the agent view: Escape now switches to NORMAL mode and keeps text instead of clearing the prompt.(v2.1.239)
- Fixed the `selection:copy` keybinding silently dropping a text selection that had been extended with Shift+Arrow keys.(v2.1.239)
- Fixed the `/voice` startup tip still appearing after voice dictation was enabled via the `voice.enabled` setting.(v2.1.239)
- Fixed shell-mode (`!`) Tab completion dropping the `./` from a `./script` path, preventing the shell from running the command.(v2.1.239)
- Fixed fullscreen mode answering a permission prompt or pressing a button when the terminal window was clicked to bring it back into focus.(v2.1.239)
- Fixed slash-command panels in fullscreen mode covering the latest messages; the conversation now stays pinned above the panel.(v2.1.239)
- Fixed the `/workflows` detail dialog overflowing the terminal and losing its header off-screen when opened while Claude is still responding.(v2.1.239)
- Fixed the Linux sandbox making a nonexistent `.git/config.worktree` unreadable, which broke sandboxed git commands in repos with `extensions.worktreeConfig` set.(v2.1.239)
- Fixed hooks failing with "posix_spawn ENOENT" after the session's working directory was deleted; they now run from the project root or home directory.(v2.1.239)
- Fixed `claudeMdExcludes` not excluding a symlinked `.claude/rules` file when the pattern named the rules directory or the symlink rather than its target.(v2.1.239)
- Fixed runaway session-title syncing to Remote Control when two Claude Code processes shared one background job's state; title updates are now deduplicated and rate-limited.(v2.1.239)
- Fixed sessions whose title starts with `/` being unaddressable by `SendMessage` and shown as "(untitled)" in `ListAgents`.(v2.1.239)
- Fixed Ctrl+W, Ctrl+U, Ctrl+K, Option+Backspace, Option+D and vim `df`/`dt` leaving a broken `[Pasted text #N]` placeholder when the cursor was inside it.(v2.1.239)
- Fixed masked (password-style) inputs letting their text be pasted back with Ctrl+Y elsewhere or saved to prompt history when cleared with double Esc.(v2.1.239)
- Fixed Ctrl+Backspace deleting one character instead of a word in search boxes.(v2.1.239)
- Fixed a request rejected by an organization policy check being re-sent before the rejection was shown.(v2.1.239)
- Fixed the fullscreen mode answering a permission prompt or pressing a button when the terminal window was clicked to bring it back into focus.(v2.1.239)
- Fixed the `dark-ansi` theme rendering expanded tool results in fullscreen mode with text the same color as the background.(v2.1.239)
- Fixed the fullscreen renderer prompt reappearing on every launch when it could never be answered; it now stops after being shown on three launches.(v2.1.239)
- Fixed `.worktreeinclude` patterns starting with `**/` silently matching nothing when the target lived in a gitignored directory.(v2.1.239)
- Fixed agents, skills, and commands whose `.md` file starts with a UTF-8 BOM being silently ignored.(v2.1.239)
- Fixed `/insights` echoing literal `<message>` tags in its response on some models.(v2.1.239)
- Fixed marketplace `metadata.pluginRoot` having no effect: bare plugin source names now resolve under it as the docs describe.(v2.1.239)
- Fixed mouse movement in browser-based terminals inserting text like `"35;150;7M"` into the prompt when a mouse report arrived split across writes.(v2.1.239)
- Fixed custom theme overrides for the effort/ultracode status badge colors being ignored.(v2.1.239)
- Fixed OpenTelemetry trace fragmentation: tool executions deferred by a `PreToolUse` hook now resume in the original turn's trace instead of starting a new trace.(v2.1.239)
- Fixed vim mode in the agent view: Escape now switches to NORMAL mode and keeps your text instead of clearing the prompt.(v2.1.239)
- Fixed the `selection:copy` keybinding silently dropping a text selection that had been extended with Shift+Arrow keys.(v2.1.239)
- Fixed the `/voice` startup tip still appearing after voice dictation was enabled via the `voice.enabled` setting.(v2.1.239)
- Fixed shell-mode (`!`) Tab completion dropping the `./` from a `./script` path, which left a command the shell couldn't run.(v2.1.239)
- Fixed fullscreen mode answering a permission prompt or pressing a button when you clicked the terminal window only to bring it back into focus.(v2.1.239)
- Fixed slash-command panels (e.g. `/config`, `/model`) in fullscreen mode covering the latest messages; the conversation now stays pinned above the panel.(v2.1.239)
- Fixed the `/workflows` detail dialog overflowing the terminal and losing its header off-screen when opened while Claude is still responding.(v2.1.239)
- Fixed the Linux sandbox making a nonexistent `.git/config.worktree` unreadable, which broke every sandboxed git command in repos with `extensions.worktreeConfig` set.(v2.1.239)
- Fixed hooks failing with "posix_spawn ENOENT" after the session's working directory was deleted; they now run from the project root or home directory instead.(v2.1.239)
- Fixed `claudeMdExcludes` not excluding a symlinked `.claude/rules` file when the pattern names the rules directory or the symlink rather than its target.(v2.1.239)
- Fixed runaway session-title syncing to Remote Control when two Claude Code processes shared one background job's state (2.1.232 regression); title updates are now deduplicated and rate-limited.(v2.1.239)
- Fixed sessions whose title starts with `/` being unaddressable by `SendMessage` and shown as "(untitled)" in `ListAgents`.(v2.1.239)
- Fixed Ctrl+W, Ctrl+U, Ctrl+K, Option+Backspace, Option+D and vim `df`/`dt` leaving a broken `[Pasted text #N]` placeholder when the cursor was inside it.(v2.1.239)
- Fixed masked (password-style) inputs such as the login code field letting their text be pasted back with Ctrl+Y elsewhere or saved to prompt history when cleared with double Esc.(v2.1.239)
- Fixed Ctrl+Backspace deleting one character instead of a word in search boxes.(v2.1.239)
- Fixed a request rejected by an organization policy check being re-sent before the rejection was shown.(v2.1.239)
- Fixed unbounded memory growth in long interactive sessions by releasing subagent tool results once they leave the recent display window.(v2.1.238)
- Fixed custom, project, and plugin output styles from drifting back to the default voice mid-session.(v2.1.238)
- Fixed prompt suggestions not staying enabled when an account is near its usage limit.(v2.1.238)
- Fixed Bash refusals in worktree-isolation incorrectly instructing users to remove a redirect when none existed.(v2.1.238)
- Fixed self-hosted runners occasionally being removed by the server after a single slow or lost poll request.(v2.1.238)
- Fixed MCP elicitation dialogs showing nothing for URLs longer than 4,096 characters.(v2.1.238)
- Fixed permission prompts dropping the "don't ask again" option when the project path did not fit the terminal width.(v2.1.238)
- Fixed leftover `/tmp/claude-*-cwd` files when a Bash command is killed, times out, or is interrupted.(v2.1.238)
- Fixed held Backspace being ignored on terminals that send Ctrl+H for Backspace when keystrokes arrive in large bursts.(v2.1.238)
- Fixed text-wrapping in permission prompt diffs for lines containing wide multi-code-point characters or tabs.(v2.1.238)
- Fixed killing a suspended session sometimes leaving the terminal in bracketed-paste mode with the cursor hidden.(v2.1.238)
- Fixed stdio MCP servers receiving a `server/discover` request before `initialize`, preventing lazy servers from starting their backend on every session open.(v2.1.238)
- Fixed a proxy's refusal of a connection being reported as a generic network error instead of naming the proxy.(v2.1.238)
- Fixed the `/model` and `/effort` cache-miss warning appearing when the prompt cache had already expired.(v2.1.238)
- Fixed per-task Stop from the Remote Control tasks panel doing nothing on CLI-hosted sessions.(v2.1.238)
- Fixed remote sessions exiting when a client delivered a user message without a valid role.(v2.1.238)
- Fixed Remote Control sessions started by `claude remote-control` inheriting session-scoped environment variables from the launching shell.(v2.1.238)
- Fixed a Remote Control session whose process crashed staying unavailable until `claude remote-control` was restarted.(v2.1.238)
- Fixed Remote Control messages sent from the web or Desktop while Claude is mid-turn disappearing from the transcript after the turn finishes.(v2.1.238)
- Fixed Remote Control model picks made on a phone or web not updating the model shown in the terminal.(v2.1.238)
- Fixed Remote Control disconnecting with "login expired" on brief network hiccups; it now retries and stays connected.(v2.1.238)
- Fixed Remote Control reporting a failed reconnect on sign-out.(v2.1.238)
- Fixed `ListAgents`/`SendMessage` reporting "Remote Control is not connected" in certain server modes; they now list and reach Remote Control peers.(v2.1.238)
- Fixed `ListAgents` and `SendMessage` exposing idle workers that are pre-warmed for background sessions.(v2.1.238)
- Changed Ctrl+L and Cmd+K in fullscreen to always just repaint, removing the double-press `/clear` shortcut and preventing automatic `/clear` loops in 1-row nvim terminals.(v2.1.238)
- Changed `claude mcp list` and `claude mcp get` to show disabled servers as `⊘ Disabled` instead of attempting to connect to them.(v2.1.238)
- Fixed whole-prompt-cache invalidation when a language server disconnected or reconnected mid-session.(v2.1.235)
- Fixed nested markdown list items misaligning at depth 3+ and added a hanging indent to wrapped list items in the terminal UI.(v2.1.235)
- Fixed prompt input highlights (slash commands, keywords, mentions) appearing shifted by one or more characters in some multi-line prompts.(v2.1.235)
- Fixed Shift+Tab inside the permission prompt's comment field approving edits and granting session-wide permission instead of closing the field.(v2.1.235)
- Fixed notebook cell delete/replace approval dialogs silently omitting existing cell content when the notebook or cell could not be read.(v2.1.235)
- Fixed slash commands run while Claude is responding showing HTML entities instead of actual characters.(v2.1.235)
- Fixed the prompt footer not showing the "Update installed" restart notice after a background auto-update.(v2.1.235)
- Fixed the expanded task list (`ctrl+t`) always starting collapsed when resuming or relaunching into a session with open tasks.(v2.1.235)
- Fixed focus jumping between open Claude tabs on its own in VSCode when a window with several Claude panels is restored or reloaded.(v2.1.235)
- Fixed auto mode in long sessions from repeatedly re-checking and denying sandboxed commands' network access after conversation compaction.(v2.1.234)
- Fixed session-scoped permission answers (including denies) from being dropped when answering background subagent tool permission prompts.(v2.1.234)
- Fixed a crash occurring when an API response on the non-streaming fallback path contained a thinking block missing its thinking field or a text block missing its text field.(v2.1.234)
- Fixed markdown rendering becoming extremely slow for messages containing unusual Unicode sequences.(v2.1.234)
- Fixed `SendMessage` rejecting a recipient copied from `ListAgents` when the session name was at the 200-character cap or emoji-heavy.(v2.1.234)
- Fixed repository detection mis-reading the host of git remotes with unusual userinfo, preventing incorrect links and repo-specific behavior.(v2.1.234)
- Fixed MCP diagnostics printing resolved secrets; scope-conflict warnings now show the configured `${VAR}` form, and connection-failure details show only the server origin.(v2.1.234)
- Fixed `strictKnownMarketplaces` allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to.(v2.1.234)
- Fixed modal text, such as the `/login` OAuth URL, from losing characters when copied in fullscreen.(v2.1.234)
- Fixed a `---` horizontal rule in rendered markdown from running into the line after it.(v2.1.234)
- Fixed consecutive shell commands splitting into multiple 'Ran 1 shell command' rows when todo/task updates were interleaved.(v2.1.234)
- Fixed dialogs like `/permissions` opened during a `!` shell command from being dismissed when the command finished.(v2.1.234)
- Fixed a queued `!` shell command from being sent to the model as plain text after pressing up-arrow to edit the queued input.(v2.1.234)
- Fixed queued messages reappearing in the prompt history while still queued, and Esc while selecting a queued message no longer interrupts the turn.(v2.1.234)
- Fixed accepting the 'Try the new fullscreen renderer?' prompt from restarting the session without its permission mode, tool allow/deny rules, model, or effort flags.(v2.1.234)
- Fixed `/tui` dropping launch `--allowed-tools`/`--disallowed-tools` rules when it restarts; it now declines to switch with a reason when session restrictions cannot be carried over.(v2.1.234)
- Fixed trust prompts omitting the repository-wide scope warning when the directory was first seen before the repository existed.(v2.1.234)
- Fixed a case where an IDE diff tab closing during a permission re-prompt could answer the new prompt with the previous input.(v2.1.234)
- Fixed files sent to the user during Remote Control sessions hosted by Claude Code Desktop or VS Code from not uploading, ensuring they open on phone and web.(v2.1.234)
- Fixed the stale-token reminder from leaking into Claude's automatically resumed turn after `/login` when `CLAUDE_CODE_OAUTH_TOKEN` is set; it now appears only to the user.(v2.1.234)
- Fixed permission previews from not relaying only to channel servers admitted by the inbound trust gate, and ensured a server's explicit permission-capability opt-out is honored.(v2.1.234)
- Fixed credential masking on relayed permission previews from hiding commands, paths, or destinations from the approver; oversized private-key blocks now redact correctly.(v2.1.234)
- Fixed provider API tokens that mask on permission previews from masking even when directly followed by shell delimiters.(v2.1.234)
- Fixed Claude Desktop inter-session messages from being silently dropped by the recipient session when cross-session messaging was read as disabled, preventing prolonged 'thinking' states.(v2.1.234)
- Remote Control: Fixed signing into a different claude.ai account or organization from not stopping the running session within seconds and stating the reason, preventing misleading HTTP 404 errors hours later.(v2.1.234)
- Expired Anthropic profile credential now correctly points the user to `/login` when a claude.ai login would take precedence.(v2.1.234)
- Fixed cloud sessions being marked as lost when the environment shut down during a permission prompt.(v2.1.233)
- Resolved MCP v2 connections endlessly reopening streams against servers that terminate long-held streams.(v2.1.233)
- Fixed Notification hooks not firing for permission prompts when running under Claude Desktop or VS Code.(v2.1.233)
- Fixed idle sessions on Linux from keeping one CPU core at 100% when sandboxing is enabled.(v2.1.233)
- Fixed bundled skill aliases like `/checkup` and `/review` reporting 'Unknown command' when a user or project skill shadows the bundled skill.(v2.1.233)
- Fixed skill/command argument substitution to prevent argument values from being re-expanded as template markers.(v2.1.233)
- Fixed Windows paths with the NT `\??` device prefix bypassing UNC path validation, preventing NTLM credential leaks.(v2.1.233)
- Fixed auto mode repeatedly stopping for manual approval on ordinary `cd <dir> && <command> > file` Bash commands on Windows (a regression).(v2.1.233)
- Fixed a PowerShell permission bypass where variable-writing parameters could silently overwrite `$PSDefaultParameterValues`.(v2.1.232)
- Fixed a Windows permission bypass where Git Bash followed Cygwin-style symlinks that path validation saw as regular files.(v2.1.232)
- Fixed nested git repositories inheriting trust from a parent directory; each repository now requires its own trust confirmation.(v2.1.232)
- Fixed MCP connections hanging for the full 30-second connect timeout when a server fails to answer or sends a malformed reply.(v2.1.232)
- Fixed Remote Control sessions hosted by a bridge inside a cloud session inheriting that session's transcript or credentials.(v2.1.232)
- Fixed Remote Control sessions started from Claude Desktop or an IDE appearing as a new claude.ai session each time the local session was resumed; they now reattach to the existing one.(v2.1.232)
- Fixed Remote Control sessions appearing unreachable to newly attached clients while idle.(v2.1.232)
- Fixed Remote Control bridge sessions not restoring conversation history when the session worker restarts.(v2.1.232)
- Fixed Remote Control resuming a conversation whose session was deleted from claude.ai or the app, which now starts a replacement instead of failing.(v2.1.232)
- Fixed Cloud gateway `/login` exiting silently or leaving an unresponsive terminal when managed settings failed to load; the reason is now shown.(v2.1.232)
- Fixed voice mode on native builds getting stuck on "listening…" when the voice service rejected the connection; the rejection is now shown immediately.(v2.1.232)
- Fixed mTLS client certificate rotation requiring a restart; Claude Code now reloads the rotated cert and key automatically on connection errors.(v2.1.232)
- Fixed malformed AWS or Vertex region values being used to build request URLs; they now fall back to the default region.(v2.1.232)
- Fixed stream idle timeout errors failing the request instead of recovering on Bedrock, Vertex, and gateway deployments.(v2.1.232)
- Fixed content-sized overlays containing truncated text rendering one column too wide, and start-truncated text collapsing to an ellipsis.(v2.1.232)
- Fixed a stray garbled character where a long shell-command or agent-description preview was cut off mid-emoji.(v2.1.232)
- Fixed a startup race that could silently unregister a plugin marketplace due to concurrent writes to `known_marketplaces.json`.(v2.1.232)
- Fixed `/update` and `/tui` refusing to restart while work that survives the relaunch was running.(v2.1.232)
- Fixed usage-limit guidance suggesting unavailable slash commands in SDK and remote sessions.(v2.1.232)
- Fixed the consent message for interactive `--advisor fable` launches, which told you to run `/model fable` in an interactive session that had just exited.(v2.1.232)
- Fixed Remote Control reconnecting after a network blip; it now keeps reconnecting for about 30 minutes and no longer drops after a few blips spread across an hour.(v2.1.232)
- Fixed Remote Control resuming a conversation silently taking Remote Control away from another Claude Code on the same machine; it now prompts to move it.(v2.1.232)
- Fixed Bash input redirections (`< file`) on all platforms to be permission-checked like their argument spellings.(v2.1.232)
- Fixed Cowork sessions inlining external @-imports from user-scope memory files.(v2.1.232)
- Fixed the auto-generated cross-session messaging socket directory on shared `/tmp` to refuse pre-planted symlinks or other users' directories.(v2.1.232)
- Fixed the Linux filesystem sandbox against a protected-path bypass.(v2.1.232)
- Fixed project settings overriding the sandbox's ripgrep binary; `sandbox.ripgrep` is now honored only from user, managed, and `--settings` settings.(v2.1.232)
- Fixed long responses partly disappearing while streaming and being printed twice in the terminal.(v2.1.229)
- Fixed a crash to the error screen when a tool call had a non-string value for `glob`, `file_path`, or `command`.(v2.1.229)
- Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window, which could also crash `claude --continue`/`--resume` at startup.(v2.1.229)
- Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\?`) or UNC path.(v2.1.229)
- Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER`.(v2.1.229)
- Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway.(v2.1.229)
- Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI.(v2.1.229)
- Fixed Remote Control clients showing a stuck working spinner after a slash command was typed in the laptop terminal.(v2.1.229)
- Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request.(v2.1.229)
- Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected.(v2.1.229)
- Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions.(v2.1.229)
- Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit.(v2.1.229)
- Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem.(v2.1.229)
- Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted.(v2.1.229)
- Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message.(v2.1.229)
- Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint.(v2.1.229)
- Fixed self-hosted runner and other remote sessions exiting at startup when `managed-mcp.json` is deployed and the server delivers MCP servers; those servers are now skipped with a warning.(v2.1.229)
- Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing.(v2.1.229)
- Fixed a transient 401 error that incorrectly replaced long-lived OAuth tokens, preventing headless sessions from working until a restart.(v2.1.225)
- Resolved an issue where MCP OAuth servers on macOS intermittently failed with 401 errors after a keychain read timeout.(v2.1.225)
- Corrected auto mode's behavior of counting safety-filter refusals towards the consecutive-block limit, ensuring the model moves on after denial.(v2.1.225)
- Fixed cross-session messages that were not being noticed or expiring in headless sessions and during startup.(v2.1.225)
- Resolved an issue where conversation history would break on Remote Control session resume after very large conversations were compacted.(v2.1.225)
- Fixed hovering over a session in another project in the agents list from changing the directory for the next agent.(v2.1.225)
- Ensured `claude self-hosted-runner` now exits at startup with a clear error if the `--base-dir` cannot be created or written, instead of failing every session.(v2.1.225)
- Corrected Claude Code web sessions that were being misreported as stuck and re-sending event backlogs on reconnect.(v2.1.225)
- Fixed the Focus view in VSCode from folding away the latest to-do list, pending questions, and settled answers.(v2.1.225)
- Fixed an issue where long project paths (>200 characters) could incorrectly resolve to another project's session directory, preventing session list, rename, fork, delete, and `/resume` commands from crossing projects.(v2.1.224)
- Fixed `SendMessage` incorrectly reporting "Message sent" when the write to a teammate's inbox failed; failed deliveries are now reported as errors.(v2.1.224)
- Fixed sandbox filesystem deny entries with a trailing slash (e.g., `denyRead: "~/.aws/"`) being silently bypassable on Linux and macOS.(v2.1.224)
- Fixed sandbox violation details not appearing in Bash tool results, ensuring Claude now sees which file or network access was denied and why.(v2.1.224)
- Fixed MCP tools connecting mid-turn being deferred for tool search without their names being announced to the model.(v2.1.224)
- Fixed plugin install records being silently corrupted when the same plugin was installed in multiple projects.(v2.1.224)
- Fixed recalled or restored paste content occasionally attaching incorrect data or silently losing text when the paste had aged out or placeholder numbers collided.(v2.1.224)
- Fixed copy-on-select on Wayland not always reaching the clipboard due to a race condition between selection writes.(v2.1.224)
- Fixed the feedback survey's transcript share silently failing on long sessions; failed shares now display an error instead of a success message.(v2.1.224)
- Fixed Remote Control auto-start intermittently failing with "Remote credentials fetch failed" on a cold start with a stale login token.(v2.1.224)
- Fixed Remote Control and SDK clients showing a blank "(no content)" message after `/clear` and other output-less commands.(v2.1.224)
- Fixed a Remote Control session recreated after its server session expired uploading prior local conversation history into the new session.(v2.1.224)
- Fixed the VSCode extension showing Remote Control as connected after the connection failed.(v2.1.224)
- Fixed sessions not honoring `remoteControlAtStartup` when explicitly enabled in VSCode.(v2.1.224)
- Fixed a Bash permission bypass vulnerability that allowed crafted commands to obscure parts of themselves from permission checks.(v2.1.223)
- Fixed permission prompts to prevent commands padded with tabs or invisible Unicode characters from hiding parts of the command from the approval dialog.(v2.1.223)
- Fixed workflow scripts from using dynamic `import()` to execute code outside the designated workflow sandbox.(v2.1.223)
- Fixed a permission gap where the `bypassPermissions` mode in agent definitions incorrectly ignored the organization's policy to disable bypass-permissions.(v2.1.223)
- Fixed resumed sessions to correctly restore context after a mid-session `/cd` command, preventing empty sessions.(v2.1.223)
- Fixed gateway model discovery to properly display Claude models registered with provider-prefixed IDs (e.g., `vertex_ai/claude-*` or `bedrock/anthropic.claude-*`).(v2.1.223)
- Fixed `modelOverrides` to ignore keys that are not Anthropic model IDs, preventing them from being treated as the session's canonical model ID.(v2.1.223)
- Fixed managed settings to ensure server-delivered settings no longer disable the environment block of local `managed-settings.json` or MDM profiles; admin environments now merge settings per key.(v2.1.223)
- Fixed sandboxed commands on Linux to start correctly when `sandbox.filesystem.denyWrite` covers the working directory.(v2.1.223)
- Fixed forked background agents from getting stuck in an 'already resuming' state when the fork's parent prompt rebuild failed during resume.(v2.1.223)
- Fixed resumed sessions from failing every turn or displaying an unresponsive error screen by handling malformed diagnostics attachments in session history.(v2.1.223)
- Fixed a rare hang issue encountered when parsing unusual `git push` output.(v2.1.223)
- Fixed issues with resumed sessions failing or leaving the interactive app on an unresponsive error screen when session history contained a malformed diagnostics attachment.(v2.1.223)
- Fixed a Bash tool permission-check bypass where zsh could execute hidden commands in `[[ ]]` regex conditionals; affected commands now prompt for permission.(v2.1.221)
- Fixed PowerShell permission checks mishandling paths containing quote characters on Windows; such paths now prompt for approval.(v2.1.221)
- Fixed the thinking toggle having no effect for the rest of a session that started with thinking off; disabling an MCP server mid-connect no longer silently reverts.(v2.1.221)
- Fixed MCP servers from `--mcp-config` not being connected before the first turn in print mode (`-p`), which made the model emit tool calls as literal text.(v2.1.221)
- Fixed @-mentioned files being silently dropped when pressing Esc to retract a prompt and resubmitting it.(v2.1.221)
- Fixed a crash when preparing API requests for SDK MCP tools named after built-in object properties such as `constructor`.(v2.1.221)
- Fixed WebSearch failing with a 400 error at effort `xhigh`/`max` when thinking is disabled.(v2.1.221)
- Fixed sandboxed large uploads failing with TLS errors through the sandbox proxy.(v2.1.221)
- Fixed Team and Enterprise spend-limit message incorrectly blaming the org's monthly limit instead of your individual spend limit.(v2.1.221)
- Fixed Bedrock authentication with AWS SSO named profiles failing in desktop-managed sessions on Windows machines that set a stray `HOME` environment variable.(v2.1.221)
- Fixed `CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0` not disabling interrupted-turn auto-resume; falsy values are now honored.(v2.1.221)
- Fixed a rare wake-from-sleep race where two Claude Code processes could both refresh the same MCP connector or WIF OAuth token at once, forcing re-authentication.(v2.1.221)
- Fixed renaming a session from Claude Code Desktop or claude.ai not updating the CLI's session name; session names from every rename surface are now sanitized.(v2.1.221)
- Fixed plugin- and org-delivered skills named after terminal-only built-ins (e.g. `/help`, `/feedback`) being un-invocable in non-interactive sessions.(v2.1.221)
- Fixed the "Plugins changed" notification lingering after plugins were reloaded instead of clearing.(v2.1.221)
- Fixed Vim mode: the yank register now survives dialogs, history search, and the transcript view instead of being silently emptied.(v2.1.221)
- Fixed Vim mode: undoing back to an empty prompt now arms the "press ← again" confirm before returning to the agent view.(v2.1.221)
- Fixed --json-schema silently producing unstructured output when the schema was invalid, and schemas using the format keyword being rejected(v2.1.205)
- Fixed a message sent while Claude was working being silently lost when the turn ended at the --max-turns limit(v2.1.205)
- Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it(v2.1.205)
- Fixed background agents staying shown as "failed" or "completed" in the agent list after being resumed with SendMessage(v2.1.205)
- Fixed background jobs flipping from "needs input" back to "working" in the agent list when the agent's turn contained no readable text(v2.1.205)
- Fixed claude attach erroring when a background agent was mid-upgrade restart instead of waiting for it to come back(v2.1.205)
- Fixed session-to-PR linking missing a PR created in a Bash call whose output exceeded the 30K inline limit(v2.1.205)
- Fixed claude mcp add-from-claude-desktop getting stuck when a server name contains unsupported characters; invalid names are now reported and remaining servers still import(v2.1.205)
- Fixed a plugin LSP server that fails to initialize preventing a valid LSP server from another plugin handling the same file extension(v2.1.205)
- Fixed a Windows crash when the directory Claude was launched from is deleted, locked, or unmounted while a command is running(v2.1.205)
- Fixed a crash when a file watcher was closed while a directory scan was still in flight(v2.1.205)
- Fixed project verify skills being rewritten on every session instead of only when a documented command changed(v2.1.205)
- Fixed the agent view rendering one line too high and clipping its header when the job list slightly overflowed the screen(v2.1.205)
- Fixed background tasks in the web and mobile Remote Control panels showing stale "Running" status by forwarding full task state on every membership change(v2.1.205)
- Fixed Cowork VM-mode local-agent sessions failing to start with "Not logged in 342200224 Please run /login" on CLI 2.1.203+(v2.1.205)
- Fixed a crash occurring in the inline Ctrl+R history search when accepting or cancelling while the search was actively scanning history.(v2.1.202)
- Fixed background sessions losing their new name after a job restart when using /rename.(v2.1.202)
- Fixed transient mTLS handshake failures that occurred when settings were re-applied during in-place client certificate rotation.(v2.1.202)
- Fixed commands sent from Remote Control (mobile/web) to interactive sessions failing with an "Unknown command" error.(v2.1.202)
- Fixed images and files sent from the Remote Control mobile or web app without a caption being silently dropped.(v2.1.202)
- Fixed the sign-in URL emitted by claude auth login and claude mcp login --no-browser not being reliably clickable when wrapped over SSH; it is now emitted as a single hyperlink.(v2.1.202)
- Fixed instances where opening a chat from claude agents failed with a "currently running as a background agent" error, leading to a worker crash/respawn loop.(v2.1.202)
- Fixed corruption of workflow scripts containing unicode quote escapes in strings; workflow parse errors now correctly point to the offending line.(v2.1.202)
- Fixed voice dictation retrying indefinitely when the microphone or audio recorder fails; repeated capture failures now pause voice input.(v2.1.202)
- Fixed /remote-control sessions displaying the incorrect permission mode in the mobile and web apps.(v2.1.202)
- Fixed resuming a session by name, or opening the resume picker, taking minutes and consuming excessive memory in repositories with many git worktrees.(v2.1.202)
- Fixed installer and updater downloads immediately failing with "aborted" when a proxy or network connection dropped mid-download; transient connection drops now retry.(v2.1.202)
- Fixed re-invoking an already-loaded skill resulting in a duplicate copy of its instructions being appended to context.(v2.1.202)
- Fixed turns aborting due to brief network drops mid-response; transient errors like ECONNRESET now retry with backoff instead of failing.(v2.1.198)
- Fixed excessive background classifier requests when sandboxed processes repeatedly accessed the same network host.(v2.1.198)
- Fixed background tasks in web, desktop, and VS Code task panels getting stuck on "Running" after they finish or resume.(v2.1.198)
- Fixed agent teams so a teammate dying on an API error now reports "failed" to the lead, and messaging a stuck teammate wakes it to retry immediately.(v2.1.198)
- Fixed the `/diff` panel not refreshing when switching branches or commits outside the session.(v2.1.198)
- Fixed markdown tables overflowing and wrapping their right border when rendered in fullscreen mode.(v2.1.198)
- Fixed Claude Platform on AWS and Mantle sessions dead-ending with "Please run /login" upon STS token expiration by automatically running `awsAuthRefresh`.(v2.1.198)
- Fixed "no route to host" errors for local-network hosts in macOS background agent sessions by declaring Local Network entitlements.(v2.1.198)
- Fixed `/desktop` failing with "Cannot determine working directory" after entering and exiting a worktree.(v2.1.198)
- Fixed background agents repeatedly showing "Reconnecting…" every ~52 seconds on macOS while the agents view was open.(v2.1.198)
- Fixed pressing `←` inside `claude attach <id>` exiting to the shell instead of opening the agent view.(v2.1.198)
- Fixed `claude --bg` silently creating an unattachable session when combined with `--print`/`-p`; conflicting flags are now rejected.(v2.1.198)
- Fixed the workflow progress view dropping the earliest agents from the list while the phase counter remained correct in SDK and desktop-app sessions.(v2.1.198)
- Fixed conditional rules in `.claude/rules/` not loading when the target file is reached via a symlinked path.(v2.1.198)
- Fixed Cmd+click not opening URLs in fullscreen mode in Warp on macOS.(v2.1.198)
- Fixed double-click word selection in fullscreen mode to correctly select the entire URL including the scheme.(v2.1.198)
- Fixed plan mode not auto-allowing read-only tool calls when a session starts in plan mode.(v2.1.198)
- Fixed `/branch` deriving its default fork name from the compaction summary instead of the first real prompt.(v2.1.198)
- Fixed `--resume` failing with "No conversation found" when the original `-p` run produced no model turns(v2.1.187)
- Fixed `--json-schema` and workflow `agent({schema})` structured output so the model cannot re-call `StructuredOutput` indefinitely and follow-up turns reliably return structured output(v2.1.187)
- Fixed remote MCP tool calls hanging for 5 minutes by aborting with an error instead of blocking indefinitely(v2.1.187)
- Fixed Claude Code Remote sessions taking ~2.7s longer to start due to the agent proxy CA system-trust install(v2.1.187)
- Fixed pasted Korean/CJK text turning into mojibake in terminals that deliver paste as per-byte extended-key events(v2.1.187)
- Fixed `/update` over Remote Control hanging when a startup trust dialog would have shown(v2.1.187)
- Fixed background jobs in the agents view getting stuck in "working" indefinitely when the agent ended a turn without producing structured output(v2.1.187)
- Fixed channel connections dropping after navigating to the agents view and back, and after `/bg`, `/tui`, or `/update`(v2.1.187)
- Fixed agent stop notifications not correctly attributing who stopped the agent(v2.1.187)
- Fixed subagent depth tracking: resumed subagents now restore their original spawn depth, and forked subagents now count toward the depth cap(v2.1.187)
- Fixed leaked agent worktree registrations: locked `.git/worktrees/` entries from killed agents are now cleaned up automatically(v2.1.187)
- Fixed Cmd+click not opening URLs in fullscreen mode in Ghostty on macOS(v2.1.187)
- Fixed `claude --help` not listing the `--bg`/`--background` flag(v2.1.187)
- Fixed Esc, Ctrl-C, and Ctrl-D not working while `/share` is uploading(v2.1.187)
- Fixed VSCode extension becoming unresponsive when resuming a large session(v2.1.187)
- Fixed `thinking.disabled.display: Extra inputs are not permitted` 400 errors on subagent spawns and session-title generation for affected configurations(v2.1.183)
- Fixed WebSearch returning empty results in subagents(v2.1.183)
- Fixed the terminal cursor being stranded above the prompt after navigating history in vim mode with the native cursor enabled(v2.1.183)
- Fixed fullscreen TUI corruption (statusline mid-screen, duplicated spinner rows, merged text) in Windows Terminal under heavy nested-subagent load(v2.1.183)
- Fixed turns silently completing with no visible output when the model returned only a thinking block; Claude now re-prompts once(v2.1.183)
- Fixed user-level skills appearing multiple times in slash-command autocomplete when multiple plugins are enabled(v2.1.183)
- Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode(v2.1.183)
- Fixed tmux teammate panes failing to launch when the shell has slow rc-file initialization, and keystrokes typed during agent spawn leaking into the new tmux pane instead of the leader prompt(v2.1.183)
- Fixed background tasks started by a teammate being killed when the teammate finishes a turn(v2.1.183)
- Fixed scheduled task and webhook trigger deliveries being treated as keyboard input; they now classify as task notifications and can no longer approve a pending action or set the session title in auto mode(v2.1.183)
- Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response(v2.1.183)
- Fixed prompt caching failing to read when using a custom ANTHROPIC_BASE_URL or on Foundry due to per-request attestation token changes.(v2.1.181)
- Fixed Write/Edit operations producing 0-byte or truncated files when saving to network drives or cloud-synced folders.(v2.1.181)
- Fixed open, osascript, and browser-based authentication flows failing with error -600 on macOS by correctly adding the Apple Events entitlement.(v2.1.181)
- Fixed a startup regression causing the first prompt to wait for managed-settings fetch when no MCP servers are configured.(v2.1.181)
- Fixed startup blocking with a blank terminal for up to 15 seconds when the account settings fetch is slow on a degraded network.(v2.1.181)
- Fixed a startup crash (TypeError: Cannot read properties of null) occurring when .claude.json contains corrupted null project entries.(v2.1.181)
- Fixed macOS TUI freezing at session start (Ctrl+C unresponsive) when Spotlight is busy reindexing.(v2.1.181)
- Fixed long-running idle sessions losing their history when another Claude Code process executed the 30-day transcript cleanup.(v2.1.181)
- Fixed foreground subagents spawning unbounded nested chains; they now correctly respect the 5-level depth limit.(v2.1.181)
- Fixed /recap and conversation forks incorrectly using the previous model immediately after a model switch.(v2.1.181)
- Fixed subagent "Thinking" duration incorrectly showing the parent agent's elapsed time instead of the subagent's own time.(v2.1.181)
- Fixed subagents blocked on a nested agent incorrectly showing a ticking elapsed time instead of "waiting" in the agent panel.(v2.1.181)
- Fixed the API retry indicator staying visible after the retry attempt successfully completed.(v2.1.181)
- Fixed AWS awsCredentialExport credentials with short remaining lifetimes causing unnecessary minute-by-minute refreshes, and now correctly accepts the JSON shape from aws configure export-credentials.(v2.1.181)
- Fixed claude mcp get/list showing ● Connected when tool fetching failed; they now correctly show ! Connected · tools fetch failed with error details.(v2.1.181)
- Fixed /remote-control leaving a stale "connecting…" line; it now confirms connection in the transcript.(v2.1.181)
- Fixed ExitWorktree refusing to remove a clean worktree with an error when bare git cannot be resolved on Windows.(v2.1.181)
- Fixed settings changes (like /effort or /model) failing with ENOENT when ~/.claude/settings.json is a relative symlink under a symlinked ~/.claude.(v2.1.181)
- Fixed IDE selection line numbers in context reminders being off by one in IntelliJ and VS Code.(v2.1.181)
- Fixed Ctrl+C in fullscreen after a native terminal selection overwriting the clipboard with the app's prior selection.(v2.1.181)
- Fixed Ctrl+V pasting text incorrectly showing "No image found in clipboard" when the clipboard contained text.(v2.1.181)
- Fixed agent creation failing with EEXIST: file already exists when the agents directory already existed (Windows/OneDrive).(v2.1.181)
- Fixed AskUserQuestion preview content being cut off at the dialog edge instead of word-wrapping.(v2.1.181)
- Fixed AskUserQuestion multi-select questions silently dropping a typed "Other" free-text answer upon submission.(v2.1.181)
- Fixed /stats "Most active day" and daily token chart dates showing one day early in UTC-negative timezones.(v2.1.181)
- Fixed /copy and copy-on-select on Linux not detecting an installed clipboard utility after Claude Code started.(v2.1.181)
- Fixed tab-indented code rendering with incorrect indentation in the Write (create-file) preview.(v2.1.181)
- Fixed user prompts queued mid-turn not showing a full-width background highlight in the transcript.(v2.1.181)
- Fixed the activity spinner's pulse dwelling on the wrong glyph size in Ghostty.(v2.1.181)
- Fixed `claude -p` hanging indefinitely after its final result when a backgrounded command never exits by stopping background shells after ~5s.(v2.1.163)
- Fixed `claude -p` failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when `CI=true` and no Anthropic API key is set.(v2.1.163)
- Fixed Bash commands failing under bazel and EDR-protected Go workflows by correcting the override of `$TMPDIR` to only apply to sandboxed commands.(v2.1.163)
- Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it was read-only or inside OneDrive.(v2.1.163)
- Fixed org-managed permission rules not applying for the entire session when managed settings fetch completed during startup on a fresh config directory.(v2.1.163)
- Fixed background sessions in `claude agents` losing running background tasks when reattaching after a Claude Code update.(v2.1.163)
- Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc.(v2.1.163)
- Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone.(v2.1.163)
- Fixed keyboard input becoming permanently unresponsive after a paste operation whose end marker was dropped by the terminal.(v2.1.163)
- Fixed hook `if: "Bash(...)"` conditions firing incorrectly by ensuring the pattern matches commands inside subshells and backticks.(v2.1.163)
- Fixed deny rules on home-directory paths (e.g. `Read(~/Desktop/**)`) not blocking Bash commands that reference the path via `$HOME`.(v2.1.163)
- Fixed a silent startup hang when the configuration directory is read-only or unwritable; Claude Code now starts with in-memory config and shows startup errors.(v2.1.162)
- Fixed WebFetch permission rules not applying to built-in preapproved domains; explicit deny/ask/allow rules now correctly override the auto-allow.(v2.1.162)
- Fixed Windows permission rules failing to match when paths used backslashes (\, \\server\share) or varied case, and fixed Read deny rules failing to hide files from Glob/Grep results.(v2.1.162)
- Fixed an interrupt (Esc) sent at the very start of a turn being silently dropped in stream-json/SDK sessions, resulting in no "Interrupted" feedback.(v2.1.162)
- Fixed API 400 "no low surrogate in string" errors occurring for classifier side-queries and MCP server descriptions containing emoji near a truncation boundary.(v2.1.162)
- Fixed MCP per-server `timeout` values below 1000 ms being incorrectly floored to 1 second; sub-1000 ms values are now ignored, falling back to the default timeout.(v2.1.162)
- Fixed the LSP tool's `workspaceSymbol` operation returning no results; it now correctly accepts and passes a `query` parameter to the language server.(v2.1.162)
- Fixed `claude agents` cutting live status text (tool args, replies, prompts, exec output) short on wide terminals; status detail now uses the full terminal width.(v2.1.162)
- Fixed `claude agents` truncating long session names at 40 columns; the name column now adjusts based on terminal width.(v2.1.162)
- Fixed `claude agents` attach occasionally failing to connect on the first try after a background-service restart.(v2.1.162)
- Fixed Ctrl+V image pasting doing nothing in the `claude agents` dispatch input and reply box; pasting non-image content now shows a hint.(v2.1.162)
- Fixed backgrounding a session with ← silently losing the conversation if the background service failed to start; the session now remains in the list as a failed row that can be woken with Enter.(v2.1.162)
- Fixed replies from the agents view that fail to send being lost; they are now queued for delivery upon the next session start.(v2.1.162)
- Fixed cross-session messaging (`SendMessage`) breaking silently when temporary directory variables pointed to deep paths.(v2.1.162)
- Fixed opening a running background session from `claude agents` stalling for 5 seconds before attaching.(v2.1.162)
- Fixed workflow animations, prompt keyword shimmer, and the /effort dialog ignoring the "Reduce motion" setting.(v2.1.161)
- Fixed managed-settings policies (forceLoginOrgUUID/forceLoginMethod) incorrectly blocking third-party provider sessions when the org pin was active.(v2.1.161)
- Fixed background subagent output corrupting stdout when using --output-format text or json with claude -p.(v2.1.161)
- Fixed /usage-credits incorrectly initiating a re-login for Team/Enterprise admins instead of navigating to the organization's usage settings.(v2.1.161)
- Fixed /autofix-pr incorrectly reporting it cannot run on the default branch when operating inside a git worktree or another repository.(v2.1.161)
- Fixed the --resume picker failing to show sessions from the current directory if it was not a git worktree (e.g., jj workspaces).(v2.1.161)
- Fixed Windows hooks that explicitly invoke bash (e.g., /usr/bin/bash script.sh) failing with command not found errors.(v2.1.161)
- Fixed OpenTelemetry log events being silently dropped if emitted before telemetry initialization was complete.(v2.1.161)
- Fixed claude mcp list/get/add commands from printing secrets to the terminal by redacting credential headers, URL secrets, and preventing expansion of ${VAR} references.(v2.1.161)
- Fixed Workflow agents spawned with isolation: "worktree" being blocked from editing files inside their own worktree during background sessions.(v2.1.161)
- Fixed background sessions dispatched from claude agents booting using a stale model from the daemon's environment instead of the model specified in settings.json.(v2.1.161)
- Fixed a potential crash that occurred when rendering Write tool results after resuming a session.(v2.1.161)
- Fixed completed subagents getting stuck showing as running when an error occurred during result finalization.(v2.1.161)
- Fixed EADDRINUSE errors for tools binding Unix sockets under $TMPDIR when CLAUDE_CODE_TMPDIR was set to a deep path.(v2.1.161)
- Fixed terminal styling degradation in very long sessions by recycling the renderer's style pool.(v2.1.152)
- Fixed the sandbox-enabled warning failing to appear in condensed startup mode; it now shows in all layouts.(v2.1.152)
- Fixed the loading spinner incorrectly showing "still thinking"/"almost done thinking" while a tool was running, and now resets the thinking status after each tool execution.(v2.1.152)
- Fixed focus mode displaying a spurious "N messages hidden" count when no hidden activity occurred.(v2.1.152)
- Fixed clicking a link inside an expanded tool result incorrectly collapsing the section instead of opening the link.(v2.1.152)
- Fixed various markdown rendering issues including table cell borders inheriting inline code color, wrapped continuation lines losing style, and empty header cells showing an incorrect label in narrow-terminal stacked layout.(v2.1.152)
- Fixed plugin MCP servers with identical commands but different environment variables being incorrectly deduplicated.(v2.1.152)
- Fixed `/doctor` reporting marketplace or plugin not found errors due to stale `enabledPlugins` entries referencing removed resources.(v2.1.152)
- Fixed plugins tracking a git branch silently failing to receive updates after the plugin registry was rebuilt.(v2.1.152)
- Fixed remote MCP servers failing to connect in Claude Code Remote sessions when the egress proxy was enabled.(v2.1.152)
- Fixed the effort-change confirmation dialog appearing unnecessarily when the conversation was empty or when switching between equivalent effort levels.(v2.1.152)
- Fixed the Agent tool description incorrectly referencing an unavailable agent list when running with `--bare` or attachments disabled.(v2.1.152)
- Fixed a background worker crash in `claude agents` when accepting a stale permission prompt after a subagent cancellation.(v2.1.152)
- Fixed `cache_creation_input_tokens` reporting as 0 in usage statistics when cache writes were reported only via the nested `cache_creation` breakdown.(v2.1.152)
- Fixed the PushNotification tool incorrectly reporting failure when Remote Control was enabled in SDK-hosted sessions.(v2.1.152)
- Fixed sessions getting stuck after model or login switches by proactively stripping stale thinking-block signatures from history.(v2.1.152)
- Fixed a PowerShell permission bypass where built-in cd functions (cd.., cd\, cd~) changed the working directory undetected, potentially allowing commands to read outside the workspace.(v2.1.149)
- Fixed the sandbox write allowlist in git worktrees to cover only the shared .git directory, correctly denying access to the entire main repository root (except hooks/ and config).(v2.1.149)
- Fixed PowerShell prefix/wildcard allow rules (e.g. PowerShell(dotnet.exe build *)) not pre-approving native executables and scripts.(v2.1.149)
- Fixed a permission-analysis gap where the parser trusted stale variable-tracking values for PWD/OLDPWD/DIRSTACK across cd/pushd/popd operations.(v2.1.149)
- Fixed the find command in the Bash tool exhausting the macOS system file/vnode table and crashing the host when processing large directory trees.(v2.1.149)
- Fixed the managed-settings approval dialog freezing the terminal after accepting settings at startup.(v2.1.149)
- Fixed /ultraplan and remote session creation failing with "Could not capture uncommitted changes" when the working tree genuinely has no uncommitted changes.(v2.1.149)
- Fixed otelHeadersHelper failing silently when the script path contains spaces; failures are now reported in /doctor and the debug log.(v2.1.149)
- Fixed the thinking spinner remaining amber across tool calls and persisting onto subsequent fresh thinking bursts.(v2.1.149)
- Fixed collapsed Bash output reporting an incorrect hidden-line count for outputs containing many short lines.(v2.1.149)
- Fixed slash-command argument-hint clipping trailing typed characters when the hint overflows the input box.(v2.1.149)
- Fixed argument-hint and progressive arg suggestions not appearing after Tab-completing a skill whose frontmatter name differs from its directory basename.(v2.1.149)
- Fixed the status bar incorrectly showing the user's baseline /effort setting instead of the effort level specified by skill/agent effort: frontmatter.(v2.1.149)
- Fixed the Ctrl+O transcript view freezing upon opening instead of correctly tailing new messages.(v2.1.149)
- Fixed editing a recalled prompt-history entry losing the edit when navigating further up/down using arrow keys.(v2.1.149)
- Fixed /config exit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings.(v2.1.149)
- Fixed /insights crashing when cached session-meta files are missing optional fields.(v2.1.149)
- Fixed malformed PowerShell and History tool calls missing input being misclassified as reads during transcript collapsing.(v2.1.149)
- Fixed renaming a Remote Control session from claude.ai or the Claude mobile app not updating the local session name required for claude --resume.(v2.1.149)
- Fixed a race condition where a just-submitted prompt could appear twice in the up-arrow history.(v2.1.149)
- Fixed tapping the "Jump to bottom" pill in fullscreen mode not dismissing it immediately.(v2.1.149)
- Fixed Windows PowerShell tool failing with "command line is invalid" when `pwsh` is installed via winget or the Microsoft Store(v2.1.146)
- Fixed MCP `resources/list`, `resources/templates/list`, and `prompts/list` dropping items past page 1 on paginating servers(v2.1.146)
- Fixed full-screen strobing in attached background sessions on Windows Terminal while Claude is streaming(v2.1.146)
- Fixed the auto-updater status line not showing your current version when an update fails(v2.1.146)
- Fixed on Windows, removing a background-job worktree no longer follows NTFS junctions into the main repo(v2.1.146)
- Fixed /background refusing sessions whose only typed input was a skill or custom slash command(v2.1.146)
- Fixed backgrounded sessions re-prompting for tool permissions you already granted with "don't ask again"(v2.1.146)
- Fixed /theme color editor and "New custom theme" dialogs not responding to Esc(v2.1.146)
- Fixed an uncaught exception at the end of streaming sessions when running via the Agent SDK(v2.1.146)
- Fixed `forceLoginOrgUUID` and `forceLoginMethod` managed-settings policies not being enforced against third-party-provider and API-key sessions(v2.1.146)
- Fixed GNOME Terminal right-click and middle-click paste not inserting text(v2.1.146)
- Fixed `CLAUDE_CODE_SUBAGENT_MODEL` not being forwarded to child processes in multi-agent sessions(v2.1.146)
- Fixed corruption of `.credentials.json` when the `scopes` value was not an array, which previously caused CLI hangs or silent OAuth token refresh failures.(v2.1.143)
- Fixed inability to right-click paste in `claude agents` sessions on Windows Terminal and WSL.(v2.1.143)
- Fixed stop hooks that could loop indefinitely; turns now end with a warning after 8 consecutive blocks.(v2.1.143)
- Fixed Esc or Ctrl+C failing to cancel a pending /loop wakeup while Claude was idle between iterations.(v2.1.143)
- Fixed the /goal evaluator firing prematurely while background shells or delegated subagents were still running.(v2.1.143)
- Fixed `NO_COLOR`/`FORCE_COLOR` settings in `settings.json` incorrectly stripping Claude Code's UI colors; these settings now only apply to subprocesses.(v2.1.143)
- Fixed agent view spawning duplicate PowerShell processes on Windows when listing sessions.(v2.1.143)
- Fixed /bg without a prompt sending "continue" to the forked session; the fork now correctly waits for input.(v2.1.143)
- Fixed `--agent <name>` failing to find plugin-contributed agents unless the `plugin:` prefix was used.(v2.1.143)
- Fixed deleting a session from the agent view failing to remove its corresponding transcript file.(v2.1.143)
- Fixed stale-fragment rendering issues when scrolling in attached background sessions on Windows Terminal.(v2.1.143)
- Fixed background agents experiencing false-positive worker-stall detection storms after host sleep or macOS App Nap.(v2.1.143)
- Fixed 5xx error messages incorrectly pointing to status.claude.com instead of the configured gateway or cloud provider.(v2.1.143)
- Fixed background sessions silently capturing IDE file references into the warm spare's input, causing references to be prepended to subsequent prompts.(v2.1.143)
- Fixed worktree cleanup falling back to `rm -rf` when `git worktree remove` failed, preventing loss of gitignored or in-progress files.(v2.1.143)
- Fixed background-job sessions on macOS receiving "Operation not permitted" errors when reading files in protected directories like `~/Documents`, even with Full Disk Access granted.(v2.1.143)
- Fixed background sessions launched from `claude agents` incorrectly overriding `permissions.defaultMode` from settings.json (it was previously overridden to auto mode).(v2.1.143)
- Fixed unresponsive agents list on Windows when pressing ← during response streaming.(v2.1.143)
- Fixed background daemon spawn failing when the `~/.local/bin/claude` launcher was missing or non-executable.(v2.1.143)
- Fixed `claude agents --allow-dangerously-skip-permissions` incorrectly defaulting dispatched sessions to bypass mode instead of making it available in the permission cycle.(v2.1.143)
- Fixed `MCP_TOOL_TIMEOUT` not raising the per-request fetch timeout for remote HTTP and SSE MCP servers, which capped tool calls at 60 seconds regardless of the configured value(v2.1.142)
- Fixed background sessions not recognizing pre-existing git worktrees, blocking Edit while EnterWorktree refused to create a duplicate(v2.1.142)
- Fixed background sessions disappearing and daemon reconnect failing after macOS sleep/wake — the daemon now detects clock jumps instead of treating them as elapsed idle time(v2.1.142)
- Fixed daemon not exiting cleanly after the binary is upgraded (e.g. `brew upgrade`), causing dispatched agents to crash-loop on the deleted path(v2.1.142)
- Fixed background agents crash-looping when the Claude-in-Chrome extension is connected without a shared tab(v2.1.142)
- Fixed clicking links in an attached `claude agents` session — the background worker's headless browser shim no longer applies while attached(v2.1.142)
- Fixed `claude agents` "v to open in editor" using the daemon's default editor instead of your shell's `$EDITOR`/`$VISUAL`(v2.1.142)
- Fixed `claude agents` deadlocking on Windows with network-drive working directories; Ctrl+C now works during startup(v2.1.142)
- Fixed background-color bleed when attaching to a `claude agents` session from Apple Terminal or other 256-color-only terminals(v2.1.142)
- Fixed `claude --bg --dangerously-skip-permissions` not persisting across retire/wake(v2.1.142)
- Fixed session titles being derived from the URL when the first message is a link(v2.1.142)
- Fixed redundant `set_model` requests from remote clients injecting duplicate `/model` breadcrumbs into the transcript(v2.1.142)
- Fixed plugins using `skills: ["./"]` showing a false "path escapes plugin directory" error(v2.1.142)
- Fixed plugin cache cleanup deleting the active plugin version directory when no installation metadata is present(v2.1.142)
- Fixed `/plugin` browse pane showing "0 installs" for newly published plugins(v2.1.142)
- Fixed plugin advisories not naming every `plugin.json` key that shadows a default folder(v2.1.142)
- Fixed background side-queries sending an unavailable Haiku model ID on Bedrock/Vertex/Foundry/gateway when no `ANTHROPIC_SMALL_FAST_MODEL` override is set; it now correctly falls back to the main-loop model.(v2.1.141)
- Fixed `claude daemon status` and `/doctor` on Windows throwing an opaque failure when the daemon pipe key file is locked or unreadable; it now shows the underlying error.(v2.1.141)
- Fixed `claude agents` showing the agent-type list instead of the dashboard when launched through a wrapper that adds flags.(v2.1.141)
- Fixed `claude agents` firing redundant dispatches when opening a crashed session where the working directory was deleted.(v2.1.141)
- Fixed background jobs on a custom `ANTHROPIC_BASE_URL` gateway not getting auto-named; the namer now uses the main model when no Haiku model is configured.(v2.1.141)
- Fixed `/model` command in one session silently changing the autocompact threshold in other concurrent sessions.(v2.1.141)
- Fixed switching permission mode while a tool-permission prompt is open not auto-dismissing the prompt when the new setting permits the tool.(v2.1.141)
- Fixed pressing Enter while a permission/dialog prompt is open from also submitting text in the input box.(v2.1.141)
- Fixed hooks receiving a non-existent `transcript_path` after `EnterWorktree` switches the working directory.(v2.1.141)
- Fixed markdown tables with cell wrapping falling back to the vertical key-value layout instead of rendering as a bordered grid.(v2.1.141)
- Fixed cancelled prompts being removed from Up-arrow history when auto-restored into the input box, preventing duplicate entries.(v2.1.141)
- Fixed prompts cancelled with Ctrl+C/Esc before any response being dropped from Up-arrow history.(v2.1.141)
- Fixed Ctrl+C not interrupting a running turn while in vim INSERT/VISUAL mode.(v2.1.141)
- Fixed alternative `chat:submit` keybindings (e.g. `meta+enter`, `ctrl+enter`) not working when `enter` is rebound to `chat:newline`.(v2.1.141)
- Fixed prompt suggestions being silently disabled when an output style was configured.(v2.1.141)
- Fixed `spinnerVerbs` setting not being honored in turn-completion messages.(v2.1.141)
- Fixed AskUserQuestion popup hiding the last line of preceding chat content.(v2.1.141)
- Fixed Web Search status showing "Did 0 searches" when searches actually returned errors.(v2.1.141)
- Fixed multi-line statusline output dropping or corrupting rows when any line exceeds terminal width.(v2.1.141)
- Fixed light-ansi theme using invisible white for diff context lines on light backgrounds; it now uses black.(v2.1.141)
- Fixed error overlay dumping minified bundle source that hid the original error message.(v2.1.141)
- Fixed pressing Enter after typing a feedback survey rating digit submitting it as a chat message instead of submitting the rating.(v2.1.141)
- Fixed pressing `x` on a selected subagent in the agent panel typing into the prompt instead of stopping the agent.(v2.1.141)
- Fixed session title being derived from plugin monitor notifications before the user's first prompt.(v2.1.141)
- Fixed "Allowed by PermissionRequest hook" repeating once per tool call under a collapsed read/search group.(v2.1.141)
- Fixed `/tui` silently dropping running background shells and subagents; it now refuses and asks to wait for them to finish.(v2.1.141)
- Fixed welcome banner showing "API Usage Billing" on Bedrock, Vertex, Foundry, and other third-party providers; it now shows the provider name.(v2.1.141)
- Fixed `/mcp` server list not keeping the focused server visible in short terminals in fullscreen mode.(v2.1.141)
- Fixed redaction in `/feedback` bundles producing invalid JSON for quoted values like session IDs.(v2.1.141)
- Fixed desktop and third-party provider sessions incorrectly inheriting `apiKeyHelper`/`ANTHROPIC_AUTH_TOKEN` from host managed-settings.(v2.1.141)
- Fixed early analytics events being silently dropped when fired before logger initialization.(v2.1.141)
- Fixed `claude plugin install` failing for plugins whose marketplace `ref` no longer exists upstream when a `sha` is also pinned.(v2.1.141)
- Fixed plugin details pane showing 0 MCP servers for plugins that declare them via `.mcp.json`.(v2.1.141)
- Fixed plugin MCP servers with unset config variables showing a generic connection failure instead of a "config issue" message with a fix-it hint; malformed `.mcp.json` entries no longer drop other MCP servers.(v2.1.141)
- Fixed MCP HTTP/SSE servers returning 403 on connect showing as "failed" instead of "needs auth".(v2.1.141)
- Fixed remote MCP servers disconnecting unnecessarily when the optional server-events stream failed to reconnect; tool calls continue over POST.(v2.1.141)
- Fixed Remote Control MCP connectors all failing with 401 when the worker session token rotated mid-session.(v2.1.141)
- Fixed Remote Control automatically re-enrolling a trusted device when the server rejects a stale token, instead of looping through `/login`.(v2.1.141)
- Fixed a race where early OTel spans could be silently dropped in SDK/headless mode with beta tracing enabled.(v2.1.141)
- Fixed custom `voice:pushToTalk` keybindings and `"space": null` unbinds being silently ignored.(v2.1.141)
- Fixed Windows Alt+V image paste reporting "no image found" when the clipboard contains a screenshot.(v2.1.141)
- Fixed SDK "Claude Code native binary not found" on Linux when both glibc and musl platform packages are installed.(v2.1.141)
- Fixed Bedrock: `awsCredentialExport` being skipped when ambient AWS credentials resolve, ensuring it now always runs when configured for cross-account access.(v2.1.141)
- Fixed in-chat mic in VSCode showing no feedback when the microphone produced only silence; it now shows "No audio detected".(v2.1.141)
- Fixed WSL error in VSCode Voice mode suggesting installing `sox libsox-fmt-pulse` for WSLg users.(v2.1.141)
- Fixed `claude agents` failing to launch a session when the pre-warmed background worker is unhealthy; it now falls back to a fresh launch.(v2.1.141)
- Fixed `claude agents` showing empty placeholder sessions left over from backgrounding a fresh REPL, and now shows onboarding text when entered via `←` with no other agents.(v2.1.141)
- Fixed empty idle background sessions left over from `←` being automatically retired by the daemon after 5 minutes.(v2.1.141)
- Fixed `/goal` command hanging silently when `disableAllHooks` or `allowManagedHooksOnly` is set; it now displays a clear message.(v2.1.140)
- Fixed a regression where symlinked settings files caused incorrect change events and unnecessary `ConfigChange` hooks during settings hot-reload.(v2.1.140)
- Fixed `claude --bg` failing with a "connection dropped mid-request" error when the background service was idling.(v2.1.140)
- Fixed background service startup failures on machines with enterprise endpoint security by increasing startup timeout.(v2.1.140)
- Fixed remote managed settings not retrying after a 401 error; it now retries once after forcing a token refresh.(v2.1.140)
- Fixed managed `extraKnownMarketplaces` auto-update policy not being saved correctly to `known_marketplaces.json`.(v2.1.140)
- Fixed `/loop` scheduling unnecessary wakeups to poll for background tasks that had already signaled completion.(v2.1.140)
- Fixed a recurring event-loop stall on Windows caused by synchronous `where.exe` re-spawns when a required executable (like `gh`) was missing.(v2.1.140)
- Fixed `Read` tool calls failing validation when the `offset` parameter was provided as a whitespace-padded or `+`-prefixed string.(v2.1.140)
- Fixed the native terminal cursor not remaining at the input caret when the terminal window lost focus.(v2.1.140)
- Fixed MCP servers configured in `.mcp.json`, plugins, and claude.ai connectors silently disappearing after `/clear` in various clients.(v2.1.136)
- Fixed a rare login loop caused by concurrent credential writes overwriting OAuth tokens.(v2.1.136)
- Fixed MCP OAuth refresh tokens being lost during concurrent refreshes, preventing daily re-authentication for users with multiple remote MCP servers.(v2.1.136)
- Fixed an API error (400) when extended thinking emitted a redacted thinking block after a tool call.(v2.1.136)
- Fixed `--resume` / `--continue` failing to find sessions when the project path contains underscores.(v2.1.136)
- Fixed plan mode incorrectly allowing file writes when a matching `Edit(...)` allow rule existed.(v2.1.136)
- Fixed plugin `Stop`/`UserPromptSubmit` hooks failing when cache cleanup deleted a version still in use by a running session.(v2.1.136)
- Fixed colors appearing at wrong positions in bash command output and markdown code blocks.(v2.1.136)
- Fixed ReasonML diffs rendering corrupted "undefined" text artifacts at word-diff boundaries.(v2.1.136)
- Fixed worktree exit dialog incorrectly warning about uncommitted files in the wrong directory after worktree removal.(v2.1.136)
- Fixed `@` file picker not matching files created mid-session in small non-git directories.(v2.1.136)
- Fixed `@`-mention file picker not finding files in directories with more than 100 entries.(v2.1.136)
- Fixed failed tool calls not being click-to-expand in fullscreen mode when their output was truncated.(v2.1.136)
- Fixed Backspace and Ctrl+Backspace swapping functions after using Ctrl+G to open an external editor on terminals with persistent extended-key modes.(v2.1.136)
- Fixed `/usage` weekly reset displaying the time of day instead of the calendar date.(v2.1.136)
- Fixed welcome banner ellipsis causing column overflow on CJK terminals.(v2.1.136)
- Fixed `/insights` crashing when session history contained tool calls with malformed input fields.(v2.1.136)
- Fixed a renderer crash when a tool's collapsibility classification changed mid-session.(v2.1.136)
- Fixed a `skills` entry in `plugin.json` incorrectly hiding the plugin's default `skills/` directory; listing a file path now correctly shows an error.(v2.1.136)
- Fixed IDE shell-integration lock files not respecting `CLAUDE_CONFIG_DIR`.(v2.1.136)
- Fixed trailing whitespace being included when copying terminal output during streaming.(v2.1.136)
- Fixed plugin uninstall and enable/disable operations failing to match slugs case-insensitively.(v2.1.136)
- Fixed tool error truncation marker showing a negative count for surrogate-pair strings.(v2.1.136)
- Fixed environment variables from `CLAUDE_ENV_FILE` SessionStart hooks becoming stale after `/resume` or `/clear`.(v2.1.136)
- Fixed `/branch` saving a multi-line session title when given a pasted multi-line name.(v2.1.136)
- Fixed a stray leading space appearing on the second line of wrapped text at the column boundary.(v2.1.136)
- Fixed Esc key failing to dismiss dialogs in `/install-github-app`, `/desktop`, `/resume`, and `/web-setup`.(v2.1.136)
- Fixed `/doctor` MCP schema errors failing to name the missing field or show the source file path.(v2.1.136)
- Fixed Bash permission prompts displaying an internal parser diagnostic instead of a user-readable explanation.(v2.1.136)
- Fixed plugin slash commands containing spaces (e.g. `/myplugin review`) not resolving to their namespaced form.(v2.1.136)
- Fixed `AskUserQuestion` discarding multi-select answers when supplied as an array.(v2.1.136)
- Fixed `/clear <name>` failing to label the cleared session correctly for subsequent `/resume`.(v2.1.136)
- Fixed `CronList` output missing necessary qualifiers and the scheduled prompt information.(v2.1.136)
- Fixed "Jump to bottom" overlay leaving color artifacts on CJK characters in fullscreen mode.(v2.1.136)
- Fixed wide markdown tables leaving a stale bordered render in terminal scrollback while streaming.(v2.1.136)
- Fixed pasted text being silently dropped when a long prompt with a pasted-text placeholder was auto-truncated.(v2.1.136)
- Fixed `/release-notes` getting stuck on an old version after a failed changelog refresh.(v2.1.136)
- Fixed `/mcp` server list failing to scroll when more servers than fit in the terminal were present.(v2.1.136)
- Fixed mid-input slash command autocomplete failing to work after an initial slash command was used.(v2.1.136)
- Fixed scrolling to bottom re-engaging auto-follow behavior when `autoScrollEnabled` was set to false.(v2.1.136)
- Fixed prompt suggestions being auto-submitted by pressing Enter on an empty input instead of requiring Tab or arrow keys to accept.(v2.1.136)
- Fixed keyboard shortcut hints not reflecting rebound keys configured in `keybindings.json`.(v2.1.136)
- Fixed language changes made in `/settings` being reverted upon pressing Escape after confirmation.(v2.1.136)
- Fixed `/terminal-setup` only appearing in autocomplete on exact name match instead of partial prefixes.(v2.1.136)
- Fixed "Chat about this" action on an `AskUserQuestion` dialog erasing the original question text.(v2.1.136)
- Fixed MCP tool results being invisible when the server returned content blocks.(v2.1.136)
- Fixed external SIGINT (e.g., IDE stop button, `kill -INT`) not triggering graceful shutdown; terminal modes are now restored and the `--resume` hint is printed.(v2.1.132)
- Fixed an uncaught exception occurring when the terminal is closed or SSH disconnects mid-session on the native build.(v2.1.132)
- Fixed `--resume` failing with `no low surrogate in string` when a tool error truncation split an emoji; pre-corrupted sessions are now sanitized on load.(v2.1.132)
- Fixed `--permission-mode` flag being ignored when resuming a plan-mode session with `-p --continue` or `--resume`, and ensured plan mode is re-applied after `ExitPlanMode` within the same session.(v2.1.132)
- Fixed fullscreen mode showing a blank screen after laptop sleep/wake or Ctrl+Z/ `fg` until the next keystroke or stream output.(v2.1.132)
- Fixed cursor landing mid-grapheme on Ctrl+E/A/K/U/arrow keys when an Indic conjunct or ZWJ emoji wraps across lines.(v2.1.132)
- Fixed vim operators corrupting text containing decomposed (NFD) accented characters.(v2.1.132)
- Fixed pasting text starting with `/` silently swallowing the input or triggering an unknown-command reply.(v2.1.132)
- Fixed pasting dumping stray escape sequences into the prompt when focus events or mouse-tracking reports interleave with the bracketed paste.(v2.1.132)
- Fixed mouse wheel scrolling being too fast in Cursor and VS Code 1.92–1.104 due to an upstream xterm.js bug.(v2.1.132)
- Fixed scroll-wheel handling in JetBrains IDE 2025.2 terminals (resolved spurious arrow keys, wrong-direction events, and runaway acceleration).(v2.1.132)
- Fixed `/usage` Ctrl+S hanging when copying the stats screenshot to the clipboard on Linux/X11.(v2.1.132)
- Fixed `/terminal-setup` showing a contradictory error in Windows Terminal (Shift+Enter is natively supported there).(v2.1.132)
- Fixed `/effort` picker not reflecting the `CLAUDE_CODE_EFFORT_LEVEL` environment variable override.(v2.1.132)
- Fixed `/status` showing the wrong default model for some users.(v2.1.132)
- Fixed slash command autocomplete popup being capped at ~3–5 visible commands instead of scaling with terminal height.(v2.1.132)
- Fixed statusline `context_window` token counts reflecting cumulative session totals instead of current context usage.(v2.1.132)
- Fixed Alt+T (thinking toggle) not working on macOS terminals without "Option as Meta" enabled (iTerm2, Terminal.app defaults).(v2.1.132)
- Fixed dead keyboard input on Windows after re-opening a background session from `claude agents`.(v2.1.132)
- Fixed unbounded memory growth (10GB+ RSS) when an stdio MCP server writes non-protocol data to stdout.(v2.1.132)
- Fixed MCP servers that connect but fail `tools/list` silently showing 0 tools; they now retry once and show "connected · tools fetch failed" in `/mcp`.(v2.1.132)
- Fixed unauthorized claude.ai MCP connectors showing as "failed" instead of "needs auth", and headless `-p` mode retrying non-transient 4xx connection failures.(v2.1.132)
- Fixed Bedrock and Vertex 400 errors when `ENABLE_PROMPT_CACHING_1H` is set.(v2.1.132)
- Fixed focus mode briefly dimming the previous response when submitting a new prompt.(v2.1.128)
- Fixed stray "4;0;" desktop notification appearing on every /exit in terminals like Kitty.(v2.1.128)
- Fixed Remote Control showing an empty "Opening your options…" message on rate limit instead of actionable upsell options.(v2.1.128)
- Fixed drag-and-drop image upload hanging on "Pasting text…" when image reading fails.(v2.1.128)
- Fixed crash loop when piping very large input (>10 MB) to claude -p via stdin.(v2.1.128)
- Fixed long URLs not being individually clickable on every wrapped row in fullscreen mode.(v2.1.128)
- Fixed /plugin Components panel showing "Marketplace 'inline' not found" for plugins loaded via --plugin-dir.(v2.1.128)
- Fixed MCP tool results dropping images when the server returns both structured content and content blocks.(v2.1.128)
- Fixed fenced code blocks inside list items carrying leading whitespace into the clipboard on copy-paste.(v2.1.128)
- Fixed tab navigation in /config stranding focus; the tab header now stays focused.(v2.1.128)
- Fixed markdown link labels being lost on terminals without OSC 8 support by rendering them as label (url).(v2.1.128)
- Fixed sessions on 1M-context models with smaller autocompact windows being falsely blocked with "Prompt is too long".(v2.1.128)
- Fixed parallel shell tool calls where a failing read-only command no longer cancels sibling calls.(v2.1.128)
- Fixed banner incorrectly showing "with X effort" on models that do not support effort.(v2.1.128)
- Fixed /fast on 3P providers fuzzy-matching to an unrelated skill instead of showing "not available".(v2.1.128)
- Fixed Bedrock default model resolving incorrectly to global.* instead of the region-appropriate prefix.(v2.1.128)
- Fixed vim mode: Space in NORMAL mode now correctly moves the cursor right.(v2.1.128)
- Fixed terminal progress indicator flickering off between tool calls; it now stays visible across the full turn.(v2.1.128)
- Fixed /rename without args failing on resumed sessions whose last entry is a compact boundary.(v2.1.128)
- Fixed stale "remote-control is active" status lines from prior sessions appearing after --resume/--continue.(v2.1.128)
- Fixed stale installed_plugins.json entries pointing at deleted cache directories polluting PATH.(v2.1.128)
- Fixed MCP stdio servers receiving corrupted arguments when CLAUDE_CODE_SHELL_PREFIX is set and an argument contains spaces or shell metacharacters.(v2.1.128)
- Fixed sub-agent progress summaries missing the prompt cache, resulting in significant creation time reduction.(v2.1.128)
- Fixed /plugin update never detecting new versions of npm-sourced plugins.(v2.1.128)
- Fixed sub-agent summaries firing repeatedly when a sub-agent's transcript is static, capping token cost on idle sub-agents.(v2.1.128)
- Fixed Headless --output-format stream-json: init.plugin_errors now correctly includes --plugin-dir load failures.(v2.1.128)
- Fixed unbounded memory growth (multi-GB RSS) that occurred when processing many images in a single session.(v2.1.121)
- Fixed a memory leak in `/usage` that consumed up to ~2GB of memory on machines with large transcript histories.(v2.1.121)
- Fixed a memory leak that occurred when long-running tools failed to emit a clear progress event.(v2.1.121)
- Fixed the Bash tool becoming permanently unusable if the directory Claude was started in was deleted or moved during a session.(v2.1.121)
- Fixed `--resume` crashing on startup in external builds.(v2.1.121)
- Fixed `--resume` failing on large sessions when a transcript line was corrupted by an unclean shutdown; the corrupt line is now skipped.(v2.1.121)
- Fixed `thinking.type.enabled is not supported` error when using Bedrock application inference profile ARNs.(v2.1.121)
- Fixed Microsoft 365 MCP OAuth failures caused by duplicate or unsupported `prompt` parameters.(v2.1.121)
- Fixed scrollback duplication when pressing Ctrl+L or triggering a redraw in non-fullscreen mode across tmux, GNOME Terminal, Windows Terminal, and Konsole.(v2.1.121)
- Fixed claude.ai MCP connectors silently disappearing if the connector-list fetch encountered a transient authentication error at startup.(v2.1.121)
- Fixed "Always allow" rules for built-in tools in remote sessions failing to persist across worker restarts.(v2.1.121)
- Fixed `NO_PROXY` setting not being respected by all HTTP clients when set via `managed-settings.json` in native builds.(v2.1.121)
- Fixed the managed settings approval prompt incorrectly exiting the session upon acceptance; settings are now applied and the session continues.(v2.1.121)
- Fixed `/usage` returning "rate limited" due to a stale OAuth token; tokens now refresh automatically.(v2.1.121)
- Fixed invalid legacy enum values in `settings.json` from invalidating the entire settings file.(v2.1.121)
- Fixed `/usage` dialog content being clipped when no-flicker mode was disabled.(v2.1.121)
- Fixed `/focus` showing "Unknown command" when the fullscreen renderer was off; it now explains how to enable fullscreen rendering.(v2.1.121)
- Fixed embedded grep/find/rg shell wrappers failing if the running binary was deleted mid-session; now falls back to installed tools.(v2.1.121)
- Fixed a regression where pressing Esc during a stdio MCP tool call would close the entire server connection.(v2.1.120)
- Fixed interactive overlays like `/rewind` not responding to keyboard input after launching the tool with `claude --resume`.(v2.1.120)
- Fixed terminal scrollback duplication occurring during resizing, dialog dismissal, or long sessions in non-fullscreen mode.(v2.1.120)
- Fixed telemetry settings (`DISABLE_TELEMETRY` / `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`) failing to suppress usage metrics for API and enterprise users.(v2.1.120)
- Fixed false-positive "Dangerous rm operation" permission prompts in auto mode for multi-line bash commands containing both a pipe and a redirect.(v2.1.120)
- Fixed long selection menus clipping below the terminal in fullscreen mode; the focused option now remains visible during scrolling.(v2.1.120)
- Fixed the Write tool output collapsing instead of expanding when clicking "+N lines" in fullscreen mode.(v2.1.120)
- Fixed the slash command picker jumping while typing and improved highlighting to only match contiguous substrings.(v2.1.120)
- Fixed the `/plugin` marketplace failing to load when one entry used an unrecognized source format (the entry is now shown with an update prompt upon installation attempt).(v2.1.120)
- Fixed the `find` command in the Bash tool exhausting open file descriptors on large directory trees, which caused host-wide crashes on macOS/Linux native builds.(v2.1.120)
- Fixed pasting CRLF content (from Windows clipboards or Xcode console) from inserting an extra blank line between every line.(v2.1.119)
- Fixed multi-line paste losing newlines when using terminals that employ kitty keyboard protocol sequences inside bracketed paste.(v2.1.119)
- Fixed Glob and Grep tools disappearing on native macOS/Linux builds when the Bash tool was denied via permissions.(v2.1.119)
- Fixed scrolling up in fullscreen mode snapping back to the bottom every time a tool finished execution.(v2.1.119)
- Fixed MCP HTTP connections failing with "Invalid OAuth error response" when servers returned non-JSON bodies during OAuth discovery requests.(v2.1.119)
- Fixed the Rewind overlay incorrectly showing "(no prompt)" for messages that contained image attachments.(v2.1.119)
- Fixed auto mode overriding plan mode when conflicting "Execute immediately" instructions were present.(v2.1.119)
- Fixed async `PostToolUse` hooks that emit no response payload from writing empty entries to the session transcript.(v2.1.119)
- Fixed the spinner remaining active when a subagent task notification became orphaned in the queue.(v2.1.119)
- Fixed `@`-file Tab completion from replacing the entire prompt when used inside a slash command with an absolute path.(v2.1.119)
- Fixed a stray `p` character appearing at the prompt on startup when running in macOS Terminal.app via Docker or SSH.(v2.1.119)
- Fixed `${ENV_VAR}` placeholders in `headers` for HTTP/SSE/WebSocket MCP servers from not being substituted before requests.(v2.1.119)
- Fixed MCP OAuth client secret provided via `--client-secret` not being sent during token exchange for servers requiring `client_secret_post`.(v2.1.119)
- Fixed the Enter key in the `/skills` dialog from closing the dialog instead of pre-filling `/<skill-name>` into the prompt.(v2.1.119)
- Fixed the `/agents` detail view from mislabeling built-in tools unavailable to subagents as "Unrecognized".(v2.1.119)
- Fixed MCP servers originating from plugins from failing to spawn on Windows when the plugin cache was incomplete.(v2.1.119)
- Fixed `/export` from showing the current default model instead of the model the conversation actually used.(v2.1.119)
- Fixed the verbose output setting from not persisting correctly after a restart.(v2.1.119)
- Fixed `/usage` progress bars from overlapping with their corresponding "Resets …" labels.(v2.1.119)
- Fixed plugin MCP servers from failing when `${user_config.*}` references an optional field that was left blank.(v2.1.119)
- Fixed list items containing a sentence-final number from wrapping that number onto its own line.(v2.1.119)
- Fixed `/plan` and `/plan open` from not acting on the existing plan when entering plan mode.(v2.1.119)
- Fixed skills invoked before auto-compaction from being re-executed against the next user message.(v2.1.119)
- Fixed `/reload-plugins` and `/doctor` from reporting load errors for plugins that were disabled.(v2.1.119)
- Fixed Agent tool instances using `isolation: "worktree"` from reusing stale worktrees from prior sessions.(v2.1.119)
- Fixed disabled MCP servers from incorrectly appearing as "failed" in the `/status` command output.(v2.1.119)
- Fixed `TaskList` from returning tasks in arbitrary filesystem order instead of sorting them by ID.(v2.1.119)
- Fixed spurious "GitHub API rate limit exceeded" hints appearing when `gh` output contained PR titles that mentioned "rate limit".(v2.1.119)
- Fixed SDK/bridge `read_file` functionality from not correctly enforcing the size cap on growing files.(v2.1.119)
- Fixed the PR not being linked to the session when working within a git worktree.(v2.1.119)
- Fixed `/doctor` from incorrectly warning about MCP server entries that were overridden by a higher-precedence scope.(v2.1.119)
- Removed a false-positive warning on Windows regarding the need for a `'cmd /c' wrapper` for MCP configuration.(v2.1.119)
- Fixed voice dictation's first recording producing no output on macOS while the microphone permission prompt was visible in VSCode.(v2.1.119)
- Fixed Plain-CLI OAuth sessions dying with "Please run /login" when the access token expires mid-session by reactively refreshing the token on 401 errors.(v2.1.117)
- Fixed WebFetch hanging on very large HTML pages by truncating input before HTML-to-markdown conversion.(v2.1.117)
- Fixed a crash when a proxy returns HTTP 204 No Content, now surfacing a clear error instead of a TypeError.(v2.1.117)
- Fixed /login having no effect when launched with the CLAUDE_CODE_OAUTH_TOKEN environment variable if that token subsequently expires.(v2.1.117)
- Fixed prompt-input undo (Ctrl+_) doing nothing immediately after typing and skipping a state on each undo step.(v2.1.117)
- Fixed NO_PROXY not being respected for remote API requests when running under Bun.(v2.1.117)
- Fixed rare spurious escape/return triggers when key names arrive as coalesced text over slow connections.(v2.1.117)
- Fixed SDK reload_plugins reconnecting all user MCP servers serially.(v2.1.117)
- Fixed Bedrock application-inference-profile requests failing with 400 when backed by Opus 4.7 with thinking disabled.(v2.1.117)
- Fixed MCP elicitation/create requests auto-cancelling in print/SDK mode when the server finishes connecting mid-turn.(v2.1.117)
- Fixed subagents running a different model than the main agent incorrectly flagging file reads with a malware warning.(v2.1.117)
- Fixed Opus 4.7 sessions showing inflated /context percentages and autocompacting too early because the context window size was miscalculated.(v2.1.117)
- Fixed concurrent-call timeout handling where a message for one tool call could silently disarm another call's watchdog(v2.1.113)
- Fixed Cmd-backspace / `Ctrl+U` to correctly delete from the cursor to the start of the line(v2.1.113)
- Fixed markdown tables breaking when a cell contains an inline code span with a pipe character(v2.1.113)
- Fixed session recap auto-firing while composing unsent text in the prompt(v2.1.113)
- Fixed `/copy` "Full response" not aligning markdown table columns correctly for pasting into GitHub, Notion, or Slack(v2.1.113)
- Fixed messages typed while viewing a running subagent being hidden from its transcript and misattributed to the parent AI(v2.1.113)
- Fixed Bash `dangerouslyDisableSandbox` running commands outside the sandbox without triggering a permission prompt(v2.1.113)
- Fixed `/effort auto` confirmation message to correctly state "Effort level set to max"(v2.1.113)
- Fixed the "copied N chars" toast overcounting emoji and other multi-code-unit characters(v2.1.113)
- Fixed `/insights` crashing with `EBUSY` on Windows(v2.1.113)
- Fixed exit confirmation dialog mislabeling one-shot scheduled tasks as recurring; it now correctly shows a countdown(v2.1.113)
- Fixed slash/@ completion menu not sitting flush against the prompt border in fullscreen mode(v2.1.113)
- Fixed `CLAUDE_CODE_EXTRA_BODY` `output_config.effort` causing 400 errors on subagent calls to models that don't support effort and on Vertex AI(v2.1.113)
- Fixed prompt cursor disappearing when `NO_COLOR` is set(v2.1.113)
- Fixed `ToolSearch` ranking so pasted MCP tool names surface the actual tool instead of description-matching siblings(v2.1.113)
- Fixed compacting a resumed long-context session failing with "Extra usage is required for long context requests"(v2.1.113)
- Fixed `plugin install` succeeding when a dependency version conflicts with an already-installed plugin; it now correctly reports `range-conflict`(v2.1.113)
- Fixed "Refine with Ultraplan" not showing the remote session URL in the transcript(v2.1.113)
- Fixed SDK image content blocks that fail to process from crashing the session; they now degrade to a text placeholder(v2.1.113)
- Fixed Remote Control sessions not streaming subagent transcripts(v2.1.113)
- Fixed Remote Control sessions not being archived when Claude Code exits(v2.1.113)
- Fixed `thinking.type.enabled is not supported` 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN(v2.1.113)
- Fixed MCP tool calls hanging indefinitely when the server connection drops mid-response on SSE/HTTP transports.(v2.1.110)
- Fixed non-streaming fallback retries causing multi-minute hangs when the API is unreachable.(v2.1.110)
- Fixed session recap, local slash-command output, and other system status lines not appearing in focus mode.(v2.1.110)
- Fixed high CPU usage in fullscreen when text is selected while a tool is running.(v2.1.110)
- Fixed plugin install not honoring dependencies declared in `plugin.json` when the marketplace entry omits them; /plugin install now lists auto-installed dependencies.(v2.1.110)
- Fixed skills with `disable-model-invocation: true` failing when invoked via /<skill> mid-message.(v2.1.110)
- Fixed `--resume` sometimes showing the first prompt instead of the /rename name for sessions still running or exited uncleanly.(v2.1.110)
- Fixed queued messages briefly appearing twice during multi-tool-call turns.(v2.1.110)
- Fixed session cleanup not removing the full session directory including subagent transcripts.(v2.1.110)
- Fixed dropped keystrokes after the CLI relaunches (e.g. /tui, provider setup wizards).(v2.1.110)
- Fixed garbled startup rendering in macOS Terminal.app and other terminals that don't support synchronized output.(v2.1.110)
- Hardened "Open in editor" actions against command injection from untrusted filenames.(v2.1.110)
- Fixed `PermissionRequest` hooks returning `updatedInput` not being re-checked against `permissions.deny` rules; `setMode:'bypassPermissions'` updates now respect `disableBypassPermissionsMode`.(v2.1.110)
- Fixed `PreToolUse` hook `additionalContext` being dropped when the tool call fails.(v2.1.110)
- Fixed stdio MCP servers that print stray non-JSON lines to stdout being disconnected on the first stray line (regression in 2.1.105).(v2.1.110)
- Fixed headless/SDK session auto-title firing an extra Haiku request when `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` or `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` is set.(v2.1.110)
- Fixed potential excessive memory allocation when piped (non-TTY) Ink output contains a single very wide line.(v2.1.110)
- Fixed /skills menu not scrolling when the list overflows the modal in fullscreen mode.(v2.1.110)
- Fixed Remote Control sessions showing a generic error instead of prompting for re-login when the session is too old.(v2.1.110)
- Fixed Remote Control session renames from claude.ai not persisting the title to the local CLI session.(v2.1.110)
- Fixed a command injection vulnerability in the POSIX which fallback used by LSP binary detection.(v2.1.101)
- Fixed a memory leak where long sessions retained dozens of historical copies of the message list in the virtual scroller.(v2.1.101)
- Fixed resume/continue losing conversation context on large sessions when the loader anchored on a dead-end branch.(v2.1.101)
- Fixed resume chain recovery bridging into an unrelated subagent conversation when a subagent message landed near a main-chain write gap.(v2.1.101)
- Fixed a crash on resume when a persisted Edit\/Write tool result was missing its file_path.(v2.1.101)
- Fixed a hardcoded 5-minute request timeout that aborted slow backends regardless of API_TIMEOUT_MS.(v2.1.101)
- Fixed permissions.deny rules not overriding a PreToolUse hook's permissionDecision: "ask", preventing hooks from downgrading denies to prompts.(v2.1.101)
- Fixed setting sources without user causing background cleanup to ignore cleanupPeriodDays and delete history older than 30 days.(v2.1.101)
- Fixed Bedrock SigV4 authentication failing with 403 when Authorization headers were set via environment variables or helpers.(v2.1.101)
- Fixed claude -w <name> failing with "already exists" after stale worktree cleanup from a previous session.(v2.1.101)
- Fixed subagents not inheriting MCP tools from dynamically-injected servers.(v2.1.101)
- Fixed sub-agents running in isolated worktrees being denied Read\/Edit access to files inside their own worktree.(v2.1.101)
- Fixed sandboxed Bash commands failing with mktemp: No such file or directory after a fresh boot.(v2.1.101)
- Fixed claude mcp serve tool calls failing with "Tool execution failed" in MCP clients that validate outputSchema.(v2.1.101)
- Fixed RemoteTrigger tool's run action sending an empty body and being rejected by the server.(v2.1.101)
- Fixed several resume picker issues including narrow default view, unreachable preview on Windows Terminal, incorrect cwd, missing session-not-found errors, and terminal title not being set.(v2.1.101)
- Fixed Grep tool ENOENT when the embedded ripgrep binary path becomes stale; now falls back to system rg and self-heals.(v2.1.101)
- Fixed \/btw writing a copy of the entire conversation to disk on every use.(v2.1.101)
- Fixed \/context Free space and Messages breakdown disagreeing with the header percentage.(v2.1.101)
- Fixed several plugin issues including slash commands resolving incorrectly, \/plugin update failing with ENAMETOOLONG, Discover showing installed plugins, directory-source plugins loading stale cache, and skills not honoring context and agent frontmatter.(v2.1.101)
- Fixed the \/mcp menu offering OAuth-specific actions for servers configured with headersHelper; Reconnect is now offered instead.(v2.1.101)
- Fixed ctrl+], ctrl+\, and ctrl+^ keybindings not firing in terminals that send raw C0 control bytes.(v2.1.101)
- Fixed \/login OAuth URL rendering with padding that prevented clean mouse selection.(v2.1.101)
- Fixed rendering issues including flicker in non-fullscreen mode, scrollback wiping, and mouse-scroll escape sequences leaking into the prompt.(v2.1.101)
- Fixed crash when settings.json env values are numbers instead of strings.(v2.1.101)
- Fixed in-app settings writes not refreshing the in-memory snapshot, preventing removed directories from being revoked mid-session.(v2.1.101)
- Fixed custom keybindings not loading on Bedrock, Vertex, and other third-party providers.(v2.1.101)
- Fixed claude --continue -p not correctly continuing sessions created by -p or the SDK.(v2.1.101)
- Fixed several Remote Control issues including worktrees removed on session crash, connection failures not persisting, spurious Disconnected indicator in brief mode, and \/remote-control failing over SSH when only Organization UUID is set.(v2.1.101)
- Fixed \/insights sometimes omitting the report file link from its response.(v2.1.101)
- Fixed the file attachment below the chat input not clearing when the last editor tab is closed in VSCode.(v2.1.101)
- Fixed agents appearing stuck after a 429 rate-limit response with a long Retry-After header; the error now surfaces immediately.(v2.1.94)
- Fixed Console login on macOS silently failing when the login keychain is locked or out of sync; the error is now surfaced and `claude doctor` diagnoses the fix.(v2.1.94)
- Fixed plugin skill hooks defined in YAML frontmatter being silently ignored.(v2.1.94)
- Fixed plugin hooks failing with "No such file or directory" when `CLAUDE_PLUGIN_ROOT` was not set.(v2.1.94)
- Fixed `${CLAUDE_PLUGIN_ROOT}` resolving incorrectly for local-marketplace plugins on startup.(v2.1.94)
- Fixed scrollback showing repeated diffs and blank pages in long-running sessions.(v2.1.94)
- Fixed multiline user prompts in the transcript indenting wrapped lines incorrectly under the caret.(v2.1.94)
- Fixed Shift+Space inserting the literal word "space" instead of a space character in search inputs.(v2.1.94)
- Fixed hyperlinks opening two browser tabs when clicked inside tmux running in an xterm.js-based terminal.(v2.1.94)
- Fixed an alt-screen rendering bug that could leave compounding ghost lines during scrolling.(v2.1.94)
- Fixed the `FORCE_HYPERLINK` environment variable being ignored when set via `settings.json` `env`.(v2.1.94)
- Fixed native terminal cursor not tracking the selected tab in dialogs.(v2.1.94)
- Fixed Bedrock invocation of Sonnet 3.5 v2 by correctly using the `us.` inference profile ID.(v2.1.94)
- Fixed SDK/print mode not preserving the partial assistant response in conversation history when interrupted mid-stream.(v2.1.94)
- Fixed CJK and other multibyte text being corrupted with U+FFFD in stream-json input/output when chunk boundaries split a UTF-8 sequence.(v2.1.94)
- Fixed VSCode dropdown menus selecting the wrong item when the mouse was over the list while typing or using arrow keys.(v2.1.94)
- Fixed subagent spawning permanently failing with "Could not determine pane count" after tmux windows were killed or renumbered during a long-running session.(v2.1.92)
- Fixed prompt-type Stop hooks incorrectly failing when the small fast model returns ok:false, restoring preventContinuation:true semantics for non-Stop prompt-type hooks.(v2.1.92)
- Fixed tool input validation failures when streaming emits array/object fields as JSON-encoded strings.(v2.1.92)
- Fixed an API 400 error that could occur when extended thinking produced a whitespace-only text block alongside real content.(v2.1.92)
- Fixed accidental feedback survey submissions caused by auto-pilot keypresses and consecutive-prompt digit collisions.(v2.1.92)
- Fixed misleading "esc to interrupt" hint appearing alongside "esc to clear" when text selection exists in fullscreen mode during processing.(v2.1.92)
- Fixed Homebrew install update prompts to use the correct release channel (claude-code → stable, claude-code@latest → latest).(v2.1.92)
- Fixed ctrl+e jumping to the end of the next line when already at the end of the line in multiline prompts.(v2.1.92)
- Fixed an issue where the same message could appear at two positions when scrolling up in fullscreen mode (for terminals supporting DEC 2026).(v2.1.92)
- Fixed idle-return "/clear to save X tokens" hint showing cumulative session tokens instead of the current context size.(v2.1.92)
- Fixed plugin MCP servers getting stuck "connecting" on session start when they duplicate an unauthenticated claude.ai connector.(v2.1.92)
- Restored unix-socket blocking for sandboxed commands by ensuring the apply-seccomp helper ships in both npm and native builds for the Linux sandbox.(v2.1.92)
- Fixed `/compact` failing with "context exceeded" when the conversation history is too large for the compact request itself.(v2.1.85)
- Fixed `/plugin enable` and `/plugin disable` failing when a plugin's install location differs from its declaration in settings.(v2.1.85)
- Fixed `--worktree` exiting with an error in non-git repositories before the `WorktreeCreate` hook could execute.(v2.1.85)
- Fixed `deniedMcpServers` setting failing to block claude.ai MCP servers.(v2.1.85)
- Fixed `switch_display` in the computer-use tool returning "not available in this session" on multi-monitor setups.(v2.1.85)
- Fixed crash when OpenTelemetry log, metric, or trace exporters are set to `none`.(v2.1.85)
- Fixed diff syntax highlighting not working in non-native builds.(v2.1.85)
- Fixed MCP step-up authorization failing when a refresh token exists; servers requesting elevated scopes now correctly trigger re-authorization.(v2.1.85)
- Fixed memory leak in remote sessions when a streaming response is interrupted.(v2.1.85)
- Fixed persistent ECONNRESET errors during edge connection churn by using a fresh TCP connection on retry.(v2.1.85)
- Fixed prompts getting stuck in the queue after certain slash commands, preventing retrieval with the up-arrow key.(v2.1.85)
- Fixed Python Agent SDK: `type:'sdk'` MCP servers passed via `--mcp-config` not being retained during startup.(v2.1.85)
- Fixed raw key sequences appearing in the prompt when running over SSH or in the VS Code integrated terminal.(v2.1.85)
- Fixed Remote Control session status remaining stuck on "Requires Action" after a permission is resolved.(v2.1.85)
- Fixed shift+enter and meta+enter being intercepted by typeahead suggestions instead of inserting newlines.(v2.1.85)
- Fixed stale content bleeding through when scrolling up during streaming.(v2.1.85)
- Fixed terminal remaining in enhanced keyboard mode after exit in supported terminals (Ghostty, Kitty, WezTerm), ensuring Ctrl+C and Ctrl+D work correctly.(v2.1.85)
- Fixed voice push-to-talk: holding the voice key no longer leaks characters into the text input, and transcripts now insert at the correct position.(v2.1.84)
- Fixed up/down arrow keys being unresponsive when a footer item is focused.(v2.1.84)
- Fixed `Ctrl+U` (kill-to-line-start) being a no-op at line boundaries in multiline input, so repeated `Ctrl+U` now clears across lines.(v2.1.84)
- Fixed null-unbinding a default chord binding (e.g. `"ctrl+x ctrl+k": null`) still entering chord-wait mode instead of freeing the prefix key.(v2.1.84)
- Fixed mouse events inserting literal "mouse" text into transcript search input.(v2.1.84)
- Fixed workflow subagents failing with API 400 when the outer session uses `--json-schema` and the subagent also specifies a schema.(v2.1.84)
- Fixed missing background color behind certain emoji in user message bubbles on some terminals.(v2.1.84)
- Fixed the "allow Claude to edit its own settings for this session" permission option not sticking for users with `Edit(.claude)` allow rules.(v2.1.84)
- Fixed a hang when generating attachment snippets for large edited files.(v2.1.84)
- Fixed MCP tool/resource cache leak on server reconnect.(v2.1.84)
- Fixed a startup performance issue where partial clone repositories (Scalar/GVFS) triggered mass blob downloads.(v2.1.84)
- Fixed native terminal cursor not tracking the text input caret, so IME composition (CJK input) now renders inline and screen readers can follow the input position.(v2.1.84)
- Fixed spurious "Not logged in" errors on macOS caused by transient keychain read failures.(v2.1.84)
- Fixed cold-start race where core tools could be deferred without their bypass active, causing Edit/Write to fail with InputValidationError on typed parameters.(v2.1.84)
- Fixed mouse tracking escape sequences leaking to the shell prompt after exiting the application.(v2.1.83)
- Resolved an issue causing Claude Code to hang on exit specifically on macOS.(v2.1.83)
- Fixed the screen flashing blank after being idle for a few seconds.(v2.1.83)
- Fixed a hang that occurred when diffing very large files with few common lines; diffs now time out gracefully after 5 seconds.(v2.1.83)
- Fixed a 1–8 second UI freeze on startup when voice input was enabled, caused by eager loading of the native audio module.(v2.1.83)
- Fixed a startup regression where Claude Code would wait approximately 3 seconds for the claude.ai MCP config fetch before proceeding.(v2.1.83)
- Fixed the `--mcp-config` CLI flag bypassing enforcement of `allowedMcpServers`/`deniedMcpServers` managed policies.(v2.1.83)
- Fixed claude.ai MCP connectors (Slack, Gmail, etc.) not being available when using single-turn `--print` mode.(v2.1.83)
- Fixed the `caffeinate` process not terminating correctly upon Claude Code exit, which prevented Mac systems from sleeping.(v2.1.83)
- Fixed bash mode not activating correctly when tab-accepting command suggestions prefixed with !.(v2.1.83)
- Fixed stale slash command selection showing the wrong highlighted command after navigating suggestions.(v2.1.83)
- Fixed the /config menu incorrectly showing both the search cursor and list selection simultaneously.(v2.1.83)
- Fixed background subagents becoming invisible after context compaction, preventing duplicate agents from spawning.(v2.1.83)
- Fixed background agent tasks getting stuck in a "running" state when git or API calls hung during cleanup.(v2.1.83)
- Fixed the --channels flag incorrectly showing "Channels are not currently available" on the first launch after an upgrade.(v2.1.83)
- Fixed uninstalled plugin hooks continuing to fire until the next session started.(v2.1.83)
- Fixed queued commands flickering during streaming responses.(v2.1.83)
- Fixed slash commands being sent to the model as plain text when submitted while a message was already processing.(v2.1.83)
- Fixed scrollback jumping to the top when collapsed read/search groups finished loading after scrolling offscreen.(v2.1.83)
- Fixed scrollback jumping to the top when the model started or stopped thinking.(v2.1.83)
- Fixed loss of SDK session history upon resume caused by hook progress/attachment messages forking the parentUuid chain.(v2.1.83)
- Fixed copy-on-select functionality failing when the mouse button was released outside the terminal window.(v2.1.83)
- Fixed ghost characters appearing in height-constrained lists when items overflowed their bounds.(v2.1.83)
- Fixed `Ctrl+B` interfering with readline backward-char functionality at an idle prompt; it now only fires when a foreground task can be backgrounded.(v2.1.83)
- Fixed tool result files never being cleaned up, ignoring the `cleanupPeriodDays` setting.(v2.1.83)
- Fixed the space key being swallowed for up to 3 seconds after releasing voice hold-to-talk.(v2.1.83)
- Fixed ALSA library errors corrupting the terminal UI when using voice mode on Linux systems lacking audio hardware (e.g., Docker, headless, WSL1).(v2.1.83)
- Fixed voice mode SoX detection issues on Termux/Android where spawning `which` is kernel-restricted.(v2.1.83)
- Fixed Remote Control sessions incorrectly showing as Idle in the web session list while actively running.(v2.1.83)
- Fixed footer navigation selecting an invisible Remote Control pill when in config-driven mode.(v2.1.83)
- Fixed a memory leak in remote sessions where tool use IDs accumulated indefinitely.(v2.1.83)
- [VSCode] Fixed session history not loading correctly when reopening a session via URL or after restarting the editor.(v2.1.83)
- Fixed the "Always Allow" setting for compound bash commands (e.g., cd src && npm test) incorrectly saving a single rule for the full string instead of per-subcommand, which caused dead rules and repeated prompts.(v2.1.77)
- Fixed the auto-updater accumulating tens of gigabytes of memory by starting overlapping binary downloads when the slash-command overlay repeatedly opened and closed.(v2.1.77)
- Fixed the --resume command silently truncating recent conversation history due to a race condition between memory-extraction writes and the main transcript.(v2.1.77)
- Fixed PreToolUse hooks returning "allow" bypassing deny permission rules, including enterprise managed settings.(v2.1.77)
- Fixed the Write tool silently converting line endings when overwriting CRLF files or creating files in CRLF directories.(v2.1.77)
- Fixed memory growth in long-running sessions caused by progress messages surviving compaction.(v2.1.77)
- Fixed cost and token usage not being tracked when the API falls back to non-streaming mode.(v2.1.77)
- Fixed CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS not stripping beta tool-schema fields, which caused proxy gateways to reject requests.(v2.1.77)
- Fixed the Bash tool reporting errors for successful commands when the system temp directory path contains spaces.(v2.1.77)
- Fixed paste operation being lost when typing immediately after pasting.(v2.1.77)
- Fixed Ctrl+D in the /feedback text input deleting forward instead of exiting the session on the second press.(v2.1.77)
- Fixed an API error occurring when dragging a 0-byte image file into the prompt.(v2.1.77)
- Fixed Claude Desktop sessions incorrectly using the terminal CLI's configured API key instead of OAuth.(v2.1.77)
- Fixed git-subdir plugins located at different subdirectories of the same monorepo commit colliding in the plugin cache.(v2.1.77)
- Fixed ordered list numbers not rendering correctly in the terminal UI.(v2.1.77)
- Fixed a race condition where stale-worktree cleanup could delete an agent worktree that was just resumed from a previous crash.(v2.1.77)
- Fixed input deadlock occurring when opening /mcp or similar dialogs while the agent is running.(v2.1.77)
- Fixed Backspace and Delete keys not functioning in vim NORMAL mode.(v2.1.77)
- Fixed the status line not updating when vim mode is toggled on or off.(v2.1.77)
- Fixed hyperlinks opening twice on Cmd+click in VS Code, Cursor, and other xterm.js-based terminals.(v2.1.77)
- Fixed background colors rendering as terminal-default inside tmux when using the default configuration.(v2.1.77)
- Fixed iTerm2 session crash when selecting text inside tmux over SSH.(v2.1.77)
- Fixed clipboard copy silently failing in tmux sessions; the copy toast now correctly indicates whether to paste with ⌘V or tmux prefix+].(v2.1.77)
- Fixed ←/→ keys accidentally switching tabs in settings, permissions, and sandbox dialogs while navigating lists.(v2.1.77)
- Fixed IDE integration not auto-connecting when Claude Code is launched inside tmux or screen.(v2.1.77)
- Fixed CJK characters visually bleeding into adjacent UI elements when clipped at the right edge.(v2.1.77)
- Fixed teammate panes not closing when the leader exits.(v2.1.77)
- Fixed iTerm2 auto mode not correctly detecting iTerm2 for native split-pane teammates.(v2.1.77)
- Fixed the Agent tool incorrectly accepting a resume parameter; users must now use SendMessage({to: agentId}) to continue a previously spawned agent.(v2.1.77)
- Fixed memory leak where streaming API response buffers were not released when the generator was terminated early, causing unbounded RSS growth on the Node.js/npm code path(v2.1.74)
- Fixed managed policy ask rules being bypassed by user allow rules or skill allowed-tools(v2.1.74)
- Fixed full model IDs (e.g., claude-opus-4-5) being silently ignored in agent frontmatter model: field and --agents JSON config; agents now accept the same model values as --model(v2.1.74)
- Fixed MCP OAuth authentication hanging when the callback port is already in use(v2.1.74)
- Fixed MCP OAuth refresh never prompting for re-auth after the refresh token expires for OAuth servers that return errors with HTTP 200 (e.g. Slack)(v2.1.74)
- Fixed voice mode silently failing on the macOS native binary for users whose terminal had never been granted microphone permission; the binary now includes the audio-input entitlement so macOS prompts correctly(v2.1.74)
- Fixed SessionEnd hooks being killed after 1.5 s on exit regardless of hook.timeout; this is now configurable via CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS(v2.1.74)
- Fixed /plugin install failing inside the REPL for marketplace plugins with local sources(v2.1.74)
- Fixed marketplace update not syncing git submodules; plugin sources in submodules no longer break after update(v2.1.74)
- Fixed unknown slash commands with arguments silently dropping input; the command now shows your input as a warning(v2.1.74)
- Fixed Hebrew, Arabic, and other RTL text not rendering correctly in Windows Terminal, conhost, and VS Code integrated terminal(v2.1.74)
- Fixed LSP servers not working on Windows due to malformed file URIs(v2.1.74)
- [VSCode] Fixed delete button not working for Untitled sessions(v2.1.74)
- Fixed freezes and 100% CPU loops triggered by permission prompts for complex bash commands(v2.1.73)
- Fixed a deadlock that could freeze Claude Code when many skill files changed at once (e.g. during `git pull` in a repo with a large `.claude/skills/` directory)(v2.1.73)
- Fixed Bash tool output being lost when running multiple Claude Code sessions in the same project directory(v2.1.73)
- Fixed subagents with `model: opus`/`sonnet`/`haiku` being silently downgraded to older model versions on Bedrock, Vertex, and Microsoft Foundry(v2.1.73)
- Fixed background bash processes spawned by subagents not being cleaned up when the agent exits(v2.1.73)
- Fixed `/resume` showing the current session in the picker(v2.1.73)
- Fixed `/ide` crashing with `onInstall is not defined` when auto-installing the extension(v2.1.73)
- Fixed `/loop` not being available on Bedrock/Vertex/Foundry and when telemetry was disabled(v2.1.73)
- Fixed SessionStart hooks firing twice when resuming a session via `--resume` or `--continue`(v2.1.73)
- Fixed JSON-output hooks injecting no-op system-reminder messages into the model's context on every turn(v2.1.73)
- Fixed voice mode session corruption when a slow connection overlaps a new recording(v2.1.73)
- Fixed Linux sandbox failing to start with "ripgrep (rg) not found" on native builds(v2.1.73)
- Fixed Linux native modules not loading on Amazon Linux 2 and other glibc 2.26 systems(v2.1.73)
- Fixed "media_type: Field required" API error when receiving images via Remote Control(v2.1.73)
- Fixed `/heapdump` failing on Windows with `EEXIST` error when the Desktop folder already exists(v2.1.73)
- VSCode: Fixed HTTP 400 errors for users behind proxies or on Bedrock/Vertex with Claude 4.5 models(v2.1.73)
- Fixed slow exits when background tasks or hooks were slow to respond.(v2.1.72)
- Fixed agent task progress stuck on "Initializing…".(v2.1.72)
- Fixed skill hooks firing twice per event when a hooks-enabled skill is invoked by the model.(v2.1.72)
- Fixed several voice mode issues: occasional input lag, false "No speech detected" errors after releasing push-to-talk, and stale transcripts re-filling the prompt after submission.(v2.1.72)
- Fixed `--continue` not resuming from the most recent point after `--compact`.(v2.1.72)
- Fixed bash security parsing edge cases.(v2.1.72)
- Fixed several plugin issues: installation failing on Windows with `EEXIST` error in OneDrive folders, marketplace blocking user-scope installs when a project-scope install exists, `CLAUDE_CODE_PLUGIN_CACHE_DIR` creating literal `~` directories, and `plugin.json` with marketplace-only fields failing to load.(v2.1.72)
- Fixed feedback survey appearing too frequently in long sessions.(v2.1.72)
- Fixed `--effort` CLI flag being reset by unrelated settings writes on startup.(v2.1.72)
- Fixed backgrounded Ctrl+B queries losing their transcript or corrupting the new conversation after `/clear`.(v2.1.72)
- Fixed `/clear` killing background agent/bash tasks — only foreground tasks are now cleared.(v2.1.72)
- Fixed worktree isolation issues: Task tool resume not restoring cwd, and background task notifications missing `worktreePath` and `worktreeBranch`.(v2.1.72)
- Fixed `/model` not displaying results when run while Claude is working.(v2.1.72)
- Fixed digit keys selecting menu options instead of typing in plan mode permission prompt's text input.(v2.1.72)
- Fixed sandbox permission issues: certain file write operations incorrectly allowed without prompting, and output redirections to allowlisted directories (like `/tmp/claude/`) prompting unnecessarily.(v2.1.72)
- Fixed prompt cache invalidation in SDK `query()` calls, reducing input token costs up to 12x.(v2.1.72)
- Fixed Escape key becoming unresponsive after cancelling a query.(v2.1.72)
- Fixed double Ctrl+C not exiting when background agents or tasks are running.(v2.1.72)
- Fixed team agents to inherit the leader's model.(v2.1.72)
- Fixed "Always Allow" saving permission rules that never match again.(v2.1.72)
- Fixed several hooks issues: `transcript_path` pointing to the wrong directory for resumed/forked sessions, agent `prompt` being silently deleted from settings.json on every settings write, PostToolUse block reason displaying twice, async hooks not receiving stdin with bash `read -r`, and validation error message showing an example that fails validation.(v2.1.72)
- Fixed session crashes in Desktop/SDK when Read returned files containing U+2028/U+2029 characters.(v2.1.72)
- Fixed terminal title being cleared on exit even when `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` was set.(v2.1.72)
- Fixed several permission rule matching issues: wildcard rules not matching commands with heredocs, embedded newlines, or no arguments; `sandbox.excludedCommands` failing with env var prefixes; "always allow" suggesting overly broad prefixes for nested CLI tools; and deny rules not applying to all command forms.(v2.1.72)
- Fixed oversized and truncated images from Bash data-URL output.(v2.1.72)
- Fixed a crash when resuming sessions that contained Bedrock API errors.(v2.1.72)
- Fixed intermittent "expected boolean, received string" validation errors on Edit, Bash, and Grep tool inputs.(v2.1.72)
- Fixed multi-line session titles when forking from a conversation whose first message contained newlines.(v2.1.72)
- Fixed queued messages not showing attached images, and images being lost when pressing ↑ to edit a queued message.(v2.1.72)
- Fixed parallel tool calls where a failed Read/WebFetch/Glob would cancel its siblings — only Bash errors now cascade.(v2.1.72)
- VSCode: Fixed scroll speed in integrated terminals not matching native terminals.(v2.1.72)
- VSCode: Fixed Shift+Enter submitting input instead of inserting a newline for users with older keybindings.(v2.1.72)
- Fixed stdin freeze in long-running sessions where keystrokes stop being processed but the process stays alive(v2.1.71)
- Fixed a 5–8 second startup freeze for users with voice mode enabled, caused by CoreAudio initialization blocking the main thread after system wake(v2.1.71)
- Fixed startup UI freeze when many claude.ai proxy connectors refresh an expired OAuth token simultaneously(v2.1.71)
- Fixed forked conversations (/fork) sharing the same plan file, which caused plan edits in one fork to overwrite the other(v2.1.71)
- Fixed the Read tool putting oversized images into context when image processing failed, breaking subsequent turns in long image-heavy sessions(v2.1.71)
- Fixed false-positive permission prompts for compound bash commands containing heredoc commit messages(v2.1.71)
- Fixed plugin installations being lost when running multiple Claude Code instances(v2.1.71)
- Fixed claude.ai connectors failing to reconnect after OAuth token refresh(v2.1.71)
- Fixed claude.ai MCP connector startup notifications appearing for every org-configured connector instead of only previously connected ones(v2.1.71)
- Fixed background agent completion notifications missing the output file path, which made it difficult for parent agents to recover agent results after context compaction(v2.1.71)
- Fixed duplicate output in Bash tool error messages when commands exit with non-zero status(v2.1.71)
- Fixed Chrome extension auto-detection getting permanently stuck on "not installed" after running on a machine without local Chrome(v2.1.71)
- Fixed /plugin marketplace update failing with merge conflicts when the marketplace is pinned to a branch/tag ref(v2.1.71)
- Fixed /plugin marketplace add owner/repo@ref incorrectly parsing @ — previously only # worked as a ref separator(v2.1.71)
- Fixed duplicate entries in /permissions Workspace tab when the same directory is added with and without a trailing slash(v2.1.71)
- Fixed --print hanging forever when team agents are configured — the exit loop no longer waits on long-lived in_process_teammate tasks(v2.1.71)
- Fixed "❯ Tool loaded." appearing in the REPL after every ToolSearch call(v2.1.71)
- Fixed prompting for cd <cwd> && git ... on Windows when the model uses a mingw-style path(v2.1.71)
- Fixed API 400 errors when using ANTHROPIC_BASE_URL with a third-party gateway, ensuring tool search correctly detects proxy endpoints and disables tool_reference blocks(v2.1.70)
- Fixed API Error: 400 This model does not support the effort parameter when using custom Bedrock inference profiles or non-standard model identifiers(v2.1.70)
- Fixed empty model responses immediately after ToolSearch caused by server rendering tool schemas with system-prompt-style tags at the prompt tail(v2.1.70)
- Fixed prompt-cache bust occurring when an MCP server with instructions connects after the first turn(v2.1.70)
- Fixed Enter key inserting a newline instead of submitting when typing over a slow SSH connection(v2.1.70)
- Fixed clipboard corrupting non-ASCII text (CJK, emoji) on Windows/WSL by switching to PowerShell Set-Clipboard(v2.1.70)
- Fixed extra VS Code windows opening at startup on Windows when running from the VS Code integrated terminal(v2.1.70)
- Fixed voice mode failing on Windows native binary with "native audio module could not be loaded"(v2.1.70)
- Fixed push-to-talk not activating on session start when voiceEnabled: true was set in settings(v2.1.70)
- Fixed markdown links containing #NNN references incorrectly pointing to the current repository instead of the linked URL(v2.1.70)
- Fixed repeated "Model updated to Opus 4.6" notification when a project's .claude/settings.json had a legacy Opus model string pinned(v2.1.70)
- Fixed plugins showing as inaccurately installed in /plugin(v2.1.70)
- Fixed plugins showing "not found in marketplace" errors on fresh startup by auto-refreshing after marketplace installation(v2.1.70)
- Fixed /security-review command failing with unknown option merge-base on older git versions(v2.1.70)
- Fixed /color command lacking a way to reset to default; /color default, /color gray, /color reset, and /color none now restore the default color(v2.1.70)
- Fixed a performance regression in the AskUserQuestion preview dialog that re-ran markdown rendering on every keystroke in the notes input(v2.1.70)
- Fixed feature flags read during early startup never refreshing their disk cache, causing stale values to persist across sessions(v2.1.70)
- Fixed permissions.defaultMode settings values other than acceptEdits or plan being applied in Claude Code Remote environments (they are now ignored)(v2.1.70)
- Fixed skill listing being re-injected on every --resume, saving approximately 600 tokens per resume(v2.1.70)
- Fixed teleport marker not rendering in VS Code teleported sessions(v2.1.70)
- Fixed an issue where resumed sessions could be invisible when the working directory contained symlinks due to inconsistent path resolution during startup.(v2.1.50)
- Fixed session data loss upon SSH disconnect by ensuring session data is flushed before hooks and analytics during graceful shutdown.(v2.1.50)
- Fixed native modules failing to load on Linux systems using glibc older than 2.30 (e.g., RHEL 8).(v2.1.50)
- Fixed a memory leak in agent teams where completed teammate tasks were not being garbage collected from session state.(v2.1.50)
- Fixed `CLAUDE_CODE_SIMPLE` mode to correctly strip down skills, session memory, custom agents, and CLAUDE.md token counting.(v2.1.50)
- Fixed the `/mcp reconnect` command from freezing the CLI when provided with a non-existent server name.(v2.1.50)
- Fixed a memory leak where completed task state objects were not being removed from AppState.(v2.1.50)
- Fixed an issue where MCP tools were not discovered when tool search was enabled and a prompt was provided as a launch argument.(v2.1.50)
- Fixed unbounded memory growth in long sessions by capping file history snapshots.(v2.1.50)
- Fixed a memory leak where LSP diagnostic data was not cleaned up after delivery.(v2.1.50)
- Fixed a memory leak where completed task output was not being freed from memory.(v2.1.50)
- Fixed a prompt suggestion cache regression that resulted in lower cache hit rates.(v2.1.50)
- Fixed a memory leak where TaskOutput retained recent lines after cleanup.(v2.1.50)
- Fixed a memory leak in CircularBuffer where cleared items were retained in the backing array.(v2.1.50)
- Fixed a memory leak in shell command execution where ChildProcess and AbortController references were retained after cleanup.(v2.1.50)
- Fixed FileWriteTool line counting to preserve intentional trailing blank lines instead of stripping them.(v2.1.47)
- Fixed Windows terminal rendering bugs where line counts showed incorrect values (always 1) due to `os.EOL` (`\r\n`) in display code.(v2.1.47)
- Fixed bold and colored text in markdown output shifting to the wrong characters on Windows due to `\r\n` line endings.(v2.1.47)
- Fixed compaction failing when conversations contain many PDF documents by stripping document blocks alongside images before sending to the compaction API.(v2.1.47)
- Fixed bash tool output being silently discarded on Windows when using MSYS2 or Cygwin shells.(v2.1.47)
- Fixed the bash permission classifier from incorrectly granting permissions based on hallucinated descriptions.(v2.1.47)
- Fixed user-defined agents only loading one file on NFS/FUSE filesystems that report zero inodes.(v2.1.47)
- Fixed plugin agent skills silently failing to load when referenced by bare name instead of fully-qualified plugin name.(v2.1.47)
- Fixed CWD tracking temp files never being cleaned up on Windows, preventing indefinite accumulation.(v2.1.47)
- Fixed API 400 errors ("thinking blocks cannot be modified") in sessions with concurrent agents caused by interleaved streaming content blocks.(v2.1.47)
- Fixed a single file write/edit error from aborting all other parallel file write/edit operations; independent mutations now complete on failure.(v2.1.47)
- Fixed custom session titles set via `/rename` being lost after resuming a conversation.(v2.1.47)
- Fixed collapsed read/search hint text overflowing on narrow terminals by truncating from the start.(v2.1.47)
- Fixed bash commands using backslash-newline continuation lines (`\` followed by newline) producing spurious empty arguments.(v2.1.47)
- Fixed built-in slash commands being hidden from the autocomplete dropdown when many user skills are installed.(v2.1.47)
- Fixed MCP servers not appearing in the MCP Management Dialog after deferred loading.(v2.1.47)
- Fixed session name persisting in status bar after `/clear` command.(v2.1.47)
- Fixed crash when a skill's `name` or `description` in SKILL.md frontmatter is a bare number, by coercing the value to a string.(v2.1.47)
- Fixed `/resume` silently dropping sessions when the first message exceeds 16KB or uses array-format content.(v2.1.47)
- Fixed `claude doctor` misclassifying mise and asdf-managed installations as native installs.(v2.1.47)
- Fixed zsh heredoc failing with "read-only file system" error in sandboxed commands.(v2.1.47)
- Fixed agent progress indicator showing inflated tool use count.(v2.1.47)
- Fixed image pasting not working on WSL2 systems where Windows copies images as BMP format.(v2.1.47)
- Fixed background agent results returning raw transcript data instead of the agent's final answer.(v2.1.47)
- Fixed Warp terminal incorrectly prompting for Shift+Enter setup when it supports it natively.(v2.1.47)
- Fixed CJK wide characters causing misaligned timestamps and layout elements in the TUI.(v2.1.47)
- Fixed custom agent `model` field in `.claude/agents/*.md` being ignored when spawning team teammates.(v2.1.47)
- Fixed plan mode being lost after context compaction, causing the model to switch from planning to implementation mode.(v2.1.47)
- Fixed `alwaysThinkingEnabled: true` in settings.json not enabling thinking mode on Bedrock and Vertex providers.(v2.1.47)
- Fixed `tool_decision` OTel telemetry event not being emitted in headless/SDK mode.(v2.1.47)
- Fixed session name being lost after context compaction; renamed sessions now preserve their custom title through compaction.(v2.1.47)
- Fixed `/resume <session-id>` failing to find sessions whose first message exceeds 16KB.(v2.1.47)
- Fixed "Always allow" on multiline bash commands creating invalid permission patterns that corrupt settings.(v2.1.47)
- Fixed React crash (error #31) when a skill's `argument-hint` in SKILL.md frontmatter uses YAML sequence syntax, by coercing the value to a string.(v2.1.47)
- Fixed crash when using `/fork` on sessions that used web search by gracefully handling null entries in search results.(v2.1.47)
- Fixed read-only git commands triggering FSEvents file watcher loops on macOS by adding --no-optional-locks flag.(v2.1.47)
- Fixed custom agents and skills not being discovered when running from a git worktree; project-level agent/skill directories are now included.(v2.1.47)
- Fixed non-interactive subcommands like `claude doctor` and `claude plugin validate` being blocked inside nested Claude sessions.(v2.1.47)
- Windows: Fixed the same CLAUDE.md file being loaded twice when drive letter casing differs between paths.(v2.1.47)
- Fixed inline code spans in markdown being incorrectly parsed as bash commands.(v2.1.47)
- Fixed teammate spinners not respecting custom spinnerVerbs from settings.(v2.1.47)
- Fixed shell commands permanently failing after a command deletes its own working directory.(v2.1.47)
- Fixed hooks (PreToolUse, PostToolUse) silently failing.(v2.1.47)
- Fixed AWS authentication refresh hanging indefinitely by implementing a 3-minute timeout(v2.1.41)
- Fixed file resolution failing for @-mentions that include anchor fragments (e.g., `@README.md#installation`)(v2.1.41)
- Fixed FileReadTool blocking the main process when reading from FIFOs, `/dev/stdin`, or very large files(v2.1.41)
- Fixed background task notifications failing to deliver when operating in streaming Agent SDK mode(v2.1.41)
- Fixed cursor jumping to the end of the input field on every keystroke within classifier rule input(v2.1.41)
- Fixed markdown link display text being incorrectly dropped, showing only the raw URL(v2.1.41)
- Fixed users being incorrectly shown auto-compact failure error notifications(v2.1.41)
- Fixed permission wait time being incorrectly included in the elapsed time displayed for subagents(v2.1.41)
- Fixed proactive ticks firing erroneously while the tool is in plan mode(v2.1.41)
- Fixed stale permission rules not being cleared when settings are modified on disk(v2.1.41)
- Fixed hook blocking errors incorrectly displaying stderr content within the user interface(v2.1.41)
- Fixed out-of-memory crashes occurring when resuming sessions that utilized heavy subagent usage.(v2.1.16)
- Resolved an issue where the "context remaining" warning failed to hide after executing the `/compact` command.(v2.1.16)
- Fixed session titles displayed on the resume screen so they now correctly respect the user's configured language setting.(v2.1.16)
- [IDE] Fixed a race condition on Windows where the Claude Code sidebar view container failed to appear upon application startup.(v2.1.16)
- Fixed a command injection vulnerability in bash command processing where malformed input could execute arbitrary commands(v2.1.2)
- Fixed a memory leak where tree-sitter parse trees were not being freed, causing WASM memory to grow unbounded over long sessions(v2.1.2)
- Fixed binary files (images, PDFs, etc.) being accidentally included in memory when using @include directives in CLAUDE.md files(v2.1.2)
- Fixed updates incorrectly claiming another installation is in progress(v2.1.2)
- Fixed crash when socket files exist in watched directories(v2.1.2)
- Fixed remote session URL and teleport being broken when using /tasks command(v2.1.2)
- Fixed MCP tool names being exposed in analytics events by sanitizing user-specific server configurations(v2.1.2)
- Fixed usage display not updating after manual compact in VSCode(v2.1.2)
Releases with DESKTOP Changes
v2.1.2619 features35 fixesThis release introduces several new features to enhance user control and workflow, including improved organization policy visibility and expanded output limits for commands and background tasks. Key bug fixes address issues with input handling, session management, and remote control functionality across various platforms and integrations.
v2.1.2608 features34 fixesThis release introduces a new diff panel for viewing uncommitted changes in fullscreen mode and adds several new commands and configurations for headless sessions and advanced IdP scenarios. Numerous bug fixes address permission issues, model handling, prompt caching, and session management, alongside improvements to structured output and resource utilization.
v2.1.2595 features26 fixesThis release introduces several new features, including organizational control over MCP servers and enhanced headless host capabilities. Numerous bug fixes address issues with concurrent sessions, prompt caching, fullscreen mode, and various command/script execution scenarios. Performance and user experience are also improved with faster terminal rendering and better workflow agent details.
v2.1.2578 features44 fixesThis release introduces the new Claude Fable 5.1 model as the default, featuring a 1 million token context window. Users can now customize time formats and time zones for timestamps, and enhanced security measures are in place for cloud metadata fetches. Numerous bug fixes improve session management, tool interactions, and overall stability across different operating systems and configurations.
v2.1.2524 fixesThis release addresses several critical bugs. It resolves issues with Bash commands on Macs, ensures "always allow" settings are saved correctly, and improves the stability of Remote Control sessions when network conditions are poor. Additionally, it prevents background task notifications with large error outputs from causing API request size limit issues.
v2.1.2516 features40 fixesThis release introduces new hook events for model switches and live streaming of subagent tool calls to Remote Control clients. It also includes significant improvements to session management, file tool security, and error handling across various tools and integrations, alongside numerous bug fixes for a more stable experience.
v2.1.2489 features32 fixesThis release introduces enhanced security features with the new `--restricted` mode and improved cross-session messaging capabilities. Several bug fixes address prompt caching, session management, and tool behavior, while improvements focus on reducing prompt footprints and refining user experience for features like `/ultrareview` and PR badges.
v2.1.2475 features20 fixesThis release introduces several new tools and commands, including a `SendFeedback` tool for easier issue reporting and `/claude-api cost-optimize` for managing API expenses. Several bugs have been fixed, improving the reliability of history search, sub-agent error handling, and terminal shortcut functionality across different keyboard layouts and terminals. Additionally, performance and user experience are enhanced with collapsed peer messages, improved hyperlink rendering, and more robust session management.
v2.1.2464 features48 fixesThis release introduces an Auto mode tab for managing classifier rules in /permissions and provides the turn's completion time for better session tracking. Numerous bug fixes address issues with fullscreen mode, transcript rendering, background session stability, markdown display, tool call handling, plugin management, and UI consistency across various scenarios.
v2.1.24311 features30 fixesThis release introduces significant enhancements to usage tracking, model selection, and cost management with new settings and breakdowns. It also addresses numerous bugs across various features like auto mode, session management, and tool usage, improving overall stability and user experience.
v2.1.23912 features64 fixesThis release introduces several new features, including a fullscreen renderer offer for specific platforms and a command to upgrade Python projects to the latest Anthropic library. It also enhances cloud session capabilities with synced plugins and improves the user experience with better cost estimates and usage limit notifications.
v2.1.2386 features26 fixesThis release introduces several new features for customizing keybindings and managing plugins with HTTP header support. It also significantly enhances the stability and reliability of Remote Control sessions and self-hosted runners, fixing numerous bugs related to memory usage, session management, and network communication.
v2.1.2355 features9 fixesThis release introduces an optional spellcheck feature to underline misspelled words as you type. Several bugs have been fixed, including issues with prompt highlights, markdown lists, and cache invalidation. Performance improvements have been made to background cloud sessions and the embedded `grep` utility.
v2.1.23414 features26 fixesThis release introduces several new features including enhanced GitLab integration, automatic session continuation at usage limits, and improved security for file access. Key bug fixes address issues with markdown rendering, API response handling, and permission management across various scenarios. Additionally, user experience is improved with better prompt rendering, clearer error messages, and more intuitive dialog behavior during active tasks.
v2.1.2334 features8 fixesThis release introduces several new features, including enhanced GitLab integration, user identity forwarding for apps gateways, and memory cgroup support for Bash commands. It also addresses numerous bugs, such as issues with cloud session loss, MCP connections, and permission prompt notifications, while improving session start times and error handling.
v2.1.2327 features27 fixesThis release introduces enhanced subagent capabilities, allowing them to inherit conversation history and run in the background by default. You can now mention other Claude sessions directly and enjoy improved GitLab integration for plugin marketplaces. Several security enhancements have been added, including secret redaction for GitLab tokens and improved sandbox hardening.
v2.1.2295 features18 fixesThis release introduces enhanced plugin management with local command sources and improved session organization in VSCode. Several critical bugs have been fixed, including issues with long responses, tool call errors, and crashes on Windows. Additionally, performance and security have been improved with keepalive pings, better workflow handling, and stricter sandbox network configurations.
v2.1.2253 features9 fixesThis release enhances Claude Code with gateway spend-limit support and a workspace trust prompt for agents, improving usage monitoring and security. Several bugs have been fixed, including issues with OAuth tokens, session handling, and cross-session messaging, ensuring a more stable and reliable experience.
v2.1.2248 features14 fixesThis release introduces self-hosted environments for Claude Code, allowing you to run sessions on your own infrastructure. You can now also install plugins from zip archives and message between Claude Code sessions on your machines. Several bugs have been fixed, including issues with long project paths, message sending failures, and sandbox violations.
v2.1.2233 features13 fixesThis release introduces enhanced managed settings for marketplace repositories and improved handling of restricted subagent models. Several critical bugs have been fixed, including permission bypasses, sandbox violations, and issues with session resumption and model discovery.
v2.1.2214 features17 fixesThis release introduces a new Focus view in VSCode for a streamlined chat experience and enhanced security features for credential files on Linux and WSL. Several bugs have been fixed, including permission check bypasses, path handling issues, and crashes related to tool calls and API requests.
v2.1.218v2.1.217v2.1.216v2.1.214v2.1.212v2.1.208v2.1.207v2.1.206v2.1.2052 features15 fixesThis release introduces new security measures in auto mode, including blocking tampering with session transcripts and adding context checks before running destructive commands. Several critical bugs were fixed across agent management, CLI operations, and Windows stability. Additionally, the agent view has been significantly improved to show clearer status headlines and better PR linking.
v2.1.2022 features13 fixesThis release introduces configuration options for controlling dynamic workflow size and enhances observability by adding OpenTelemetry attributes to workflow agents. Numerous bugs have been resolved, including fixes for crashes during history search, issues with remote control commands, and improved reliability for session resumption and file downloads over flaky connections.
v2.1.1986 features18 fixesThis release makes Claude in Chrome generally available and introduces a new `/dataviz` skill for generating charts and dashboards. Key fixes address network stability, agent reliability, and UI issues across desktop and web clients. Additionally, background agents now automatically complete code work by committing and opening draft PRs.
v2.1.1972 featuresThis release introduces Claude Sonnet 5 as the new default model, featuring a native 1M-token context window. Users can take advantage of promotional pricing for this new model through August 31st.
v2.1.1873 features15 fixesThis release introduces enhanced security with a new setting to block sandboxed credential access and organizational controls for model selection. Several critical bugs related to structured output, remote tool calls, and session resumption have been fixed, improving overall stability and reliability across various workflows.
v2.1.1832 features11 fixesThis release significantly enhances safety in auto mode by blocking potentially destructive commands unless explicitly intended by the user. It also introduces a warning for deprecated models and improves the usability of the `/config` command. Several bugs related to TUI corruption, subagent communication, and background task handling have also been resolved.
v2.1.1813 features29 fixesThis release introduces the ability to set configuration keys directly via prompt commands (e.g., /config thinking=false) and adds an opt-in setting for Apple Events on macOS. Numerous stability fixes address issues with prompt caching, file saving on network drives, startup delays, and various subagent panel behaviors.
v2.1.1635 features11 fixesThis release introduces new managed settings for version enforcement and adds the `/plugin list` command for better plugin management. Several critical bugs were fixed, including hangs in background processes and permission rule application issues. Additionally, background agent sessions now update seamlessly without blocking the user upon restart.
v2.1.1625 features15 fixesThis release focuses heavily on stability and user experience within the agents view and startup process. Key changes include fixing numerous bugs related to permission handling, agent status display, and session management reliability. Users will notice clearer startup messages, improved handling of failed turns, and better behavior when interacting with slash commands.
v2.1.1614 features14 fixesThis release introduces better metric visibility by including custom dimensions on datapoints and improves parallel tool execution reliability by ensuring failures don't halt other concurrent calls. Numerous bugs were fixed, including issues with motion reduction settings, policy regressions affecting third-party providers, and various session/output corruption problems across different operating systems and environments.
v2.1.1529 features16 fixesThis release introduces powerful new capabilities for code review, allowing fixes to be applied directly to the working tree, and enhances skill management with the ability to restrict tools and reload skills dynamically. Several quality-of-life improvements were made, including better handling of model fallbacks, clearer thinking indicators, and significant fixes to terminal rendering and plugin interaction stability.
v2.1.1494 features21 fixesThis release introduces detailed usage breakdowns via the /usage command and enables GFM task list rendering in Markdown output. Several critical security and stability fixes address issues related to PowerShell permissions, sandbox write access in git worktrees, and crashes involving large directory trees or specific tool calls.
v2.1.1461 feature12 fixesThis release introduces a renamed and enhanced /code-review command, now supporting effort levels. Several critical bugs have been resolved across Windows, GNOME Terminal, and background session handling. Additionally, auto-updater reliability has been improved, and auto mode behavior regarding user questions has been refined.
v2.1.14311 features20 fixesThis release introduces significant enhancements to plugin management, including dependency enforcement and cost visibility in the plugin marketplace. Several critical bugs related to session state preservation, Windows terminal input, and background job reliability have been resolved. Users will also benefit from new configuration options for background sessions via the `claude agents` command and a new setting to bypass worktree isolation.
v2.1.1423 features16 fixesThis release introduces significant configuration flexibility for background sessions via new `claude agents` flags and improves plugin functionality by surfacing skills defined via `SKILL.md`. Numerous critical bugs affecting background session stability, macOS sleep/wake handling, Windows networking, and tool timeouts have been resolved, alongside several plugin and UI refinements.
v2.1.1419 features48 fixesThis release introduces significant enhancements for advanced workflows, including new hook capabilities for desktop notifications and better session scoping via `claude agents --cwd`. Numerous bug fixes address stability across various environments, particularly around plugin configuration, background agent management, and permission handling. Users will also benefit from improved feedback mechanisms, such as an amber spinner for long thinking periods and better navigation in the plugin menu.
v2.1.1401 feature10 fixesThis release focuses heavily on stability and reliability, fixing numerous issues related to background service startup, configuration reloading, and tool call validation. Key improvements include better handling of agent type matching and clearer error messaging for hanging commands.
v2.1.1363 features46 fixesThis release focuses heavily on stability and correctness across various integrations, fixing numerous bugs related to MCP server state, OAuth token handling, and session persistence after commands like /clear or /resume. Key user-facing fixes include improved image pasting in WSL2 and better handling of file pickers and command resolution in slash commands.
v2.1.1323 features23 fixesThis release introduces new environment variables for controlling session IDs and disabling the alternate-screen renderer, along with a visual hint for image pasting. Numerous bugs have been fixed, including issues related to session resumption, terminal scrolling acceleration in IDEs, and handling of special characters during text input.
v2.1.1287 features26 fixesThis release introduces several usability enhancements, including support for loading plugins from .zip archives and improved handling of MCP server reconnections. Numerous bugs have been resolved, particularly around focus management, large input handling, and ensuring correct behavior for markdown links and parallel tool calls. Additionally, subprocesses now correctly isolate environment variables, improving stability for instrumented applications.
v2.1.12113 features18 fixesThis release introduces significant quality-of-life improvements, including a type-to-filter search for skills and better handling of tool output replacement via PostToolUse hooks. Numerous critical bugs have been resolved, focusing heavily on fixing memory leaks related to image processing and transcript history, and improving session stability during restarts and network transients. Users will also notice better scrolling behavior in fullscreen mode and enhanced clipboard support in certain terminal setups.
v2.1.1202 features10 fixesThis release introduces non-interactive UltraReview via a new subcommand and allows skills to dynamically reference the current effort level. Numerous bugs have been resolved, including fixes for server connection stability during Esc presses and improved handling of telemetry suppression and terminal scrolling issues. Additionally, Windows users no longer strictly require Git Bash, as PowerShell is now used as a fallback shell.
v2.1.11912 features33 fixesThis release introduces significant configuration persistence, allowing settings like theme and editor mode to be saved locally and respected across overrides. Key updates include expanded support for various Git provider URLs in the `--from-pr` flag and improved handling of tool execution context in print mode and hooks. Numerous bugs were fixed, addressing issues with multi-line pasting, configuration overrides, and various command behaviors across different operating systems.
v2.1.1175 features12 fixesThis release introduces significant improvements to plugin management, including better dependency handling and enforcement of marketplace restrictions. Users will also notice faster startup times when multiple MCP servers are configured and improved session resumption behavior. Several critical bugs related to token expiration, proxy handling, and context window calculation for Opus 4.7 have also been resolved.
v2.1.1133 features22 fixesThis release introduces new network sandboxing controls via `sandbox.network.deniedDomains` and enables Remote Control clients to query file autocomplete suggestions. Numerous stability fixes address issues with session archiving, transcript display, markdown pasting, and various error conditions across CLI and UI interactions.
v2.1.1106 features20 fixesThis release introduces significant new interaction methods, including a flicker-free TUI mode and a mobile push notification tool for remote control. Several critical bugs related to hanging API calls, session state management, and UI rendering have been resolved. Additionally, usability is improved with better plugin management and enhanced external editor integration.
v2.1.1013 features31 fixesThis release introduces a new \/team-onboarding command for generating ramp-up guides and enables enterprise TLS proxy support by trusting the OS CA certificate store by default. Numerous stability and usability improvements were made, particularly around session resumption, error messaging for tool usage, and handling of settings and plugins.
v2.1.945 features16 fixesThis release introduces support for Amazon Bedrock powered by Mantle and enhances plugin functionality by stabilizing invocation names and improving hook reliability. Several critical bugs were fixed, including silent login failures on macOS and issues with rate-limiting handling, ensuring a more robust user experience.
v2.1.924 features12 fixesThis release introduces an interactive Bedrock setup wizard for easier AWS integration and adds detailed cost breakdowns for subscription users. Several critical bugs have been resolved, including issues with subagent spawning in tmux sessions and incorrect hook behavior. Additionally, the /release-notes command is now interactive, and the /vim command has been replaced by a configuration toggle.
v2.1.856 features17 fixesThis release introduces significant enhancements to hook execution, allowing conditional running based on permission rules and enabling headless integrations via PreToolUse hooks. Several critical bugs related to session compaction, plugin management, and OpenTelemetry logging have been resolved. Performance improvements were also made, particularly around scrolling large transcripts and file autocomplete.
v2.1.849 features14 fixesThis release introduces several new configuration options via environment variables for advanced model pinning and streaming timeouts, alongside the opt-in preview of the PowerShell tool for Windows. Key fixes address issues with voice input, terminal key responsiveness, and startup performance, while general improvements enhance readability for large token counts and streamline MCP server configuration.
v2.1.835 features32 fixesThis release introduces significant enhancements for environment management, including new hook events and policy configuration options, alongside a highly requested transcript search feature. Users will also benefit from improved startup performance, better handling of large file diffs, and fixes for several stability issues across macOS and Linux, particularly concerning voice mode and remote sessions.
v2.1.774 features29 fixesThis release significantly increases the maximum output token limits for Opus and Sonnet models, reaching up to 128k tokens for some configurations. Numerous critical bugs were fixed, including issues related to compound command permissions, memory leaks during long sessions, and various terminal/IDE integration problems. Performance improvements include faster startup on macOS and quicker session resume times.
v2.1.742 features13 fixesThis release introduces actionable suggestions via the /context command to help optimize memory and context usage, alongside a new setting to customize auto-memory storage location. Several critical bugs were resolved, including fixes for memory leaks, issues with MCP OAuth refresh tokens, and improved rendering for RTL text across various terminals.
v2.1.735 features16 fixesThis release introduces the ability to map model picker entries to custom provider model IDs using the new `modelOverrides` setting. Several critical bugs related to agent deadlocks, permission prompt freezes, and incorrect model version selection have been resolved. Additionally, the Up arrow interaction after interrupting Claude has been improved for a smoother conversation rewind experience.
v2.1.7210 features32 fixesThis release introduces several new capabilities, including direct file writing from `/copy` and an enhanced `/plan` command that accepts descriptions. Significant stability improvements were made, fixing numerous bugs related to voice input, plugin installation, session resumption, and permission handling across the system. Users will also benefit from performance gains due to improved bash parsing and reduced bundle size.
v2.1.714 features18 fixesThis release introduces powerful new scheduling capabilities with the /loop command and cron tools for recurring prompts. Numerous bugs have been resolved, particularly around session stability, startup freezes related to voice mode and OAuth refresh, and issues with forked conversations and plugin management. Performance has also seen improvements, including faster startup by deferring image processor loading.
v2.1.703 features20 fixesThis release focuses heavily on stability and correctness across various environments, fixing numerous bugs related to API calls, UI interactions, and platform-specific issues on Windows and VS Code. Key new additions include enhanced session management within VS Code via a new activity bar icon and a dedicated markdown view for reviewing plans.
v2.1.507 features15 fixesThis release introduces significant stability and memory management improvements, fixing numerous memory leaks across sessions, task handling, and diagnostics. Key new features include declarative agent worktree isolation, new CLI commands for agent management, and expanded context window control via environment variables.
v2.1.474 features43 fixesThis release focuses heavily on stability and platform compatibility, delivering numerous bug fixes across Windows, shell execution, and file system interactions. Key improvements include better memory management for long sessions, faster file suggestion performance, and enhanced usability for the VS Code plan preview feature.
v2.1.412 features11 fixesThis release introduces new command-line tools for managing authentication (`claude auth`) and adds native support for Windows ARM64. Several critical bugs were resolved, including fixes for hanging AWS authentication, file resolution issues with @-mentions, and process blocking when reading large files or standard input.
v2.1.163 features4 fixesThis release introduces a significant new task management system featuring dependency tracking and enhances IDE integration with native plugin management in VSCode. Key fixes address stability issues, including out-of-memory crashes during session resume, and corrects display logic for context warnings and session titles.
v2.1.26 features8 fixesThis release introduces several new capabilities, including source path metadata for dragged images and support for winget installations. Key fixes address a command injection vulnerability and memory leaks during long sessions. Additionally, large tool outputs are now saved to disk instead of being truncated, ensuring Claude has access to the full content.