Claude Code vscode
ComponentUpdates related to the vscode component of Claude Code.
All VSCODE 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 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 `ANTHROPIC_DEFAULT_MODEL` environment variable to set the default model for new sessions.(v2.1.236)
- Introduced `notify_when_idle` for cross-session messaging, allowing one session to notify another when it becomes idle (macOS and Linux).(v2.1.236)
- Added screen reader support for the transcript in VS Code, providing live announcements and navigation.(v2.1.236)
- Enabled automatic check-ins for idle sessions with parked goals after 30 minutes, 1 hour, and 2 hours.(v2.1.236)
- Enhanced `/usage` command to display usage-credits spend row for Team and Enterprise members and a 0% row before any spending.(v2.1.236)
- 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 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 warning when your login is about to expire, allowing re-authentication before background sessions are interrupted(v2.1.203)
- Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible(v2.1.203)
- Added the session's additional working directories to MCP `roots/list`, with `notifications/roots/list_changed` sent when the set changes(v2.1.203)
- Added a Settings toggle in VSCode for "Enable Remote Control for all sessions"(v2.1.203)
- Enabled user opt-in for idle timeout on `AskUserQuestion` dialogs via `/config` command.(v2.1.200)
- 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)
- 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 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 `Tool(param:value)` syntax for permission rules to allow matching a tool based on its input parameters, supporting wildcards (`*`).(v2.1.178)
- Enabled loading of skills located in nested `.claude/skills` directories when working in those subdirectories.(v2.1.178)
- Added `wheelScrollAccelerationEnabled` setting to allow disabling mouse-wheel scroll acceleration in fullscreen mode(v2.1.174)
- Added usage attribution to the Account & usage dialog (`/usage`) in VSCode, detailing cache misses, long context, subagents, and per-skill/agent/plugin/MCP breakdowns over the last 24 hours or 7 days(v2.1.174)
- Enabled sub-agents to spawn their own sub-agents, supporting up to 5 levels of nesting.(v2.1.172)
- Added a search bar when browsing plugins in the marketplace via the /plugin command.(v2.1.172)
- Amazon Bedrock now reads the AWS region from `~/.aws` config files if `AWS_REGION` is unset, aligning with AWS SDK precedence.(v2.1.172)
- Introduced Claude Fable 5, a Mythos-class model with significantly enhanced capabilities, available by updating to version 2.1.170.(v2.1.170)
- Added the --safe-mode flag (and CLAUDE_CODE_SAFE_MODE) to start Claude Code with all customizations disabled for troubleshooting.(v2.1.169)
- Added the /cd command to move a session to a new working directory without breaking the prompt cache mid-session.(v2.1.169)
- Added a disableBundledSkills setting and CLAUDE_CODE_DISABLE_BUNDLED_SKILLS environment variable to hide bundled skills, workflows, and built-in slash commands from the model.(v2.1.169)
- Added a tip suggesting 'claude agents' when running multiple concurrent sessions.(v2.1.169)
- Added support for configuring up to three fallback models to be tried sequentially when the primary model is unavailable via the new `fallbackModel` setting, which also applies to interactive sessions via the `--fallback-model` flag.(v2.1.166)
- Enabled glob pattern support in the deny rule tool-name position, allowing for broader denial rules (e.g., "*" denies all tools).(v2.1.166)
- Introduced hardened cross-session messaging where messages relayed from other Claude sessions no longer carry user authority, causing receivers to refuse relayed permission requests and auto mode to block them.(v2.1.166)
- Enabled disabling thinking on models that think by default via the Claude API by setting `MAX_THINKING_TOKENS=0`, using `--thinking disabled`, or toggling the per-model thinking setting.(v2.1.166)
- Enabled Claude Code to automatically retry a turn once on the fallback model when the API returns an unexpected non-retryable error.(v2.1.166)
- 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 support for resuming background sessions via the /resume command, showing them alongside interactive sessions marked with `bg`(v2.1.144)
- Enabled elapsed duration display in background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s")(v2.1.144)
- Introduced last updated timestamps in the /plugin browse and discover panes(v2.1.144)
- Enabled /model to change the model for the current session only, with an option (`d` in the picker) to set a default for new sessions(v2.1.144)
- Renamed CLI copy from "extra usage" to "usage credits" and updated the command to /usage-credits(v2.1.144)
- 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 agent view (Research Preview) allowing users to see a single list of all Claude Code sessions (running, blocked, or done) via the `claude agents` command.(v2.1.139)
- Introduced the `/goal` command to set a completion condition, enabling Claude to work across multiple turns until that condition is met, displaying live progress.(v2.1.139)
- Added the `/scroll-speed` command to allow users to tune mouse wheel scroll speed with a live preview.(v2.1.139)
- Enabled `claude plugin details <name>` to display a plugin's component inventory and its projected per-session token cost.(v2.1.139)
- Added transcript view navigation shortcuts: `?` for keyboard shortcuts, `{`/`}` to jump between user prompts, and `v` to toggle the shortcut panel.(v2.1.139)
- Added hook `args: string[]` field (exec form) that spawns commands directly without a shell, eliminating the need to quote path placeholders.(v2.1.139)
- Added hook `continueOnBlock` config option for `PostToolUse` to feed the hook's rejection reason back to Claude and continue the turn if set to `true`.(v2.1.139)
- 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 the `worktree.baseRef` setting to choose whether worktrees branch from `origin/<default>` or local `HEAD`.(v2.1.133)
- Added managed settings `sandbox.bwrapPath` and `sandbox.socatPath` for specifying custom binary locations on Linux/WSL.(v2.1.133)
- Added the `parentSettingsBehavior` admin-tier key to allow SDK managed settings to opt into policy merging.(v2.1.133)
- Enabled hooks to receive the active effort level via the `effort.level` JSON input field and the `$CLAUDE_EFFORT` environment variable.(v2.1.133)
- Added `--remote-control` to the output of `claude --help`.(v2.1.133)
- 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 `--plugin-url <url>` flag to fetch a plugin .zip archive from a URL for the current session(v2.1.129)
- Added `CLAUDE_CODE_FORCE_SYNC_OUTPUT=1` environment variable to force-enable synchronized output on terminals that auto-detection misses(v2.1.129)
- Added `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` setting for Homebrew or WinGet installations to run background upgrades and prompt for restart(v2.1.129)
- Enabled Gateway /v1/models discovery for the /model picker via `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` (now opt-in)(v2.1.129)
- Ctrl+R history picker now defaults to searching all prompts across all projects, matching previous behavior; use Ctrl+S to narrow search to the current project or session(v2.1.129)
- Introduced granular control over skill visibility via the `skillOverrides` setting: `off` hides from model and /, `user-invocable-only` hides only from model, and `name-only` collapses description(v2.1.129)
- Added `claude project purge [path]` command to delete all Claude Code state for a project, supporting dry-run, interactive, and all-project deletion.(v2.1.126)
- Enabled listing of models from a gateway's `/v1/models` endpoint in the `/model` picker when `ANTHROPIC_BASE_URL` is set to an Anthropic-compatible gateway.(v2.1.126)
- Enabled bypassing permission prompts for writes to protected paths like `.claude/`, `.git/`, and `.vscode/` using the `--dangerously-skip-permissions` flag.(v2.1.126)
- Enabled `claude auth login` to accept the OAuth code pasted directly into the terminal when browser callbacks fail (e.g., in WSL2, SSH, or containers).(v2.1.126)
- Enabled Claude to treat PowerShell as the primary shell instead of defaulting to Bash when the PowerShell tool is enabled on Windows.(v2.1.126)
- 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)
- Enabled agent frontmatter `hooks:` to fire when running as a main-thread agent via `--agent`(v2.1.116)
- Introduced inline progress indicators for the thinking spinner ("still thinking", "thinking more", "almost done thinking")(v2.1.116)
- Added support for `/config` search to match option values (e.g., searching "vim" finds the Editor mode setting)(v2.1.116)
- Enabled `/doctor` to be opened while Claude is responding without waiting for the current turn to finish(v2.1.116)
- Enabled `/reload-plugins` and background plugin auto-update to automatically install missing plugin dependencies from previously added marketplaces(v2.1.116)
- Added a hint surfacing in the Bash tool when `gh` commands hit GitHub's API rate limit(v2.1.116)
- 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 interactive Google Vertex AI setup wizard accessible from the login screen for guided configuration of GCP authentication, project, region, credentials, and model pinning.(v2.1.98)
- Added Monitor tool for streaming events from background scripts.(v2.1.98)
- Added subprocess sandboxing with PID namespace isolation on Linux when `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` is set.(v2.1.98)
- Added `CLAUDE_CODE_SCRIPT_CAPS` environment variable to limit per-session script invocations.(v2.1.98)
- Added `--exclude-dynamic-system-prompt-sections` flag to print mode for improved cross-user prompt caching.(v2.1.98)
- Added `workspace.git_worktree` to the status line JSON input when operating inside a linked git worktree.(v2.1.98)
- Added W3C `TRACEPARENT` environment variable to Bash tool subprocesses when OTEL tracing is enabled for correct trace parenting.(v2.1.98)
- Enabled LSP client identification to language servers via `clientInfo` in the initialize request.(v2.1.98)
- Enabled Accept Edits mode to auto-approve filesystem commands prefixed with safe environment variables or process wrappers.(v2.1.98)
- 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 X-Claude-Code-Session-Id header to API requests to allow proxies to aggregate requests by session without body parsing.(v2.1.86)
- Added .jj and .sl to VCS directory exclusion lists to prevent Grep and file autocomplete from descending into Jujutsu or Sapling metadata.(v2.1.86)
- 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 the --bare flag for scripted -p calls, which skips hooks, LSP, plugin sync, and skill directory walks for faster execution.(v2.1.81)
- Introduced --channels permission relay, allowing channel servers that declare capability to forward tool approval prompts directly to your phone.(v2.1.81)
- Added support for Anthropic Console (API billing) authentication via the `--console` flag in `claude auth login`.(v2.1.79)
- Introduced a "Show turn duration" toggle within the `/config` menu to display how long each turn took.(v2.1.79)
- Enabled bridging your local session to claude.ai/code using the new `/remote-control` command in VS Code.(v2.1.79)
- Enabled AI-generated titles for session tabs in VS Code, based on the first message in the session.(v2.1.79)
- Added `StopFailure` hook event that fires when the turn ends due to an API error (rate limit, auth failure, etc.)(v2.1.78)
- Added `${CLAUDE_PLUGIN_DATA}` variable for plugin persistent state that survives plugin updates; `/plugin uninstall` prompts before deleting it(v2.1.78)
- Added `effort`, `maxTurns`, and `disallowedTools` frontmatter support for plugin-shipped agents(v2.1.78)
- Enabled response text to stream line-by-line as it's generated(v2.1.78)
- Added `ANTHROPIC_CUSTOM_MODEL_OPTION` environment variable to add a custom entry to the `/model` picker, with optional `_NAME` and `_DESCRIPTION` suffixed variables for display(v2.1.78)
- 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 MCP elicitation support, allowing MCP servers to request structured input mid-task via interactive dialogs (form fields or browser URL)(v2.1.76)
- Added new Elicitation and ElicitationResult hooks to intercept and override responses before they are sent back(v2.1.76)
- Added `-n` / `--name <name>` CLI flag to set a display name for the session at startup(v2.1.76)
- Added `worktree.sparsePaths` setting for `claude --worktree` to check out only necessary directories in large monorepos using git sparse-checkout(v2.1.76)
- Added `PostCompact` hook that fires after compaction completes(v2.1.76)
- Added `/effort` slash command to set the model effort level(v2.1.76)
- Enabled session quality surveys, configurable by enterprise admins via the `feedbackSurveyRate` setting(v2.1.76)
- 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 support for the Claude Sonnet 4.6 model.(v2.1.45)
- Enabled reading of `enabledPlugins` and `extraKnownMarketplaces` from directories specified with `--add-dir`.(v2.1.45)
- Introduced the `spinnerTipsOverride` setting, allowing users to customize or completely replace the default spinner tips.(v2.1.45)
- Added support for restricting which sub-agents can be spawned using the `Task(agent_type)` syntax in agent "tools" frontmatter(v2.1.33)
- Added `memory` frontmatter field support for agents, enabling persistent memory with `user`, `project`, or `local` scope(v2.1.33)
- Added plugin name to skill descriptions and the `/skills` menu for better discoverability(v2.1.33)
- VSCode: Added support for remote sessions, allowing OAuth users to browse and resume sessions from claude.ai(v2.1.33)
- VSCode: Added git branch and message count to the session picker, with support for searching by branch name(v2.1.33)
- Introduced research preview agent teams feature for multi-agent collaboration (requires setting CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)(v2.1.32)
- Enabled automatic recording and recall of memories by Claude during work sessions(v2.1.32)
- Added "Summarize from here" option to the message selector for partial conversation summarization(v2.1.32)
- Enabled automatic loading of skills defined in .claude/skills/ within additional directories specified via --add-dir(v2.1.32)
- Added `pages` parameter to the Read tool for PDFs, allowing specific page ranges to be read (e.g., `pages: "1-5"`).(v2.1.30)
- Enabled lightweight reference return for large PDFs (>10 pages) when mentioned with `@` instead of inlining them into context.(v2.1.30)
- Added pre-configured OAuth client credentials support for MCP servers lacking Dynamic Client Registration (e.g., Slack) using `--client-id` and `--client-secret` with `claude mcp add`.(v2.1.30)
- Added `/debug` command to help troubleshoot the current session.(v2.1.30)
- Added support for additional `git log` and `git show` flags in read-only mode (e.g., `--topo-order`, `--cherry-pick`, `--format`, `--raw`).(v2.1.30)
- Added token count, tool uses, and duration metrics to Task tool results.(v2.1.30)
- Added reduced motion mode to the configuration settings.(v2.1.30)
- Added multiline input support to the "Other" text input in VSCode question dialogs (using Shift+Enter for new lines).(v2.1.30)
- Added environment variable `CLAUDE_CODE_ENABLE_TASKS` to temporarily disable the new task system.(v2.1.19)
- Introduced shorthand accessors like `$0`, `$1`, etc., for accessing individual arguments within custom commands.(v2.1.19)
- [SDK] Enabled replay of `queued_command` attachment messages as `SDKUserMessageReplay` events when `replayUserMessages` is active.(v2.1.19)
- [VSCode] Enabled session forking and rewind functionality for all users.(v2.1.19)
- 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 history-based autocomplete in bash mode, allowing users to type a partial command and press Tab to complete from their bash command history(v2.1.14)
- Added search functionality to the installed plugins list, enabling filtering by name or description(v2.1.14)
- Added support for pinning plugins to specific git commit SHAs, ensuring marketplace entries install exact versions(v2.1.14)
- Added /usage command in VSCode to display current plan usage(v2.1.14)
- Added `showTurnDuration` setting to allow users to hide turn duration messages in the output.(v2.1.7)
- Enabled MCP tool search auto mode by default, deferring tool descriptions that exceed 10% of the context window to reduce upfront context usage.(v2.1.7)
- Added search functionality to the /config command for quickly filtering settings.(v2.1.6)
- Added Updates section to /doctor showing auto-update channel and available npm versions (stable/latest).(v2.1.6)
- Added date range filtering to the /stats command, allowing cycling between Last 7 days, Last 30 days, and All time.(v2.1.6)
- Added automatic discovery of skills from nested .claude/skills directories when working with files in subdirectories.(v2.1.6)
- Added context_window.used_percentage and context_window.remaining_percentage fields to the status line input for easier context window display.(v2.1.6)
- Added an error display when the editor fails during Ctrl+G.(v2.1.6)
- Added a release channel toggle ('stable' or 'latest') accessible via the `/config` command.(v2.1.3)
- [VSCode] Added a clickable destination selector for permission requests, allowing users to choose where settings are saved (this project, all projects, shared with team, or session only).(v2.1.3)
- 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)
- Added Language Server Protocol (LSP) tool support for code intelligence features like go-to-definition, find references, and hover documentation(v2.0.74)
- Added support for the /terminal-setup command across Kitty, Alacritty, Zed, and Warp terminals(v2.0.74)
- Added ctrl+t shortcut within the /theme command to toggle syntax highlighting on and off(v2.0.74)
- Added syntax highlighting information directly to the theme picker interface(v2.0.74)
- Added clickable [Image #N] links that open attached images in the default viewer(v2.0.73)
- Added alt-y yank-pop functionality to cycle through kill ring history after ctrl-y yank(v2.0.73)
- Added search filtering to the plugin discover screen, allowing filtering by name, description, or marketplace(v2.0.73)
- Added support for custom session IDs when forking sessions using --session-id combined with --resume, --continue, or --fork-session(v2.0.73)
- [VSCode] Added tab icon badges showing pending permissions (blue) and unread completions (orange)(v2.0.73)
All VSCODE 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 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 clipboard copy, background housekeeping, background sessions, and local MCP logs breaking when a session's directory was removed.(v2.1.236)
- Fixed the fullscreen renderer failing permanently after a single failed start by falling back to the classic renderer.(v2.1.236)
- Fixed the `/model` picker rendering taller than the terminal by showing only models that fit the window, with others accessible via scrolling.(v2.1.236)
- Fixed `SendMessage` calls being rejected when a malformed closing tag left message text in the summary field.(v2.1.236)
- Fixed unhandled promise rejections when a subprocess fails to start, such as `powershell.exe` on WSL with Windows interop disabled.(v2.1.236)
- Fixed fullscreen mode sometimes not showing a newly sent message until the terminal was resized.(v2.1.236)
- Fixed a blank band remaining above the prompt after clearing a multi-line prompt and panes not repainting after terminal resizing in fullscreen mode.(v2.1.236)
- Fixed the managed-settings approval prompt sometimes not appearing at startup while still capturing the first keypress.(v2.1.236)
- Fixed terminal tab titles jumping in tmux by writing the title only when its text changes.(v2.1.236)
- Fixed an unclear error when the cloud environments list returned empty or malformed.(v2.1.236)
- Fixed the Fable 5 first-time usage-credits prompt auto-selecting the fallback model after 60 seconds with no user input when using Remote Control.(v2.1.236)
- Fixed spinner tips never appearing and a repeated background error when the cached guest-pass reward in `~/.claude.json` was malformed.(v2.1.236)
- Fixed skills hot-reload in SDK/VS Code sessions raising an error on every skills change after the session's working directory was deleted.(v2.1.236)
- Fixed self-hosted runner sessions occasionally resuming on another runner before the post-session hook had finished.(v2.1.236)
- Fixed the Clawd mascot's eyes and feet rendering unevenly in iTerm2 at some font sizes.(v2.1.236)
- Fixed occasional runaway session recaps by capping recap text at 400 characters and cutting at a word boundary.(v2.1.236)
- Fixed slash-command typos or unavailable commands reporting an error instead of running the closest fuzzy match.(v2.1.236)
- Fixed `SendMessage` refusing further messages to a session when a rapid burst would exceed its inbox capacity, instead of reporting them as sent.(v2.1.236)
- Fixed the git status check being fooled by a repo's `status.showUntrackedFiles=no` setting.(v2.1.236)
- 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 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 opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection(v2.1.203)
- Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale; the session now recovers automatically(v2.1.203)
- Fixed returning to `claude agents` silently stopping running subagents and re-running the prompt from scratch; their work now carries over(v2.1.203)
- Fixed a memory and per-turn CPU regression in interactive sessions where the context-usage indicator re-analyzed the entire transcript after every turn(v2.1.203)
- Fixed background agents inheriting a stale `PATH` from the daemon instead of the dispatching shell, causing missing tools on Windows(v2.1.203)
- Fixed background and agent-view sessions dropping a shell-exported `ANTHROPIC_BASE_URL`, preventing API key leakage and fixing 401 errors(v2.1.203)
- Fixed Bash failing with "argument list too long" in repos with many git worktrees(v2.1.203)
- Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree(v2.1.203)
- Fixed worktree creation rejecting nested repositories in multi-repo workspaces, allowing background sessions to isolate and edit correctly(v2.1.203)
- Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path; they now fail once with a clear error(v2.1.203)
- Fixed a background daemon auto-upgrade failure silently killing all running background sessions(v2.1.203)
- Fixed `TaskStop` and `TaskOutput` failing to find background agents spawned by another agent; errors now list running agents by id and description(v2.1.203)
- Fixed the `claude agents` composer discarding your typed message when a slash command isn't available there(v2.1.203)
- Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session(v2.1.203)
- Fixed background sessions showing "Needs input" in the agent list after the question was already answered(v2.1.203)
- Fixed background agent startup failures showing only "exit_with_message" instead of the actual error(v2.1.203)
- Fixed background sessions ignoring `effortLevel` changes in settings.json when forked through the daemon(v2.1.203)
- Fixed attached background sessions ignoring `CLAUDE_CODE_DISABLE_MOUSE` and `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` opt-outs(v2.1.203)
- Fixed `/exit` incorrectly warning about running background agents after all named agents had completed(v2.1.203)
- Fixed background sessions started from a non-git directory unable to edit files when a `WorktreeCreate` hook was configured(v2.1.203)
- Fixed the `@` directory picker in `claude agents` not showing registered git worktrees(v2.1.203)
- Fixed background task output on Windows being permanently replaced by an empty file after `/clear`(v2.1.203)
- Fixed content jumping when scrolling up through long transcript history(v2.1.203)
- Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown(v2.1.203)
- Fixed literal `^[[I` / `^[[O` escape codes being printed when reattaching to a background session(v2.1.203)
- Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests(v2.1.203)
- Fixed crash at startup when `disabledMcpServers` or `enabledMcpServers` in `.claude.json` was set to a non-array value.(v2.1.200)
- Fixed background sessions silently stopping mid-turn after sleep/wake or when reopening a stalled session.(v2.1.200)
- Fixed background sessions re-running a turn cancelled with Esc after a stall respawn.(v2.1.200)
- Fixed background agents never starting again after a crash left a stale `daemon.lock` whose PID the OS reused.(v2.1.200)
- Fixed background-agent daemon handover preventing reinstalled older builds from taking over the daemon.(v2.1.200)
- Fixed background-agent roster issues including transient corruption disabling orphan cleanup, older binaries not preserving fields, and socket auth tokens being stripped during daemon restarts.(v2.1.200)
- Fixed subagents cut off by a rate limit before producing output returning an empty result instead of failing cleanly.(v2.1.200)
- Fixed control bytes from background-agent output reaching the terminal in the agent view.(v2.1.200)
- Fixed `claude agents --plugin-dir <dir>` not showing plugin agents and skills when the flag was placed after `agents`.(v2.1.200)
- Fixed project-scoped plugins not loading correctly from git worktrees of the same repository.(v2.1.200)
- Fixed `/mcp` server list not tracking focus for screen readers and magnifiers.(v2.1.200)
- Fixed voice dictation showing a misleading "Voice connection failed" message when a recording captures no audio.(v2.1.200)
- 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 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 mid-stream connection drops, ensuring partial responses are preserved instead of showing a raw error, and preventing the spinner from getting stuck at "running tool".(v2.1.179)
- Fixed mouse-wheel scrolling regression in WSL2 environments when using Windows Terminal and VS Code.(v2.1.179)
- Fixed issue where a sandbox `denyRead`/`allowRead` glob over a large directory tree caused the Bash tool description to become enormous and render the session unusable on Linux.(v2.1.179)
- Fixed feedback survey incorrectly capturing single-digit replies as a session rating immediately after a turn completed.(v2.1.179)
- Fixed welcome screen stacking multiple promotional banners; now only one promo displays per session.(v2.1.179)
- Fixed Ctrl+O not displaying the subagent's transcript when viewing a subagent.(v2.1.179)
- Fixed clicking the prompt input failing to return focus from the subagent/footer panel.(v2.1.179)
- Fixed remote session background tasks appearing stuck as "still running" between turns.(v2.1.179)
- Fixed a crash (out-of-memory) when the CLI inherited stale websocket/OAuth file-descriptor environment variables from a parent process.(v2.1.178)
- Fixed Claude in Chrome silently failing to connect when the OAuth token belonged to a different account than the currently logged-in Claude Code user.(v2.1.178)
- Fixed permission prompts blocking directory-qualified skills in nested `.claude/skills` during non-interactive runs.(v2.1.178)
- Fixed several subagent issues: viewing subagent transcripts now correctly shows tool results and live progress, messages sent while a subagent finishes are no longer dropped, and backgrounding a running subagent no longer restarts it.(v2.1.178)
- Fixed `claude agents` workers failing with `401 Invalid bearer token` when the daemon was started with custom API gateway settings via environment variables.(v2.1.178)
- Fixed compaction not honoring the `--fallback-model` setting, ensuring it now falls back correctly on overload or model-availability errors.(v2.1.178)
- Fixed model requests continuing to fail with authentication errors after credentials were refreshed due to a stale cached request configuration.(v2.1.178)
- Fixed background sessions created with `/bg` or `←←` appearing as "Working" indefinitely in the agents list after a turn completed.(v2.1.178)
- Fixed `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` preventing fresh marketplace installs from cloning correctly.(v2.1.178)
- Fixed MCP server-level specs being silently ignored in subagent `disallowedTools` configurations.(v2.1.178)
- Fixed vim mode undo (`u`) merging multiple quick commands into a single undo step; it now steps through NORMAL/VISUAL-mode commands individually.(v2.1.178)
- Fixed statusline links using custom URI schemes (e.g., `vscode://`) not opening when clicked in `claude agents`.(v2.1.178)
- Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task in VSCode.(v2.1.178)
- Fixed the `/model` picker incorrectly hiding the model family that Default resolves to; Opus/Sonnet now correctly displays based on the user's plan(v2.1.174)
- Fixed the `/model` picker showing a hardcoded Sonnet version label when `ANTHROPIC_DEFAULT_SONNET_MODEL` is set to a different Sonnet version(v2.1.174)
- Fixed the banner incorrectly stating "Fable 5 is now consuming usage credits" for enterprise accounts using usage-based billing(v2.1.174)
- Fixed Bedrock GovCloud regions (`us-gov-*`) deriving the wrong inference profile prefix, which caused 400 errors on derived model IDs(v2.1.174)
- Fixed background sessions inheriting provider environment variables (gateway URL, custom headers, `/model` aliases) from the shell that started the background daemon(v2.1.174)
- Fixed a 1-2 second pause when exiting Claude Code shortly after a shell command was interrupted or killed on macOS and Linux(v2.1.174)
- Fixed git commit co-author attribution showing an incorrect model name for certain models(v2.1.174)
- Fixed the `/advisor` dialog pre-selecting a saved advisor model that is blocked by the `availableModels` allowlist(v2.1.174)
- Fixed Workflow tool `agent()` subagents missing per-agent attribution headers(v2.1.174)
- Fixed pre-warmed background workers failing with "Could not resolve authentication method" when claimed after being idle(v2.1.174)
- Fixed sessions using 1M context without usage credits getting permanently stuck; sessions now automatically compact under the standard context limit.(v2.1.172)
- Fixed a repeating error message about an image being removed when the conversation contained multiple images.(v2.1.172)
- Fixed the agents view incorrectly keeping a session under 'Working' with a busy spinner for up to 30 seconds after the worker responded.(v2.1.172)
- Fixed background agents potentially reading another directory's project settings (approvals, trust) when dispatched to a pre-warmed worker.(v2.1.172)
- Fixed background-session attach failing with EAUTH for sessions started on an older version after the daemon auto-updated.(v2.1.172)
- Fixed a background sub-agent remaining stuck as 'active' in the agent panel after a nested agent it spawned was stopped.(v2.1.172)
- Fixed /model suggestions in the `claude agents` dispatch input rendering with an incorrect slash prefix and showing models disabled for the organization.(v2.1.172)
- Fixed `availableModels` restrictions not being applied correctly to subagent model overrides, the agent dispatch model picker, and the advisor model.(v2.1.172)
- Fixed `availableModels` allowlists incorrectly hiding Opus and Sonnet 1M rows in the /model picker when version-specific IDs were used.(v2.1.172)
- Fixed the /model picker on Bedrock offering models the provider does not serve, which previously caused silent model switching.(v2.1.172)
- Fixed model IDs receiving a doubled 1M-context suffix when `ANTHROPIC_DEFAULT_OPUS_MODEL` already included one.(v2.1.172)
- Fixed the `opusplan` model setting not correctly enabling 1M context in plan mode for entitled users.(v2.1.172)
- Fixed wildcard domain rules (`WebFetch(domain:*.example.com)`) and file permission rules with mid-pattern wildcards not matching correctly.(v2.1.172)
- Fixed the up-arrow prompt history showing the main agent's prompts while a subagent's chat tab was active.(v2.1.172)
- Fixed memory recall failing to find mounted team memory stores (`CLAUDE_MEMORY_STORES`) in remote sessions.(v2.1.172)
- Fixed workflow validation incorrectly rejecting scripts whose prompt strings or comments contained `Date.now()` or `Math.random()`. (v2.1.172)
- Fixed the /plugin marketplace list losing cursor position after navigating out of a long list, and Esc from the plugin browser returning to the wrong tab.(v2.1.172)
- Fixed PowerShell tool calls rendering as raw JSON instead of a command display and permission dialog in VSCode, and stripped ANSI escape codes from displayed shell output.(v2.1.172)
- Fixed issue where session transcripts were not saving or appearing when using the --resume command if the session was launched from the VS Code integrated terminal or a shell inheriting Claude Code environment variables.(v2.1.170)
- Fixed Up/Down arrows jumping past wrapped rows of long input lines; they now move through each visual row first, and history recall enters at the near edge.(v2.1.169)
- Fixed enterprise managed MCP policies not being enforced correctly across various session states (reconnect, IDE-typed configs, initial session after install, before remote settings load) and fixed slow cold starts for orgs without remote settings.(v2.1.169)
- Fixed a ~30-50ms UI stall at the start of each turn for macOS users logged in with claude.ai credentials.(v2.1.169)
- Fixed 'claude -p' being slow or hanging on Windows while waiting for the slash-command/skill scan (regression).(v2.1.169)
- Fixed Remote Control getting stuck on "reconnecting" after resuming a session when an OAuth token refresh occurred simultaneously.(v2.1.169)
- Fixed Git Credential Manager's "Connect to GitHub" popup appearing on Windows at startup when background git commands ran without cached credentials.(v2.1.169)
- Fixed footer hints (e.g. "esc to interrupt") not showing for users with a custom statusline.(v2.1.169)
- Fixed stale permission and dialog prompts reappearing every time you reattached to a remote session whose worker had died while waiting on them.(v2.1.169)
- Fixed 'claude agents --json' omitting blocked and just-dispatched background sessions; added --all to include completed sessions, plus new id and state fields.(v2.1.169)
- Fixed agents view leaving a stale/garbled frame after navigating back from an agent on WSL in Windows Terminal.(v2.1.169)
- Fixed background agents ignoring project-level settings env values (e.g. ANTHROPIC_MODEL) when dispatched onto a pre-warmed worker.(v2.1.169)
- Fixed MCPB plugin cache being spuriously invalidated on Windows, causing unnecessary re-extraction.(v2.1.169)
- Fixed plugin .in_use PID lock files accumulating; stale markers from crashed sessions are now swept once per day.(v2.1.169)
- Fixed untrusted project settings being able to set OTEL client-certificate paths without trust confirmation.(v2.1.169)
- Auto-updater on Windows now stops retrying within a session once 'claude.exe' is held by another process.(v2.1.169)
- Fixed a recurring "image could not be processed" error and associated extra token usage when an unprocessable image was sent in a session.(v2.1.166)
- Fixed remote sessions becoming permanently stuck during startup if a brief backend disruption occurred while the worker was registering.(v2.1.166)
- Fixed Shift+non-ASCII characters (e.g., Shift+ä → Ä) being dropped when typing in terminals using the Kitty keyboard protocol (like WezTerm or Ghostty).(v2.1.166)
- Fixed PowerShell command validation occasionally hanging excessively on Windows when a killed process's children held its output pipes.(v2.1.166)
- Fixed orphaned `claude --bg-pty-host` processes consuming 100% CPU after the daemon died while a connection was active on macOS.(v2.1.166)
- Fixed voice mode incorrectly requiring `/login` to clear a stale authentication check after toggling `/voice".(v2.1.166)
- Fixed managed settings with one invalid entry silently disabling enforcement of their remaining valid policies.(v2.1.166)
- Fixed managed-settings predicates `allowedMcpServers`/`deniedMcpServers` failing to match when they utilized ${VAR} references.(v2.1.166)
- Fixed background agent sessions that entered a git worktree crash-looping with "No conversation found" upon reopening from the `claude agents` list.(v2.1.166)
- Fixed duplicated thinking text appearing in the Ctrl+O transcript view during streaming.(v2.1.166)
- Fixed `/doctor` incorrectly reporting a failed "Not inside a remote session" check when executed inside an active remote session.(v2.1.166)
- Fixed the cursor sticking at the end of the first line when typing a multiline prompt within the `claude agents` dispatch and reply inputs.(v2.1.166)
- Fixed blank lines appearing between background agent rows in the task list on terminals lacking Unicode support.(v2.1.166)
- 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 startup hanging up to 75s when `api.anthropic.com` is unreachable by implementing a 15s timeout for side-channel API calls(v2.1.144)
- Fixed garbled terminal output after missed window-resize events by enabling self-healing on the next frame(v2.1.144)
- Fixed progressive terminal display corruption (stale/garbled glyphs) in long sessions that previously required a resize or restart to clear(v2.1.144)
- Fixed macOS background sessions crashing with "exit 1 before init" when the project is in a Full Disk Access-protected folder(v2.1.144)
- Fixed unrecoverable conversation state when reading a file with an image extension that mismatches its content (e.g. HTML saved as .png) by falling back to text processing(v2.1.144)
- Fixed spurious tool errors during search by ensuring `head`/`tail` file views satisfy read-before-edit checks and treating non-matches from grep/diff as informational instead of command failures(v2.1.144)
- Fixed /branch failing with "No conversation to branch" after entering a worktree or in some background sessions(v2.1.144)
- Fixed pressing Escape in the AskUserQuestion notes field aborting the turn instead of returning to answer selection(v2.1.144)
- Fixed model selection not applying when changed via the IDE model picker or `applyFlagSettings` after startup(v2.1.144)
- Fixed resumed sessions incorrectly inheriting the model choice from another session instead of retaining their original model(v2.1.144)
- Fixed Bedrock and Vertex users being unable to select "Opus (1M context)" from the /model picker(v2.1.144)
- Fixed remote-session login failing with "Can't access this organization" for users with specific configuration settings(v2.1.144)
- Fixed MCP servers with paginated `tools/list` responses only returning the first page of tools(v2.1.144)
- Fixed MCP images with unsupported MIME types (e.g. SVG) breaking the conversation by saving them to disk and referencing them in the tool result(v2.1.144)
- Fixed file descriptor exhaustion during builds inside skill directories by preventing non-`.md` files from triggering skill reloads(v2.1.144)
- Fixed session title being generated from plugin monitor output instead of the user's first prompt(v2.1.144)
- Fixed Skill tool failing with a permission error in headless mode(v2.1.144)
- Fixed plugins enabled in user settings showing "not cached" errors on fresh machines; added an install hint for project-specific plugins(v2.1.144)
- Fixed `claude mcp list` silently reporting no servers when configuration files were unparsable, now showing configuration errors instead(v2.1.144)
- Fixed background side-queries on custom `ANTHROPIC_BASE_URL` setups and Bedrock Mantle not using Haiku correctly(v2.1.144)
- Fixed scrolling and transcript navigation (PgUp/PgDn, mouse wheel, Ctrl+O) not working in attached background sessions on Windows(v2.1.144)
- Fixed a crash when closing the terminal while attached to a background session(v2.1.144)
- Fixed `! <cmd>` exec sessions not interrupting when Ctrl+C is pressed while attached(v2.1.144)
- Fixed agent view shell-command rows lingering under Working after completion and re-running commands on Enter press(v2.1.144)
- Fixed keyboard input becoming unresponsive in `claude agents` on Windows Terminal after pressing ←(v2.1.144)
- Fixed ghost characters appearing at the left edge when switching panes in Agent View on Windows Terminal with CJK content(v2.1.144)
- Ensured /bg and ←-detach preserve directories added via /add-dir(v2.1.144)
- Fixed Edit/Write refusing to operate right after detaching a session that was editing in place(v2.1.144)
- Fixed `claude respawn <id>` showing "stopped" for a stopped background session instead of running it(v2.1.144)
- Fixed /resume picker not showing sessions forked from a background session(v2.1.144)
- Fixed hanging when opening a session from `claude agents` or running `claude logs <id>` if the background service was unresponsive, now with a 10s timeout(v2.1.144)
- Fixed background Bash tasks spawned by subagents staying "Running" in SDK task panels after process exit(v2.1.144)
- Fixed completed or stopped background sessions being permanently marked as a startup crash(v2.1.144)
- Fixed markdown links in `claude agents` attached sessions rendering as plain text instead of hyperlinks(v2.1.144)
- Restored custom `spinnerVerbs` to apply only to the command execution message, not the post-turn duration message(v2.1.144)
- Made `claude agents` / --bg rejection messages name the specific gate that caused rejection(v2.1.144)
- Echoed the session name in the post-spawn confirmation when using `claude --bg --name <label>`(v2.1.144)
- Ensured renaming a background session via Ctrl+R in `claude agents` immediately updates the attached session's banner(v2.1.144)
- Applied background session worktree isolation guard for non-git VCS users with `WorktreeCreate` hooks(v2.1.144)
- Ensured plugin marketplace add/update respects `CLAUDE_CODE_PLUGIN_PREFER_HTTPS`(v2.1.144)
- Made /plugin return to the Installed list after enabling, disabling, or uninstalling a plugin(v2.1.144)
- Updated /doctor to show an exec-form example when a command hook is missing the `command` field(v2.1.144)
- Stopped showing skill-listing truncation as a startup notification; users must now run /doctor(v2.1.144)
- Improved recovery from rare pre-response stream stalls by retrying streaming once instead of falling back to non-streaming(v2.1.144)
- Improved SDK/headless MCP startup by overlapping pre-wait with startup, potentially saving up to 2s with slow servers(v2.1.144)
- Ensured the post-survey follow-up hint appears after every non-dismiss survey response with context-aware copy(v2.1.144)
- 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 a deadlock that occurred when expired credentials and the `forceRemoteSettingsRefresh` policy blocked `claude auth login`, `logout`, or `status` commands.(v2.1.139)
- Fixed `autoAllowBashIfSandboxed` not auto-approving commands containing shell expansions like `$VAR` and `$(cmd)`.(v2.1.139)
- Fixed a bug where a hook writing to the terminal could corrupt an on-screen interactive prompt; hooks now run without terminal access.(v2.1.139)
- Fixed unbounded memory growth when an HTTP/SSE MCP server streamed non-protocol data by capping response bodies at 16 MB per SSE frame.(v2.1.139)
- Fixed `Skill(name *)` permission rules so the wildcard form now correctly functions as a prefix match, consistent with `Bash(ls *)` behavior.(v2.1.139)
- Fixed settings hot-reload failing to detect edits made to symlinked `~/.claude/settings.json` files.(v2.1.139)
- Fixed plugin details failing to load when the marketplace key differed from the manifest name.(v2.1.139)
- Fixed the `/model` picker's "Default" row not correctly reflecting overrides set by `ANTHROPIC_DEFAULT_OPUS_MODEL` or `ANTHROPIC_DEFAULT_SONNET_MODEL`.(v2.1.139)
- Fixed spurious "stream idle timeout" errors occurring 5 minutes after a response completed because the watchdog timer was not cleared on stream cancellation.(v2.1.139)
- Fixed silent `exit 1` errors when 10+ MCP servers were configured and the cache directory was unwritable; the error message now shows the underlying cause.(v2.1.139)
- Fixed a blinking typing cursor appearing on tab names, list pointers, and select rows within dialogs.(v2.1.139)
- Fixed transcript view letter shortcuts failing to work after a mouse click.(v2.1.139)
- Fixed the Bash-mode up-arrow history repeating the first entry and overwriting the in-progress draft.(v2.1.139)
- Fixed pasting or dropping multiple images resulting in only the last image being inserted.(v2.1.139)
- Fixed hyperlinks appearing in an unreadable dark navy color on dark themes; they now adapt to the active theme.(v2.1.139)
- Fixed the model picker showing a redundant "Current model" row for third-party users whose model was set to the `opus` alias.(v2.1.139)
- Fixed the legacy Opus picker entry on PAYG 3P providers resolving to the same model as the default entry.(v2.1.139)
- Fixed mouse wheel scrolling speed inconsistencies in Cursor and VS Code versions 1.92–1.104, ensuring steady trackpad scrolling and ~3 lines per notch for the mouse wheel.(v2.1.139)
- Fixed scroll behavior in Windows Terminal and VS Code when attached to background sessions.(v2.1.139)
- Fixed MCP resources from disconnected servers lingering in `@server:` autocomplete suggestions.(v2.1.139)
- Fixed two-file diff snippets over-reporting the number of truncated lines by one.(v2.1.139)
- Fixed Grep results failing to relativize Windows drive-letter paths, leading to incorrect count mode totals for single-file paths.(v2.1.139)
- Fixed text overflowing borders on CJK/emoji characters due to incorrect visual cell width calculation.(v2.1.139)
- Fixed fuzzy-match highlighting incorrectly splitting emoji and astral-plane characters mid-pair.(v2.1.139)
- Fixed skill argument names containing regex metacharacters breaking argument substitution.(v2.1.139)
- Fixed ProgressBar rendering a full block when it should have shown a fractional cell that was almost full.(v2.1.139)
- Fixed task polling and `fs.watch` being incorrectly resurrected when the last subscriber left while a fetch operation was still in flight.(v2.1.139)
- Fixed plugin dependency resolution leaving a stale count when the manifest name differed from the source identifier.(v2.1.139)
- Fixed the Insights Time-of-Day chart skewing results when a session contained an unparseable timestamp.(v2.1.139)
- Fixed keybindings that used only the cmd/super/win modifier being flagged as unparseable.(v2.1.139)
- Fixed the `claude_code.active_time.total` OpenTelemetry metric not being emitted when running in `--print` mode.(v2.1.139)
- Fixed `claude plugin update` failing to preserve cross-plugin symlinks inside a marketplace installation.(v2.1.139)
- Fixed the VSCode extension failing to activate on Windows.(v2.1.137)
- 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 parallel sessions dead-ending at 401 after a refresh-token race wiped shared credentials.(v2.1.133)
- Fixed `Edit`/`Write` allow rules scoped to a drive root (e.g., `C:`) or POSIX `/` matching incorrectly and always prompting.(v2.1.133)
- Fixed an unhandled rejection (`ECOMPROMISED`) when a history or session-log file lock is compromised by clock skew or slow disk.(v2.1.133)
- Fixed pressing Esc during conversation compaction showing a spurious "Error compacting conversation" notification.(v2.1.133)
- Fixed `HTTP(S)_PROXY` / `NO_PROXY` / mTLS not being respected for the full MCP OAuth flow, including discovery, dynamic client registration, token exchange, and token refresh.(v2.1.133)
- Fixed Read/Write/Edit being denied on mapped network drives passed via `--add-dir` or SDK `additionalDirectories`.(v2.1.133)
- Fixed Remote Control stop/interrupt from claude.ai not fully canceling the CLI session, causing queued messages to not advance after interrupting a stuck tool or prompt.(v2.1.133)
- Fixed `/effort` in one session unexpectedly changing the effort level of other concurrent sessions, and a related issue where an IDE effort change could be silently dropped.(v2.1.133)
- Fixed subagents not discovering project, user, or plugin skills via the Skill tool.(v2.1.133)
- [VSCode] Fixed `claudeCode.claudeProcessWrapper` failing with "Unsupported platform" when the extension build doesn't bundle a Claude binary.(v2.1.133)
- 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 VS Code extension failing to activate on Windows due to a hardcoded build path in the bundled SDK.(v2.1.131)
- Fixed Mantle endpoint authentication failing when the required 'x-api-key' header was missing.(v2.1.131)
- Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message(v2.1.129)
- Fixed /clear command not resetting the terminal tab title after a conversation ends(v2.1.129)
- Fixed session title chip from /rename disappearing while a permission or other dialog is active(v2.1.129)
- Fixed agent panel below the prompt being hidden when subagents are running (regression)(v2.1.129)
- Fixed external-editor handoff (Ctrl+G) blanking the conversation history above the prompt(v2.1.129)
- Fixed /context command dumping its rendered ASCII visualization grid into the conversation, preventing token waste(v2.1.129)
- Fixed /agents Library list arrow-key navigation so the highlighted agent remains visible when the list exceeds the viewport(v2.1.129)
- Fixed /branch success message not including the new branch's session id for subsequent /resume commands(v2.1.129)
- Fixed bold headers containing keycap/ZWJ/skin-tone emoji losing trailing characters in fullscreen mode(v2.1.129)
- Fixed server-managed settings policy not applying for enterprise/team users whose stored OAuth credentials lacked the `user:inference` scope(v2.1.129)
- Fixed OAuth refresh race condition occurring after wake-from-sleep that could log out all running sessions(v2.1.129)
- Fixed 1-hour prompt cache TTL being silently downgraded to 5 minutes(v2.1.129)
- Fixed cache-miss warning appearing spuriously after /clear or compaction when changing /effort or /model(v2.1.129)
- Fixed `Bash(mkdir *)`, `Bash(touch *)` and similar allow rules not being honored for in-project paths(v2.1.129)
- Fixed `deniedMcpServers` patterns with a `*://` scheme wildcard not matching mixed-case hostnames(v2.1.129)
- Fixed harmless WebSocket warning being logged as an error in --debug mode during voice mode(v2.1.129)
- Fixed /clear command not clearing the conversation context and displayed transcript in VSCode integration(v2.1.129)
- Fixed crash when pasting an image larger than 2000px by automatically downscaling images on paste and retrying requests for oversized images in history.(v2.1.126)
- Fixed login screen being shown instead of guidance when encountering "OAuth not allowed for organization" errors; now directs users to contact their admin.(v2.1.126)
- Fixed OAuth login failing due to timeouts on slow/proxied connections, IPv6-only devcontainers, and when the browser callback cannot reach localhost.(v2.1.126)
- Fixed a rare race condition where a concurrent credential write could incorrectly clear a valid OAuth refresh token.(v2.1.126)
- Fixed API retry countdown sticking at "0s" instead of continuing to count down between attempts.(v2.1.126)
- Fixed "Stream idle timeout" error occurring after waking a Mac from sleep mid-request.(v2.1.126)
- Fixed background and remote sessions falsely aborting with "Stream idle timeout" during long model thinking pauses.(v2.1.126)
- Fixed a hang where the assistant finished thinking but displayed no output after a sequence of empty turns.(v2.1.126)
- Fixed overly fast trackpad scrolling behavior within Cursor and VS Code 1.92–1.104 integrated terminals.(v2.1.126)
- Fixed claude.ai MCP connectors being suppressed by manual servers stuck in a needs-auth state.(v2.1.126)
- Fixed Japanese, Korean, and Chinese text rendering as garbled characters on Windows when using no-flicker mode.(v2.1.126)
- Fixed `Ctrl+L` clearing the prompt input; it now correctly forces a screen redraw, matching readline behavior.(v2.1.126)
- Fixed deferred tools (like WebSearch) not being available to skills using `context: fork` or other subagents on their initial turn.(v2.1.126)
- Fixed plan-mode tools being unavailable in interactive sessions launched with `--channels`.(v2.1.126)
- Fixed `/plugin` Uninstall command incorrectly reporting "Enabled" instead of "Uninstalled".(v2.1.126)
- Fixed `/remote-control` retries appearing stuck on "connecting..."; each retry now displays its result.(v2.1.126)
- Fixed Remote Control failure notification not showing the error reason for initial connection failures.(v2.1.126)
- Fixed Windows clipboard writes exposing copied content in process command-line arguments visible to EDR/SIEM telemetry, and fixed issues with selections larger than 22KB not reaching the clipboard.(v2.1.126)
- Fixed PowerShell tool mis-flagging bare `--` (e.g., `git diff -- file`) as the stop-parsing token `--%`. (v2.1.126)
- Fixed Agent SDK hang when the model emitted a malformed tool name in a parallel tool call batch.(v2.1.126)
- Fixed Security issue where `allowManagedDomainsOnly` / `allowManagedReadPathsOnly` were ignored when a higher-priority managed-settings source lacked a `sandbox` block.(v2.1.126)
- 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 broken column alignment for Devanagari and other Indic scripts rendering in the terminal UI(v2.1.116)
- Fixed Ctrl+- not triggering undo in terminals using the Kitty keyboard protocol (iTerm2, Ghostty, kitty, WezTerm, Windows Terminal)(v2.1.116)
- Fixed Cmd+Left/Right not jumping to line start/end in terminals that use the Kitty keyboard protocol (Warp fullscreen, kitty, Ghostty, WezTerm)(v2.1.116)
- Fixed Ctrl+Z hanging the terminal when Claude Code is launched via a wrapper process (e.g. `npx`, `bun run`)(v2.1.116)
- Fixed scrollback duplication in inline mode that occurred when resizing the terminal or during large output bursts(v2.1.116)
- Fixed modal search dialogs overflowing the screen at short terminal heights, hiding the search box and keyboard hints(v2.1.116)
- Fixed scattered blank cells and disappearing composer chrome in the VS Code integrated terminal during scrolling(v2.1.116)
- Fixed an intermittent API 400 error related to cache control TTL ordering that occurred during parallel request setup(v2.1.116)
- Fixed `/branch` rejecting conversations with transcripts larger than 50MB(v2.1.116)
- Fixed `/resume` silently showing an empty conversation on large session files instead of reporting the load error(v2.1.116)
- Fixed `/plugin` Installed tab showing the same item twice when it appears under Needs attention or Favorites(v2.1.116)
- Fixed `/update` and `/tui` not working after entering a worktree mid-session(v2.1.116)
- Fixed security sandbox auto-allow bypassing the dangerous-path safety check for `rm`/`rmdir` targeting critical system directories like `/` or `$HOME`(v2.1.116)
- 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 a Bash tool permission bypass where an escaped flag could be auto-allowed as read-only, potentially leading to arbitrary code execution.(v2.1.98)
- Fixed compound Bash commands bypassing forced permission prompts for safety checks and explicit ask rules in auto and bypass-permissions modes.(v2.1.98)
- Fixed read-only commands with environment variable prefixes not prompting unless the variable is known-safe (e.g., `LANG`, `TZ`).(v2.1.98)
- Fixed redirects to `/dev/tcp/...` or `/dev/udp/...` not prompting instead of auto-allowing.(v2.1.98)
- Fixed stalled streaming responses timing out instead of falling back to non-streaming mode.(v2.1.98)
- Fixed 429 retries burning all attempts too quickly by ensuring exponential backoff applies as a minimum.(v2.1.98)
- Fixed MCP OAuth `oauth.authServerMetadataUrl` configuration override not being honored on token refresh after restart.(v2.1.98)
- Fixed capital letters being dropped to lowercase in xterm and VS Code integrated terminals when the kitty keyboard protocol is active.(v2.1.98)
- Fixed macOS text replacements deleting the trigger word instead of inserting the substitution.(v2.1.98)
- Fixed `--dangerously-skip-permissions` being silently downgraded to accept-edits mode after approving a write to a protected path via Bash.(v2.1.98)
- Fixed managed-settings allow rules remaining active after an admin removed them until process restart.(v2.1.98)
- Fixed `permissions.additionalDirectories` changes not applying mid-session; removed directories now lose access immediately.(v2.1.98)
- Fixed removing a directory from `additionalDirectories` revoking access to the same directory passed via `--add-dir`.(v2.1.98)
- Fixed `Bash(cmd:*)` and `Bash(git commit *)` wildcard permission rules failing to match commands with extra spaces or tabs.(v2.1.98)
- Fixed `Bash(...)` deny rules being downgraded to a prompt for piped commands that mix `cd` with other segments.(v2.1.98)
- Fixed false Bash permission prompts for commands like `cut -d /` and filenames containing `%`.(v2.1.98)
- Fixed permission rules with names matching JavaScript prototype properties (e.g., `toString`) causing `settings.json` to be silently ignored.(v2.1.98)
- Fixed agent team members not inheriting the leader's permission mode when using `--dangerously-skip-permissions`.(v2.1.98)
- Fixed a crash in fullscreen mode when hovering over MCP tool results.(v2.1.98)
- Fixed copying wrapped URLs in fullscreen mode inserting spaces at line breaks.(v2.1.98)
- Fixed file-edit diffs disappearing from the UI on `--resume` when the edited file was larger than 10KB.(v2.1.98)
- Fixed several `/resume` picker issues including uneditable resumes, search state wiping, and transient status text.(v2.1.98)
- Fixed `/export` not honoring absolute paths and `~`, and silently rewriting user-supplied extensions to `.txt`.(v2.1.98)
- Fixed `/effort max` being denied for unknown or future model IDs.(v2.1.98)
- Fixed slash command picker breaking when a plugin's frontmatter `name` is a YAML boolean keyword.(v2.1.98)
- Fixed rate-limit upsell text being hidden after message remounts.(v2.1.98)
- Fixed MCP tools with `_meta["anthropic/maxResultSizeChars"]` not bypassing the token-based persist layer.(v2.1.98)
- Fixed voice mode leaking space characters into input when re-holding the push-to-talk key during transcript processing.(v2.1.98)
- Fixed `DISABLE_AUTOUPDATER` not fully suppressing the npm registry version check and symlink modification.(v2.1.98)
- Fixed a memory leak where Remote Control permission handler entries were retained for the entire session.(v2.1.98)
- Fixed background subagents that fail with an error not reporting partial progress to the parent agent.(v2.1.98)
- Fixed prompt-type Stop/SubagentStop hooks failing on long sessions.(v2.1.98)
- Fixed feedback survey rendering when dismissed.(v2.1.98)
- Fixed Bash `grep -f FILE` / `rg -f FILE` not prompting when reading a pattern file outside the working directory.(v2.1.98)
- Fixed stale subagent worktree cleanup removing worktrees that contain untracked files.(v2.1.98)
- Fixed `sandbox.network.allowMachLookup` not taking effect on macOS.(v2.1.98)
- Fixed `CLAUDE_CODE_MAX_CONTEXT_TOKENS` not honoring `DISABLE_COMPACT` when set.(v2.1.98)
- Fixed VSCode reporting a false-positive "requires git-bash" error on Windows when the path is correctly configured.(v2.1.98)
- 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 --resume failing with "tool_use ids were found without tool_result blocks" on sessions created before v2.1.85.(v2.1.86)
- Fixed Write/Edit/Read failing on files outside the project root (e.g., ~/.claude/CLAUDE.md) when conditional skills or rules are configured.(v2.1.86)
- Fixed unnecessary config disk writes on every skill invocation that could cause performance issues and config corruption on Windows.(v2.1.86)
- Fixed potential out-of-memory crash when using /feedback on very long sessions with large transcript files.(v2.1.86)
- Fixed --bare mode dropping MCP tools in interactive sessions and silently discarding messages enqueued mid-turn.(v2.1.86)
- Fixed the c shortcut copying only ~20 characters of the OAuth login URL instead of the full URL.(v2.1.86)
- Fixed masked input (e.g., OAuth code paste) leaking the start of the token when wrapping across multiple lines on narrow terminals.(v2.1.86)
- Fixed official marketplace plugin scripts failing with "Permission denied" on macOS/Linux since v2.1.83.(v2.1.86)
- Fixed statusline showing another session's model when running multiple Claude Code instances and using /model in one of them.(v2.1.86)
- Fixed scroll not following new messages after wheel scroll or click-to-select at the bottom of a long conversation.(v2.1.86)
- Fixed /plugin uninstall dialog: pressing n now correctly uninstalls the plugin while preserving its data directory.(v2.1.86)
- Fixed a regression where pressing Enter after clicking could leave the transcript blank until the response arrived.(v2.1.86)
- Fixed ultrathink hint lingering after deleting the keyword.(v2.1.86)
- Fixed memory growth in long sessions from markdown/highlight render caches retaining full content strings.(v2.1.86)
- Fixed VSCode extension incorrectly showing "Not responding" during long-running operations.(v2.1.86)
- Fixed VSCode extension defaulting Max plan users to Sonnet after the OAuth token refreshes (8 hours after login).(v2.1.86)
- 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 multiple concurrent Claude Code sessions requiring repeated re-authentication when one session refreshed its OAuth token.(v2.1.81)
- Fixed voice mode silently swallowing retry failures and showing a misleading "check your network" message instead of the actual error.(v2.1.81)
- Fixed voice mode audio not recovering when the server silently drops the WebSocket connection.(v2.1.81)
- Fixed structured-outputs beta header causing 400 errors on proxy gateways by ensuring CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS correctly suppresses it.(v2.1.81)
- Fixed --channels bypass issue for Team/Enterprise organizations lacking other managed settings.(v2.1.81)
- Fixed a crash occurring specifically on Node.js 18 environments.(v2.1.81)
- Fixed unnecessary permission prompts appearing for Bash commands containing dashes within strings.(v2.1.81)
- Fixed plugin hooks blocking prompt submission when the plugin directory was deleted during an active session.(v2.1.81)
- Fixed a race condition where background agent task output could hang indefinitely if the task completed between polling intervals.(v2.1.81)
- Fixed resuming a session in a worktree now correctly switches the user back to that worktree.(v2.1.81)
- Fixed /btw command not including pasted text when used during an active response.(v2.1.81)
- Fixed a race condition where fast Cmd+Tab followed by paste could fail due to clipboard copy timing under tmux.(v2.1.81)
- Fixed terminal tab title not updating correctly with an auto-generated session description.(v2.1.81)
- Fixed invisible hook attachments inflating the message count when viewing transcripts.(v2.1.81)
- Fixed Remote Control sessions showing a generic title instead of deriving the title from the first prompt.(v2.1.81)
- Fixed /rename command not reliably syncing the title for Remote Control sessions.(v2.1.81)
- Fixed Remote Control /exit command not reliably archiving the session.(v2.1.81)
- Fixed Windows PATH inheritance issue for the Bash tool when using Git Bash within VSCode (a regression from v2.1.78).(v2.1.81)
- Fixed the `claude -p` command hanging when executed as a subprocess without explicit stdin.(v2.1.79)
- Fixed Ctrl+C not functioning correctly when using `claude -p` (print) mode.(v2.1.79)
- Fixed the `/btw` command incorrectly returning the main agent's output instead of answering the side question during streaming.(v2.1.79)
- Fixed voice mode failing to activate correctly on startup when `voiceEnabled: true` was configured.(v2.1.79)
- Fixed incorrect left/right arrow navigation behavior within the `/permissions` menu.(v2.1.79)
- Fixed the `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` environment variable failing to prevent the terminal title from being set on startup.(v2.1.79)
- Fixed custom status lines appearing blank when workspace trust settings were blocking them.(v2.1.79)
- Fixed enterprise users being unable to retry requests after encountering rate limit (429) errors.(v2.1.79)
- Fixed `SessionEnd` hooks failing to fire when using interactive `/resume` to switch between sessions.(v2.1.79)
- Fixed the thinking pill displaying "Thinking" instead of the actual thought duration after a response finished in VS Code.(v2.1.79)
- Fixed the session diff button being missing when opening sessions from the left sidebar in VS Code.(v2.1.79)
- Fixed `git log HEAD` failing with "ambiguous argument" inside sandboxed Bash on Linux, and stub files polluting `git status` in the working directory(v2.1.78)
- Fixed `cc log` and `--resume` silently truncating conversation history on large sessions (>5 MB) that used subagents(v2.1.78)
- Fixed infinite loop when API errors triggered stop hooks that re-fed blocking errors to the model(v2.1.78)
- Fixed `deny: ["mcp__servername"]` permission rules not removing MCP server tools before sending to the model, allowing it to see and attempt blocked tools(v2.1.78)
- Fixed `sandbox.filesystem.allowWrite` not working with absolute paths (previously required `//` prefix)(v2.1.78)
- Fixed `/sandbox` Dependencies tab showing Linux prerequisites on macOS instead of macOS-specific info(v2.1.78)
- Fixed silent sandbox disable when `sandbox.enabled: true` is set but dependencies are missing; now shows a visible startup warning(v2.1.78)
- Fixed `.git`, `.claude`, and other protected directories being writable without a prompt in `bypassPermissions` mode(v2.1.78)
- Fixed ctrl+u in normal mode scrolling instead of readline kill-line (ctrl+u/ctrl+d half-page scroll moved to transcript mode only)(v2.1.78)
- Fixed voice mode modifier-combo push-to-talk keybindings (e.g. ctrl+k) requiring a hold instead of activating immediately(v2.1.78)
- Fixed voice mode not working on WSL2 with WSLg (Windows 11); WSL1/Win10 users now get a clear error(v2.1.78)
- Fixed `--worktree` flag not loading skills and hooks from the worktree directory(v2.1.78)
- Fixed `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` and `includeGitInstructions` setting not suppressing the git status section in the system prompt(v2.1.78)
- Fixed Bash tool not finding Homebrew and other PATH-dependent binaries when VS Code is launched from Dock/Spotlight(v2.1.78)
- Fixed washed-out Claude orange color in VS Code/Cursor/code-server terminals that don't advertise truecolor support(v2.1.78)
- Fixed `ANTHROPIC_BETAS` environment variable being silently ignored when using Haiku models(v2.1.78)
- Fixed queued prompts being concatenated without a newline separator(v2.1.78)
- Fixed a brief flash of the login screen when opening the sidebar while already authenticated in VSCode(v2.1.78)
- Fixed "API Error: Rate limit reached" when selecting Opus in VSCode; model dropdown no longer offers 1M context variant to subscribers whose plan tier is unknown(v2.1.78)
- 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 deferred tools losing their input schemas after conversation compaction, which caused array and number parameters to be rejected with type errors(v2.1.76)
- Fixed slash commands incorrectly showing "Unknown skill"(v2.1.76)
- Fixed plan mode incorrectly asking for re-approval after the plan was already accepted(v2.1.76)
- Fixed voice mode swallowing keypresses while a permission dialog or plan editor was open(v2.1.76)
- Fixed `/voice` command not working on Windows when installed via npm(v2.1.76)
- Fixed spurious "Context limit reached" error when invoking a skill with `model:` frontmatter on a 1M-context session(v2.1.76)
- Fixed "adaptive thinking is not supported on this model" error when using non-standard model strings(v2.1.76)
- Fixed `Bash(cmd:*)` permission rules not matching when a quoted argument contains #(v2.1.76)
- Fixed "don't ask again" in the Bash permission dialog showing the full raw command for pipes and compound commands(v2.1.76)
- Fixed auto-compaction retrying indefinitely after consecutive failures by implementing a circuit breaker that stops after 3 attempts(v2.1.76)
- Fixed MCP reconnect spinner persisting after successful reconnection(v2.1.76)
- Fixed LSP plugins not registering servers when the LSP Manager initialized before marketplaces were reconciled(v2.1.76)
- Fixed clipboard copying in tmux over SSH by attempting both direct terminal write and tmux clipboard integration(v2.1.76)
- Fixed `/export` showing only the filename instead of the full file path in the success message(v2.1.76)
- Fixed transcript not auto-scrolling to new messages after selecting text(v2.1.76)
- Fixed Escape key not working to exit the login method selection screen(v2.1.76)
- Fixed several Remote Control issues, including sessions silently dying when the server reaps an idle environment, rapid messages being queued one-at-a-time instead of batched, and stale work items causing redelivery after JWT refresh(v2.1.76)
- Fixed bridge sessions failing to recover after extended WebSocket disconnects(v2.1.76)
- Fixed slash commands not being found when typing the exact name of a soft-hidden command(v2.1.76)
- [VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker(v2.1.76)
- 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 another cause of "command 'claude-vscode.editor.openLast' not found" crashes within VS Code.(v2.1.56)
- Fixed VS Code extension crash on Windows related to the command 'claude-vscode.editor.openLast' not being found.(v2.1.52)
- 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 Agent Teams teammates failing on Bedrock, Vertex, and Foundry by correctly propagating API provider environment variables to tmux-spawned processes.(v2.1.45)
- Resolved sandbox "operation not permitted" errors on macOS when writing temporary files by ensuring the correct per-user temp directory is used.(v2.1.45)
- Fixed a crash in the Task tool (backgrounded agents) caused by a `ReferenceError` upon task completion.(v2.1.45)
- Fixed autocomplete suggestions not being accepted via the Enter key when images have been pasted into the input field.(v2.1.45)
- Fixed skills invoked by subagents incorrectly appearing in the main session context after compaction.(v2.1.45)
- Fixed the accumulation of excessive `.claude.json.backup` files during every startup.(v2.1.45)
- Fixed plugin-provided commands, agents, and hooks not being available immediately after installation without requiring a full restart.(v2.1.45)
- Fixed VS Code terminal scroll-to-top regression introduced in 2.1.37(v2.1.38)
- Fixed Tab key queueing slash commands instead of autocompleting(v2.1.38)
- Fixed bash permission matching for commands using environment variable wrappers(v2.1.38)
- Fixed text between tool uses disappearing when not using streaming(v2.1.38)
- Fixed duplicate sessions when resuming in VS Code extension(v2.1.38)
- Fixed agent teammate sessions in tmux to send and receive messages correctly(v2.1.33)
- Fixed warnings about agent teams not being available on your current plan(v2.1.33)
- Fixed an issue where submitting a new message while the model was in extended thinking would interrupt the thinking phase(v2.1.33)
- Fixed an API error that could occur when aborting mid-stream, where whitespace text combined with a thinking block would bypass normalization and produce an invalid request(v2.1.33)
- Fixed API proxy compatibility issue where 404 errors on streaming endpoints no longer triggered non-streaming fallback(v2.1.33)
- Fixed an issue where proxy settings configured via `settings.json` environment variables were not applied to WebFetch and other HTTP requests on the Node.js build(v2.1.33)
- Fixed `/resume` session picker showing raw XML markup instead of clean titles for sessions started with slash commands(v2.1.33)
- VSCode: Fixed scroll-to-bottom under-scrolling on initial session load and session switch(v2.1.33)
- Fixed incorrect relative paths shown by @ file completion when running the tool from a subdirectory(v2.1.32)
- Fixed Bash tool throwing "Bad substitution" errors when heredocs contained JavaScript template literals like `${index + 1}`, preventing tool execution(v2.1.32)
- Fixed Thai/Lao spacing vowels (สระ า, ำ) not rendering correctly in the input field(v2.1.32)
- Fixed VSCode issue where slash commands were incorrectly executed when pressing Enter with preceding text in the input field(v2.1.32)
- Fixed phantom "(no content)" text blocks appearing in API conversation history, which reduced token waste and potential model confusion.(v2.1.30)
- Fixed prompt cache not correctly invalidating when tool descriptions or input schemas changed (it previously only invalidated when tool names changed).(v2.1.30)
- Fixed 400 errors that could occur after running `/login` when the conversation contained thinking blocks.(v2.1.30)
- Fixed a hang that occurred when resuming sessions with corrupted transcript files containing `parentUuid` cycles.(v2.1.30)
- Fixed rate limit message showing an incorrect "/upgrade" suggestion for Max 20x users when extra-usage is unavailable.(v2.1.30)
- Fixed permission dialogs stealing focus while the user was actively typing.(v2.1.30)
- Fixed subagents being unable to access SDK-provided MCP tools because they were not synced to the shared application state.(v2.1.30)
- Fixed a regression where Windows users with a `.bashrc` file could not run bash commands.(v2.1.30)
- Fixed duplicate sessions appearing in the VSCode session list when starting a new conversation.(v2.1.30)
- Fixed crashes occurring on processors that lack AVX instruction support.(v2.1.19)
- Fixed dangling Claude Code processes when the terminal is closed by implementing SIGKILL as a fallback upon catching EIO errors from `process.exit()`. (v2.1.19)
- Fixed `/rename` and `/tag` commands failing to update the correct session when resuming from a different directory (e.g., git worktrees).(v2.1.19)
- Fixed session resuming by custom title failing when executed from a different directory.(v2.1.19)
- Fixed pasted text content being lost when using prompt stash (Ctrl+S) and subsequent restore.(v2.1.19)
- Fixed the agent list incorrectly displaying "Sonnet (default)" instead of "Inherit (default)" for agents without an explicit model setting.(v2.1.19)
- Fixed backgrounded hook commands not returning early, which previously caused the session to wait unnecessarily.(v2.1.19)
- Fixed file write preview incorrectly omitting empty lines.(v2.1.19)
- 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 regression where the context window blocking limit was calculated too aggressively, allowing usage up to ~98% instead of ~65%(v2.1.14)
- Fixed memory issues that could cause crashes when running parallel subagents(v2.1.14)
- Fixed memory leak in long-running sessions where stream resources were not cleaned up after shell commands completed(v2.1.14)
- Fixed the @ symbol incorrectly triggering file autocomplete suggestions in bash mode(v2.1.14)
- Fixed @-mention menu folder click behavior to correctly navigate into directories instead of selecting them(v2.1.14)
- Fixed /feedback command generating invalid GitHub issue URLs when the description is very long(v2.1.14)
- Fixed /context command to display the same token count and percentage as the status line in verbose mode(v2.1.14)
- Fixed an issue where /config, /context, /model, and /todos command overlays could close unexpectedly(v2.1.14)
- Fixed slash command autocomplete selecting the wrong command when typing similar commands (e.g., /context vs /compact)(v2.1.14)
- Fixed inconsistent back navigation in the plugin marketplace when only one marketplace is configured(v2.1.14)
- Fixed iTerm2 progress bar not clearing properly on exit, preventing lingering indicators and bell sounds(v2.1.14)
- Fixed a security vulnerability where wildcard permission rules could incorrectly match compound commands containing shell operators.(v2.1.7)
- Fixed false "file modified" errors occurring on Windows due to cloud sync tools or antivirus scanners touching file timestamps without content changes.(v2.1.7)
- Fixed orphaned `tool_result` errors when sibling tools failed during streaming execution.(v2.1.7)
- Fixed context window blocking limit calculation to use the effective context window (reserving space for max output tokens) instead of the full context window.(v2.1.7)
- Fixed a visual glitch where the spinner briefly flashed when running local slash commands like `/model` or `/theme`.(v2.1.7)
- Fixed terminal title animation jitter by utilizing fixed-width braille characters.(v2.1.7)
- Fixed plugins with git submodules not being fully initialized upon installation.(v2.1.7)
- Fixed bash commands failing on Windows when temporary directory paths contained characters like `t` or `n` that were misinterpreted as escape sequences.(v2.1.7)
- [VSCode] Fixed an issue where the `claudeProcessWrapper` setting was incorrectly passing the wrapper path instead of the Claude binary path.(v2.1.7)
- Fixed permission bypass via shell line continuation that could allow blocked commands to execute.(v2.1.6)
- Fixed false "File has been unexpectedly modified" errors when file watchers touch files without changing content.(v2.1.6)
- Fixed text styling (bold, colors) getting progressively misaligned in multi-line responses.(v2.1.6)
- Fixed the feedback panel closing unexpectedly when typing 'n' in the description field.(v2.1.6)
- Fixed rate limit warning appearing at low usage after weekly reset (now requires 70% usage).(v2.1.6)
- Fixed rate limit options menu incorrectly auto-opening when resuming a previous session.(v2.1.6)
- Fixed numpad keys outputting escape sequences instead of characters in Kitty keyboard protocol terminals.(v2.1.6)
- Fixed Option+Return not inserting newlines in Kitty keyboard protocol terminals.(v2.1.6)
- Fixed corrupted config backup files accumulating in the home directory (now only one backup is created per config file).(v2.1.6)
- Fixed mcp list and mcp get commands leaving orphaned MCP server processes.(v2.1.6)
- Fixed visual artifacts in ink2 mode when nodes become hidden via display:none.(v2.1.6)
- [VSCode] Fixed usage indicator not updating after manual compact.(v2.1.6)
- Fixed plan files persisting across `/clear` commands, ensuring a fresh plan file is used after clearing a conversation.(v2.1.3)
- Fixed false skill duplicate detection on filesystems with large inodes (e.g., ExFAT) by implementing 64-bit precision for inode values.(v2.1.3)
- Fixed mismatch between the background task count displayed in the status bar and the items shown in the tasks dialog.(v2.1.3)
- Fixed sub-agents using the incorrect model during conversation compaction.(v2.1.3)
- Fixed web search in sub-agents using the incorrect model.(v2.1.3)
- Fixed trust dialog acceptance when running from the home directory, ensuring trust-requiring features like hooks are enabled for the session.(v2.1.3)
- 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)
- Fixed an issue where the skill's `allowed-tools` configuration was not being applied to tools invoked by that skill(v2.0.74)
- Resolved an issue where the Opus 4.5 tip was incorrectly displayed to users already running Opus(v2.0.74)
- Fixed a potential crash scenario that occurred when syntax highlighting failed to initialize properly(v2.0.74)
- Fixed a visual bug in /plugins discover where the list selection indicator remained visible while the search box was focused(v2.0.74)
- Fixed macOS keyboard shortcuts to correctly display 'opt' instead of 'alt'(v2.0.74)
- Fixed slow input history cycling and a race condition that could overwrite text after message submission(v2.0.73)
Releases with VSCODE 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.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.2365 features19 fixesThis release introduces new environment variables for default model selection and cross-session notifications on macOS and Linux. Several bugs have been fixed, including issues with file deletion, fullscreen rendering, model picker display, and subprocess failures. Performance and auto mode have been improved, with clearer model selection highlighting and better handling of git status and cloud environment classifications.
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.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.216v2.1.212v2.1.211v2.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.2034 features26 fixesThis release focuses heavily on stabilizing and fixing numerous issues related to background agents, particularly around session state, path inheritance, and worktree isolation. New features include an expiration warning for user logins and improved visibility for manual permission mode. Performance is also improved with reduced binary size and better responsiveness during long response streaming.
v2.1.2001 feature12 fixesThis release focuses heavily on stabilizing background agent operations, fixing numerous issues related to session stalling, daemon handovers, and roster corruption. Additionally, it introduces improved accessibility support for screen readers and refines default permission handling across the tool suite.
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.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.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.1798 fixesThis release focuses heavily on stability and usability, fixing numerous bugs related to connection handling, UI focus, and session state management. Key fixes include preserving partial responses during mid-stream connection drops and resolving a critical scrolling regression in WSL2 environments.
v2.1.1782 features13 fixesThis release introduces granular permission control using tool parameters and improves skill loading in nested project structures. Numerous critical bugs have been fixed, including issues with authentication tokens, subagent transcript viewing, and background session state management. Usability is enhanced through clearer error messages, improved auto-mode safety checks, and refined workflow prompt detection.
v2.1.1742 features10 fixesThis release introduces a new setting to control mouse-wheel scroll acceleration in fullscreen mode and enhances usage transparency by adding detailed attribution breakdowns to the VSCode Account & usage dialog. Several critical bugs were fixed, including issues with model selection display, background session environment inheritance, and authentication failures for idle workers.
v2.1.1723 features18 fixesThis release introduces significant hierarchical agent capabilities, allowing sub-agents to spawn nested sub-agents up to five levels deep. Numerous bug fixes address stability issues related to 1M context sessions, model selection across various interfaces, and background agent operations. Performance has also been improved, particularly in long conversations and reducing idle CPU consumption.
v2.1.1701 feature1 fixThis release introduces Claude Fable 5, a powerful new Mythos-class model, accessible by updating to version 2.1.170. A critical bug affecting session saving and resumption when launched from integrated terminals or specific shell environments has also been resolved.
v2.1.1694 features15 fixesThis release introduces new configuration options for troubleshooting and managing bundled skills, including a new --safe-mode flag and a setting to disable built-in commands. Several critical bugs were fixed, particularly around MCP policy enforcement, UI responsiveness on macOS and Windows, and agent session management. Performance has also been improved with reduced CPU usage during streaming and better handling of long input lines.
v2.1.1665 features13 fixesThis release introduces robust fallback model support, allowing sessions to automatically retry on secondary models when the primary API endpoint is overloaded. Security has been enhanced through hardened cross-session messaging, and several critical bugs affecting terminal input, remote sessions, and managed settings have been resolved. Additionally, glob pattern support has been added to tool deny rules for more flexible configuration.
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.1445 features46 fixesThis release significantly enhances background session management, introducing support for resuming sessions via /resume and displaying elapsed durations on completion. Numerous fixes address stability, particularly around terminal rendering, file handling errors, and background session crashes on macOS and Windows. Users will also notice improved feedback regarding plugin installation and clearer error messages for configuration issues.
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.1397 features32 fixesThis release introduces powerful new session management features, including the Agent View and the `/goal` command for setting persistent completion conditions. Numerous bug fixes address stability, UI rendering issues across different themes and terminals, and improved reliability for plugin management and MCP connections. Users can now better manage sessions and control Claude's execution flow.
v2.1.1371 fixThis release focuses on stability, specifically addressing an issue where the VSCode extension was failing to activate correctly on Windows systems. Users on Windows should now experience reliable extension startup.
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.1335 features10 fixesThis release introduces new configuration options for controlling worktree branching behavior and specifying sandbox binary paths on Linux/WSL. Several critical bugs have been resolved, including issues with parallel session authentication, permission checks on mapped drives, and inconsistent effort level propagation across concurrent sessions. Memory usage has also been improved by better managing background workers.
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.1312 fixesThis release focuses on resolving critical stability and connectivity issues. Key fixes include resolving the VS Code extension activation failure on Windows and correcting an authentication error for the Mantle endpoint.
v2.1.1296 features17 fixesThis release introduces new ways to manage plugins via URL, adds environment variables for forcing synchronized terminal output, and improves history search defaults. Several critical bugs related to session state, API error reporting, and cache TTLs have also been resolved.
v2.1.1265 features21 fixesThis release introduces a powerful new `claude project purge` command for cleaning up project state and enhances model discovery by supporting Anthropic-compatible gateways in the model picker. Several critical bugs related to OAuth timeouts, image pasting, and stream idle errors have been resolved, improving overall stability and login reliability.
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.1166 features13 fixesThis release focuses heavily on performance and stability, bringing significant speedups to resuming large sessions and improving terminal interaction, especially for Indic scripts and Kitty keyboard protocol users. New features include inline thinking progress indicators and enhanced search capabilities within the `/config` command. Several bugs related to terminal scrolling, session loading, and plugin management have also been resolved.
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.989 features38 fixesThis release introduces significant security and configuration enhancements, including an interactive Vertex AI setup wizard and new subprocess sandboxing features for Linux. Numerous bug fixes address critical issues related to Bash command permissions, streaming response fallbacks, and configuration overrides across various modes like fullscreen and resume.
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.862 features16 fixesThis release focuses heavily on stability and efficiency, fixing numerous bugs related to session handling, file operations, and UI responsiveness across various platforms. Key improvements include reduced token overhead for file mentions and better performance during startup when many connectors are configured.
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.812 features18 fixesThis release introduces a new --bare flag for scripted calls and enables channel servers to relay tool approval prompts directly to your phone. Several critical bugs were fixed, including issues with OAuth token refreshing across concurrent sessions, voice mode error handling, and various race conditions affecting background tasks and clipboard operations. Performance and UX have also been improved, particularly around plugin updates and Remote Control session management.
v2.1.794 features11 fixesThis release introduces new authentication options for API billing and a `/remote-control` feature in VS Code to bridge sessions to the web interface. Several critical bugs have been resolved, including fixes for subprocess hanging, Ctrl+C in print mode, and issues with voice activation and session hook firing. Performance improvements include reduced startup memory usage and better handling of non-streaming API fallbacks.
v2.1.785 features19 fixesThis release introduces several new developer capabilities, including a `StopFailure` hook and persistent plugin state via the `${CLAUDE_PLUGIN_DATA}` variable. Users will benefit from line-by-line response streaming and significant fixes addressing issues with sandboxing, tool permissions, and conversation history truncation. Performance has also been improved for resuming large 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.767 features20 fixesThis release introduces significant new capabilities, including MCP elicitation support for structured mid-task input and new developer hooks for response interception. Numerous bugs have been resolved across areas like slash commands, voice mode, and session management, alongside performance improvements for `--worktree` startup and better handling of background agents.
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.561 fixThis release focuses on stability within the VS Code extension. The primary update is a fix addressing crashes related to the 'claude-vscode.editor.openLast' command.
v2.1.521 fixThis release focuses on stability for VS Code users on Windows. A critical bug causing the extension to crash when attempting to execute the 'claude-vscode.editor.openLast' command has been resolved.
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.453 features7 fixesThis release introduces support for the new Claude Sonnet 4.6 model and adds significant customization options, including the ability to override spinner tips. Several critical bugs were fixed, particularly around Agent Teams stability on various providers and resolving temporary file permission errors on macOS.
v2.1.385 fixesThis release focuses primarily on stability and correctness, addressing several bugs related to terminal scrolling, command handling with the Tab key, and session management within the VS Code extension. Users will also benefit from improved parsing for heredoc delimiters and enhanced security by blocking writes to the skills directory in sandbox mode.
v2.1.335 features8 fixesThis release introduces significant enhancements for multi-agent workflows, including persistent memory support via new frontmatter fields and better control over sub-agent spawning. Key bug fixes address issues with tmux sessions, API streaming errors, and proxy configuration reliability. VSCode users benefit from new session management features, including remote session browsing and improved session picker visibility.
v2.1.324 features4 fixesThis release introduces the research preview agent teams feature for multi-agent collaboration and enables Claude to automatically record and recall memories. Users can now also summarize partial conversations using the new "Summarize from here" option. Several bugs related to file completion, Bash tool execution with template literals, and Thai/Lao character rendering have also been resolved.
v2.1.308 features9 fixesThis release introduces significant enhancements to the Read tool, allowing specific page ranges for PDFs and returning lightweight references for very large documents. Key fixes address issues with phantom content in API history and session corruption hangs. Additionally, new debugging tools and improved memory management for session resumption enhance overall stability and usability.
v2.1.194 features8 fixesThis release introduces new shorthand argument accessors (`$0`, `$1`) for custom commands and enables session forking/rewind in VSCode for all users. Several critical bugs were resolved, including crashes on older processors and issues with session resumption across different directories.
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.144 features11 fixesThis release introduces significant quality-of-life improvements, including history-based autocomplete for bash and search functionality for installed plugins. Several critical bugs were resolved, notably fixing an overly aggressive context window blocking limit and addressing memory leaks in long-running sessions.
v2.1.72 features9 fixesThis release introduces new configuration options, including the ability to hide turn duration messages and an improved default behavior for managing large tool sets via MCP search auto mode. Several critical bugs were fixed, addressing security vulnerabilities, false file modification errors on Windows, and issues related to context window calculation and command execution.
v2.1.66 features12 fixesThis release introduces several new command-line utilities, including search for /config and date range filtering for /stats, alongside automatic skill discovery in subdirectories. Numerous bugs have been resolved, particularly concerning terminal input handling (numpad, Option+Return) and stability issues with rate limit warnings and configuration backups. The user experience is also enhanced with improved task dialogs and better context window visibility.
v2.1.32 features6 fixesThis release simplifies the user experience by merging slash commands and skills and introduces a new configuration option to select the release channel ('stable' or 'latest'). Several critical bugs were fixed, including issues with plan file persistence after clearing conversations and incorrect model usage in sub-agents. Additionally, VS Code users gain more control over permission saving destinations.
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.
v2.0.744 features5 fixesThis release introduces significant code intelligence capabilities with the addition of LSP support for features like go-to-definition and hover documentation. Several key bugs have been resolved, including fixes for tool invocation permissions and stability issues related to syntax highlighting initialization. Users will also benefit from improved context command visualization and expanded terminal setup options.
v2.0.735 features1 fixThis release introduces several new quality-of-life features, including clickable image links and enhanced kill ring cycling. Users will also benefit from improved search experiences across various screens and better visual feedback via new tab icon badges in VS Code. A critical bug related to input history overwriting text has also been resolved.