AIWhat changed in AI?
Back home

Product updates

Claude Code

Version changes and fixes for Claude Code CLI.

RSS ↗
Latest official version
2.1.207
Last successful fetch
Jul 12, 2026, 5:22 PM

Timeline

Updates from the last 30 days

Claude Code 2.1.207

Jul 11, 20262.1.207Update soon

- Auto mode is now available without `CLAUDE_CODE_ENABLE_AUTO_MODE` opt-in on Bedrock, Vertex AI, and Foundry; disable via `disableAutoMode` in settings - Fixed the terminal freezing and keystrokes lagging while streaming responses containing very long lists, tables, paragraphs, or code blocks - Fixed remote managed settings from a non-interactive run (`clau…

Read the official text
- Auto mode is now available without `CLAUDE_CODE_ENABLE_AUTO_MODE` opt-in on Bedrock, Vertex AI, and Foundry; disable via `disableAutoMode` in settings - Fixed the terminal freezing and keystrokes lagging while streaming responses containing very long lists, tables, paragraphs, or code blocks - Fixed remote managed settings from a non-interactive run (`claude -p`, the SDK) being permanently recorded as consented without ever showing the security consent dialog - Fixed spurious prompt-injection warnings triggered by benign system-generated conversation updates - Fixed the auto-updater overwriting a custom launcher script or symlink at `~/.local/bin/claude` on every release; `/doctor` now reports an externally managed launcher - Fixed compound commands with `cd` prompting for permission when the only output redirect was to `/dev/null` - Fixed the transcript jumping above the start of the answer when a response finishes streaming - Fixed `extensions.worktreeConfig` being left in the repo's `.git/config` (breaking go-git tools like `tea`) after the last `worktree.sparsePaths` worktree was removed - Fixed malformed bracket patterns in rules globs, skill paths, `.ignore`, and `.worktreeinclude` breaking file reads, file suggestions, and worktree creation - Fixed a crash loop in agent teams where a malformed teammate mailbox message caused repeated errors every second until the mailbox file was manually deleted - Fixed background sessions auto-named by accepting a plan not showing that name on their agent-view row - Fixed background sessions that entered a git worktree resuming blank after a cold reopen from the agent list - Fixed Remote Control task status updates being lost when the connection recovered from a network interruption or credential refresh - Fixed Remote Control sessions hosted by the desktop app not showing background agent and workflow progress on mobile and web - Fixed Deep research runs labeling every Fetch-phase agent "unknown" — chips now show the source hostname - Fixed Bedrock repeatedly requesting fresh AWS SSO credentials from IAM Identity Center on every API request - Improved agent view: pasting the same text again now expands the collapsed `[Pasted text #N]` placeholder instead of adding a second one - Improved agent view: blocked session peeks now lead with the question and show a worded staleness clock (`waiting 3m`) instead of the same timestamp twice - Changed Bedrock, Vertex, and Claude Platform on AWS to default to Claude Opus 4.8 - Changed auto mode to no longer read `autoMode` from `.claude/settings.local.json` (repo-resident); use `~/.claude/settings.json` instead - Fixed an indefinite hang on Windows when AWS credential resolution stalls (e.g. a stuck `credential_process`): the 60-second stall guard now fires instead of waiting forever. - Plugin hooks/monitors/MCP headersHelper: `${user_config.*}` in shell-form commands is now rejected (shell-injection fix). Hooks: use exec form (`args` array) or `$CLAUDE_PLUGIN_OPTION_<KEY>`; monitors and headersHelper: read the value inside the script (config file or the server's `env` block). - Plugin option values (`pluginConfigs`) are no longer read from project-level `.claude/settings.json`; only user, `--settings`, and managed settings are honored - Fixed `/usage-credits` amount inputs silently stripping malformed values (e.g. a pasted timestamp) to digits; malformed amounts are now rejected with an error, and amounts over $1,000 require a typed confirmation
Official source

Claude Code 2.1.206

Jul 10, 20262.1.206Update soon

- Added directory path suggestions to `/cd`, matching `/add-dir` behavior - Added a `/doctor` check that proposes trimming checked-in `CLAUDE.md` files by cutting content Claude could derive from the codebase - `/commit-push-pr` now auto-allows `git push` to the repo's configured push remote (`remote.pushDefault`, or the sole remote when only one is configur…

Read the official text
- Added directory path suggestions to `/cd`, matching `/add-dir` behavior - Added a `/doctor` check that proposes trimming checked-in `CLAUDE.md` files by cutting content Claude could derive from the codebase - `/commit-push-pr` now auto-allows `git push` to the repo's configured push remote (`remote.pushDefault`, or the sole remote when only one is configured) in addition to `origin` - Gateway: `/login` now supports Anthropic-operated public gateway endpoints - `EnterWorktree` now asks for confirmation before entering a git worktree outside the project's `.claude/worktrees/` directory - Background agents now upgrade to a new version in the background right after a Claude Code update, instead of paying a slow stale-session upgrade when you attach - Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run `/login` - Fixed `claude --resume` and `--continue` not responding to keyboard input on startup - Fixed MCP servers configured via `--mcp-config` or `.mcp.json` ignoring a per-server `request_timeout_ms`, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions - Fixed `CLAUDE_CODE_EXTRA_BODY` being silently ignored by `claude agents` / `--bg` background workers; the shell-exported override now follows the dispatching session - Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh - Fixed `--permission-prompt-tool` pointing at an MCP server crashing with "MCP tool not found" on cold start before the server finishes connecting - Fixed `/model` picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them - Fixed server-provided model rows being misplaced in the `/model` picker when an entitlement or allowlist restriction drops the row they were positioned against - Fixed desktop sessions getting stuck showing "running" after a slash command was sent mid-turn - Fixed keyboard input being ignored in the agents view when a setup prompt appeared before a bare `claude --resume` on Windows - Fixed `claude rm` leaving the removed job in the daemon roster, causing the row to reappear in `claude agents` - Fixed `/remote-control` showing "Unknown command" when logged out — it now explains how to sign in - Fixed left arrow not stepping back out of a phase or agent in the workflow detail view - Fixed `/status` listing the same broken-install warning twice - Fixed false "disused plugin" tips and skewed disuse telemetry for LSP plugins - Fixed `/doctor`'s update check to compare Homebrew installs against their cask's channel instead of the settings channel - Fixed the fullscreen jump-to-bottom pill suggesting Ctrl+End on macOS, not showing rebound chords, and wrapping over the transcript - Bedrock: fixed a multi-minute startup hang when using an `awsCredentialExport` helper on networks with restricted egress - Improved `/code-review` findings quality on claude-opus-4-8 across all effort levels - Improved agents view: status column now uses full terminal width instead of truncating at 64 characters - Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice; deleted background jobs stay deleted
Official source

Claude Code 2.1.205

Jul 9, 20262.1.205Update soon

- Added an auto mode rule that blocks tampering with session transcript files - Fixed `--json-schema` silently producing unstructured output when the schema was invalid, and schemas using the `format` keyword being rejected - Fixed a message sent while Claude was working being silently lost when the turn ended at the `--max-turns` limit - Fixed Windows workt…

Read the official text
- Added an auto mode rule that blocks tampering with session transcript files - Fixed `--json-schema` silently producing unstructured output when the schema was invalid, and schemas using the `format` keyword being rejected - Fixed a message sent while Claude was working being silently lost when the turn ended at the `--max-turns` limit - Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it - Fixed background agents staying shown as "failed" or "completed" in the agent list after being resumed with `SendMessage` - Fixed background jobs flipping from "needs input" back to "working" in the agent list when the agent's turn contained no readable text - Fixed `claude attach` erroring when a background agent was mid-upgrade restart instead of waiting for it to come back - Fixed session-to-PR linking missing a PR created in a Bash call whose output exceeded the 30K inline limit - 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 - Fixed a plugin LSP server that fails to initialize preventing a valid LSP server from another plugin handling the same file extension - Fixed a Windows crash when the directory Claude was launched from is deleted, locked, or unmounted while a command is running - Fixed a crash when a file watcher was closed while a directory scan was still in flight - Fixed project verify skills being rewritten on every session instead of only when a documented command changed - Fixed the agent view rendering one line too high and clipping its header when the job list slightly overflowed the screen - Fixed background tasks in the web and mobile Remote Control panels showing stale "Running" status by forwarding full task state on every membership change - Improved auto mode to ask before running `rm -rf` on a variable it can't resolve from context - Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB - Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on - Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in `claude agents` - Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions - `/doctor` is now a full setup checkup that can diagnose and fix issues; `/checkup` is its alias - Reserved the "Claude Browser" MCP server name (alongside "Claude Preview") ahead of the Claude Desktop pane rename; user-configured MCP servers can no longer register under either name - Fixed Cowork VM-mode local-agent sessions failing to start with "Not logged in · Please run /login" on CLI 2.1.203+
Official source

Claude Code 2.1.204

Jul 8, 20262.1.204Optional

- Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook

Read the official text
- Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook
Official source

Claude Code 2.1.203

Jul 8, 20262.1.203Update soon

- Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted - Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible - Added the session's additional working directories to MCP `roots/list`, with `notifications/roots/list_changed` sent when the s…

Read the official text
- Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted - Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible - Added the session's additional working directories to MCP `roots/list`, with `notifications/roots/list_changed` sent when the set changes - Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196) - Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically - Fixed returning to `claude agents` silently stopping running subagents and re-running the prompt from scratch — their work now carries over - Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn - Fixed background agents inheriting a stale `PATH` from the daemon instead of the dispatching shell, causing missing tools on Windows - Fixed background and agent-view sessions dropping a shell-exported `ANTHROPIC_BASE_URL`, which sent API keys to the default endpoint and failed with 401 - Fixed Bash failing with "argument list too long" in repos with many git worktrees - Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree - Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit - 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 - Fixed a background daemon auto-upgrade failure silently killing all running background sessions - Fixed `TaskStop` and `TaskOutput` failing to find background agents spawned by another agent — errors now list running agents by id and description - Fixed the `claude agents` composer discarding your typed message when a slash command isn't available there - Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session - Fixed background sessions showing "Needs input" in the agent list after the question was already answered - Fixed background agent startup failures showing only "exit_with_message" instead of the actual error - Fixed background sessions ignoring `effortLevel` changes in settings.json when forked through the daemon - Fixed attached background sessions ignoring `CLAUDE_CODE_DISABLE_MOUSE` and `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` opt-outs - Fixed `/exit` incorrectly warning about running background agents after all named agents had completed - Fixed background sessions started from a non-git directory unable to edit files when a `WorktreeCreate` hook was configured - Fixed the `@` directory picker in `claude agents` not showing registered git worktrees - Fixed background task output on Windows being permanently replaced by an empty file after `/clear` - Fixed content jumping when scrolling up through long transcript history - Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown - Fixed literal `^[[I` / `^[[O` escape codes being printed when reattaching to a background session - Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests - Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen - Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent - Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it - Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead - Changed the empty `claude agents` view to always show the organized sections (Needs input / Working / Completed) with descriptions - Removed the startup "claude command missing or broken" warnings — they now appear in `/doctor` and `/status` instead - Removed a redundant navigation hint from the `claude agents` footer - [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"
Official source

Claude Code 2.1.202

Jul 7, 20262.1.202Recommended

- Added a "Dynamic workflow size" setting in `/config` for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap - Added `workflow.run_id` and `workflow.name` OpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be rec…

Read the official text
- Added a "Dynamic workflow size" setting in `/config` for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap - Added `workflow.run_id` and `workflow.name` OpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be reconstructed from OTel data - Fixed a crash in the inline Ctrl+R history search when accepting or cancelling while the search was still scanning the history file - Fixed `/rename` on background sessions being reverted when the job restarts, which broke addressing the session by its new name - Fixed transient mTLS handshake failures when settings were re-applied during an in-place client certificate rotation - Fixed commands sent from Remote Control (mobile/web) into an interactive session failing with "Unknown command" - Fixed images and files sent from the Remote Control mobile or web app without a caption being silently dropped - Fixed the sign-in URL printed by `claude auth login` and `claude mcp login --no-browser` not being reliably clickable when it wraps over SSH — it is now emitted as a single hyperlink - Fixed opening a chat from `claude agents` sometimes failing with "currently running as a background agent" followed by a worker crash/respawn loop - Fixed workflow scripts with unicode quote escapes in strings being corrupted before parsing; workflow parse errors now show the offending line instead of always blaming TypeScript - Fixed voice dictation retrying in an unbounded loop when the microphone or audio recorder fails — repeated capture failures now pause voice input - Fixed `/remote-control` sessions showing the wrong permission mode in the mobile and web apps - Fixed resuming a session by name, or opening the resume picker, taking minutes and using a large amount of memory in repositories with many git worktrees - Fixed installer and updater downloads failing immediately with "aborted" when a proxy or network drops the connection mid-download — transient connection drops now retry - Fixed re-invoking an already-loaded skill appending a duplicate copy of its instructions to context - Improved `/workflows` agent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts - Improved MCP error messages: clearer error when a server config has `url` but no `type`, suggesting `"type": "http"` instead of the misleading "command: expected string" - Changed `/review <pr>` back to a fast single-pass review; use `/code-review <level> <pr#>` for the multi-agent review at a chosen effort level
Official source

Claude Code 2.1.201

Jul 4, 20262.1.201Optional

- Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders

Read the official text
- Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders
Official source

Claude Code 2.1.200

Jul 3, 20262.1.200Recommended

- Changed `AskUserQuestion` dialogs to no longer auto-continue by default; opt into an idle timeout via `/config` - Changed the "default" permission mode to "Manual" across the CLI, `--help`, VS Code, and JetBrains; `--permission-mode manual` and `"defaultMode": "manual"` are accepted alongside `default` - Fixed a crash at startup when `disabledMcpServers` o…

Read the official text
- Changed `AskUserQuestion` dialogs to no longer auto-continue by default; opt into an idle timeout via `/config` - Changed the "default" permission mode to "Manual" across the CLI, `--help`, VS Code, and JetBrains; `--permission-mode manual` and `"defaultMode": "manual"` are accepted alongside `default` - Fixed a crash at startup when `disabledMcpServers` or `enabledMcpServers` in `.claude.json` is set to a non-array value - Fixed background sessions silently stopping mid-turn after sleep/wake or when reopening a stalled session - Fixed background sessions re-running a turn cancelled with Esc after a stall respawn - Fixed background agents never starting again after a crash left a stale `daemon.lock` whose PID the OS reused - Fixed background-agent daemon handover so a reinstalled older build can no longer take over the daemon; build recency is now judged by the version's embedded build timestamp - Fixed background-agent roster issues: transient corruption permanently disabling orphan cleanup, older binaries not preserving fields written by newer versions, and socket auth tokens being stripped during daemon restarts - Fixed subagents cut off by a rate limit before producing any text output returning an empty result instead of failing cleanly - Fixed control bytes from background-agent output reaching the terminal in the agent view - Fixed `claude agents --plugin-dir <dir>` not showing the plugin's agents and skills in the agent view when the flag is placed after `agents` - Fixed project-scoped plugins not loading correctly from git worktrees of the same repository - Fixed `/mcp` server list not tracking focus for screen readers and magnifiers - Fixed voice dictation showing a misleading "Voice connection failed" message when a recording captures no audio - Fixed rendering flicker under tmux 3.4+ by enabling synchronized terminal output - Improved screen-reader output: decorative glyphs are now hidden, transcript symbols read as short labels, and nested tables read as `Header: value.` lines - Improved the install script to explain when installation is killed by the system running out of memory
Official source

Claude Code 2.1.199

Jul 3, 20262.1.199Update soon

- Stacked slash-skill invocations like `/skill-a /skill-b do XYZ` now load all leading skills (up to 5), not just the first - Fixed SSL certificate errors (TLS-inspecting proxies, missing `NODE_EXTRA_CA_CERTS`, expired certs) burning retries before showing actionable guidance — they now fail immediately with the fix hint - Fixed streaming responses being dis…

Read the official text
- Stacked slash-skill invocations like `/skill-a /skill-b do XYZ` now load all leading skills (up to 5), not just the first - Fixed SSL certificate errors (TLS-inspecting proxies, missing `NODE_EXTRA_CA_CERTS`, expired certs) burning retries before showing actionable guidance — they now fail immediately with the fix hint - Fixed streaming responses being discarded when the API emits a mid-stream overloaded/server error after partial output — the partial is now kept with an incomplete-response notice - Fixed subagents cut off by a rate limit or server error silently failing instead of returning their partial work to the parent - Fixed subagents reporting API errors (e.g. usage limit reached) as successful results — the error is now reported to the parent agent - Fixed the background-agent daemon on Linux killing itself and every running agent every ~50 seconds after an unclean shutdown left a corrupted worker record - Fixed background agents failing to cold-start over SSH on macOS with "Could not switch to audit session" (regression in 2.1.196) - Fixed `claude stop` being silently undone when it raced a background-agent respawn — the respawn now honors the stop - Fixed background job progress indicators stalling for minutes while the job ran long commands - Fixed background sessions on memory-starved machines showing a generic error — they now indicate low memory and suggest freeing resources - Fixed remote sessions briefly flapping between Working and Idle in the agent view when a background agent completes - Fixed idle subagents vanishing from the agent panel while other subagents were still working; surplus idle agents now collapse into an expandable summary row - Fixed typing `/model` or `/fast` while viewing a subagent silently opening the lead's model picker — a notice now explains the command applies to the lead - Fixed `SessionStart`, `Setup`, and `SubagentStart` hooks silently hiding stderr when exiting with code 2 — the error is now shown in the transcript - Fixed `claude --dangerously-skip-permissions daemon <subcommand>` being treated as a chat prompt instead of running the subcommand - Fixed `SendMessage` silently misrouting when a re-spawned agent reuses a previous agent's name — the tool now detects the mismatch and asks the caller to retarget - Fixed opening or resuming a session with no new messages needlessly growing the transcript file - Fixed backgrounding a session with `←` or `/background` dropping its `/color` from the agent view row - Fixed resetting a corrupted config file from the startup recovery dialog destroying it unrecoverably — it now backs up the file first - Fixed Claude in Chrome repeatedly opening the reconnect page when sessions run from different builds or config directories - Fixed plan mode not prompting for state-changing browser tool calls; read-only `browser_batch` calls are now correctly auto-allowed - Transient server rate-limit errors (429s unrelated to your usage limit) are now retried automatically with backoff for subscribers instead of failing the turn - `CLAUDE_CODE_RETRY_WATCHDOG` now raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 on `CLAUDE_CODE_MAX_RETRIES` - `claude agents` session rows now show pull-request links as bare `#N` without the redundant "PR" label
Official source

Claude Code 2.1.198

Jul 2, 20262.1.198Recommended

- Subagents now run in the background by default, so Claude keeps working while they run and is notified when they finish (previously a gradual rollout) - Claude in Chrome is now generally available - Added background agent notifications in `claude agents` — sessions that need input or finish now fire the `Notification` hook (`agent_needs_input` / `agent_com…

Read the official text
- Subagents now run in the background by default, so Claude keeps working while they run and is notified when they finish (previously a gradual rollout) - Claude in Chrome is now generally available - Added background agent notifications in `claude agents` — sessions that need input or finish now fire the `Notification` hook (`agent_needs_input` / `agent_completed`) - Added `/dataviz` skill for chart and dashboard design guidance with a runnable color-palette validator - Gateway: added Claude Platform on AWS (anthropicAws) as an upstream provider; model-not-found responses now advance the failover chain - Background agents launched from `claude agents` now commit, push, and open a draft PR when they finish code work in a worktree, instead of stopping to ask - The built-in Explore agent now inherits the main session's model (capped at opus) instead of running on haiku - Subagents and context compaction now inherit the session's extended thinking configuration, improving output quality on delegated tasks - Fixed brief network drops mid-response aborting the turn — transient errors like ECONNRESET now retry with backoff instead of failing - Fixed excessive background classifier requests when sandboxed processes repeatedly accessed the same network host - Fixed background tasks in web, desktop, and VS Code task panels getting stuck on "Running" after they finish or after resuming a session - Fixed agent teams: a teammate that dies on an API error now reports "failed" to the lead, and messaging a stuck teammate wakes it to retry immediately - Fixed the `/diff` panel not refreshing when you switch branches or commit outside the session - Fixed markdown tables overflowing and wrapping their right border when rendered in fullscreen mode - Fixed Claude Platform on AWS and Mantle sessions dead-ending with "Please run /login" when the STS token expires — `awsAuthRefresh` now runs automatically - Fixed "no route to host" for local-network hosts in macOS background agent sessions by declaring Local Network entitlements - Fixed `/desktop` failing with "Cannot determine working directory" after entering and exiting a worktree - Fixed background agents repeatedly showing "Reconnecting…" every ~52 seconds on macOS while the agents view was open - Fixed pressing `←` inside `claude attach <id>` exiting to the shell instead of opening the agent view - Fixed `claude --bg` silently creating an unattachable session when combined with `--print`/`-p`; the conflicting flags are now rejected up front - Fixed the workflow progress view dropping the earliest agents from the list while the phase counter stayed correct in SDK and desktop-app sessions - Fixed `.claude/rules/` conditional rules not loading when the target file is reached via a symlinked path - Fixed Cmd+click not opening URLs in fullscreen mode in Warp on macOS - Fixed double-click word selection in fullscreen mode to select the entire URL including the scheme - Fixed plan mode not auto-allowing read-only tool calls when a session starts in plan mode - Fixed `/branch` deriving its default fork name from the compaction summary instead of the first real prompt - Improved focus mode: subagents launched in a turn now appear in its activity summary, and completed background notifications fold into a single count - Improved syntax highlighting accuracy in code blocks, diffs, and file previews by upgrading to highlight.js 11 - Keyboard shortcut hints now show opt/cmd instead of alt/super when connected from a Mac over SSH - Improved API retry UX: the error reason is now shown after the second attempt, and a status page link replaces the spinner tip when the API is overloaded - `/login` now opens the sign-in dialog from the `claude agents` view instead of saying it isn't available - Subagents now treat messages from the agent that launched them as normal task direction; an agent's message is still never treated as the user's approval - Removed the `/agents` wizard; ask Claude to create or manage subagents, or edit `.claude/agents/` directly
Official source

Claude Code 2.1.197

Jun 30, 20262.1.197Recommended

- Introducing Claude Sonnet 5: now the default model in Claude Code, with a native 1M-token context window and promotional pricing of $2/$10 per Mtok through August 31. Update to version 2.1.197 for access. https://www.anthropic.com/news/claude-sonnet-5

Read the official text
- Introducing Claude Sonnet 5: now the default model in Claude Code, with a native 1M-token context window and promotional pricing of $2/$10 per Mtok through August 31. Update to version 2.1.197 for access. https://www.anthropic.com/news/claude-sonnet-5
Official source

Claude Code 2.1.196

Jun 30, 20262.1.196Update soon

- Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in `/model` when you haven't picked one yourself - Added readable default names for sessions at start, making them easier to identify and message - Added clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Find…

Read the official text
- Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in `/model` when you haven't picked one yourself - Added readable default names for sessions at start, making them easier to identify and message - Added clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Finder/Explorer - Security: `claude mcp list`/`get` no longer spawn `.mcp.json` servers that a repo self-approved via a committed `.claude/settings.json`; untrusted workspaces show `⏸ Pending approval` - Fixed waking a background job permanently deleting its conversation and re-running the original prompt when the transcript probe misread a real transcript; the file is now set aside, never deleted - Fixed the rate-limit warning flickering off and rate-limit telemetry being over-counted when multiple parallel requests were in flight at the moment a usage limit was hit - Fixed duplicate recap lines after a background session's turn: a schema-rejected StructuredOutput attempt no longer renders alongside its retry - Fixed PowerShell `git diff`/`git grep`, `egrep`/`fgrep`, and quoted search patterns containing `|` being reported as failures when they exit 1, matching Bash behavior - Fixed multiple `claude agents` side panel issues: keyboard focus getting stuck when opening an agent, background jobs losing their subagent types on every open, and sessions showing incorrect status while actively running - Fixed `claude agents --dangerously-skip-permissions` silently falling back to auto mode instead of showing the bypass disclaimer and applying bypass mode to spawned agents - Fixed mid-turn crash recovery for Remote sessions — sessions interrupted by a server restart now auto-resume on the next worker - Fixed sessions moved with `/cd` reappearing in the old directory's resume list after a non-graceful exit when the old path contained special characters - Fixed `claude plugin validate` skipping local plugins whose source is "." and stopping after the first error class - Fixed Esc Esc at an idle prompt not opening the rewind menu (regression); use Ctrl+C or Ctrl+X Ctrl+K to stop background agents - Fixed MCP OAuth requesting the authorization server's full `scopes_supported` catalog when no scope is specified, causing `invalid_scope` failures on GitLab self-hosted and other enterprise IdPs - Fixed `/context` showing 0 tokens for all tool groups on Bedrock - Fixed `/deep-research` misreporting verifier failures as "all claims refuted" instead of `unverified` - Fixed plugin dependency version pins not being honored when the marketplace was added as a local folder path backed by a git repo - Fixed `claude agents` session status: completed rows no longer flip between "Done" and "Needs your input", stalled agents are now labeled "Needs attention", and results that mention a PR show a clickable link - Fixed voice dictation swallowing spaces and spuriously starting a recording during very fast typing when voice mode is enabled - Improved background session reliability: long-running commands and workflows now survive the session's process being stopped, restarted, or updated — including on Windows, where background shells are handed off instead of being killed - Improved background agents: workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens - Improved `/code-review` workflow: merged five cleanup finders into one, cutting token usage by roughly 25% - Reduced per-frame rendering work in the terminal UI by skipping no-op subtree walks during streaming - The streaming idle watchdog is now on by default for all providers — it aborts and retries when a response stream produces no events for 5 minutes. Set `CLAUDE_ENABLE_STREAM_WATCHDOG=0` to disable. - Remote Control is now disabled when `ANTHROPIC_BASE_URL` points at a non-Anthropic host, matching the existing behavior under `CLAUDE_CODE_USE_BEDROCK`/`_VERTEX`/`_FOUNDRY` - Changed opening the agents view from a foreground session to require a single `←` press instead of two, matching the behavior in background sessions
Official source

Claude Code 2.1.195

Jun 27, 20262.1.195Recommended

- Added `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll - Fixed hook matchers with hyphenated identifiers (e.g. `code-reviewer`, `mcp__brave-search`) accidentally substring-matching — they now exact-match. Use `mcp__brave-search__.*` to match all tools from a hyphenated MCP server. - Fixed vo…

Read the official text
- Added `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll - Fixed hook matchers with hyphenated identifiers (e.g. `code-reviewer`, `mcp__brave-search`) accidentally substring-matching — they now exact-match. Use `mcp__brave-search__.*` to match all tools from a hyphenated MCP server. - Fixed voice dictation on macOS capturing silence in long-running sessions after the default input device changes - Fixed voice dictation auto-submit never firing for languages written without spaces (Japanese, Chinese, Thai) - Fixed external plugins enabled only by project `.claude/settings.json` not requiring explicit install consent on every loader path - Fixed `/plugin` Enable/Disable not working when a plugin's `plugin.json` `name` differs from its marketplace entry name - Fixed background jobs disappearing from `claude agents` or losing data when written by a newer Claude Code version - Fixed reopening a crashed background task showing a blank screen for up to 5 seconds instead of its restart - Fixed background agent daemons running unreachable when the control socket fails to start, blocking restarts - Improved voice mode on Linux: now distinguishes "no microphone" from "SoX not installed" when SoX is present but no audio capture device exists - Improved `claude agents` completed list to fill available vertical space; on short terminals the header compacts so live sessions stay visible - Improved Remote session startup with a provisioning checklist while the container starts
Official source

Claude Code 2.1.193

Jun 26, 20262.1.193Recommended

- Added `autoMode.classifyAllShell` setting to route all Bash/PowerShell commands through the auto-mode classifier instead of only arbitrary-code-execution patterns - Added auto-mode denial reasons to the transcript, the denial toast, and `/permissions` recent denials - Added `claude_code.assistant_response` OpenTelemetry log event containing the model's res…

Read the official text
- Added `autoMode.classifyAllShell` setting to route all Bash/PowerShell commands through the auto-mode classifier instead of only arbitrary-code-execution patterns - Added auto-mode denial reasons to the transcript, the denial toast, and `/permissions` recent denials - Added `claude_code.assistant_response` OpenTelemetry log event containing the model's response text. Redacted unless `OTEL_LOG_ASSISTANT_RESPONSES=1`; when that var is unset it follows `OTEL_LOG_USER_PROMPTS`, so deployments that already log prompt content will start receiving response content on upgrade — set `OTEL_LOG_ASSISTANT_RESPONSES=0` to keep prompts-only. - Added live file path autocomplete to bash mode (`!`) - Added a startup notice when MCP servers need authentication, pointing at `/mcp` - Added automatic memory-pressure reaping for idle background shell commands (disable with `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1`) - Fixed `/model` and other client-data-gated UI showing stale/empty state immediately after `/login` - Fixed backgrounding (←←) spuriously cancelling with "N background tasks would be abandoned" when all running tasks carry over to the new session - Fixed pinned background agents being re-prompted to "Continue from where you left off" after every auto-update - Fixed backgrounding the main turn spawning a phantom "general-purpose (resumed)" subagent that re-ran the main conversation - Fixed agent panel hiding sibling agents when viewing a subagent - Improved background agents: the launch result no longer instructs Claude to "end your response" — it keeps working on other tasks while the agent runs - Improved MCP `headersHelper` auth: the helper now re-runs and reconnects automatically when a tool call returns 401/403 - Improved plugin auto-rename: marketplace `renames` maps are now followed automatically, updating your settings to the new name - Improved `/add-dir` message when the directory is already a working directory
Official source

Claude Code 2.1.191

Jun 25, 20262.1.191Recommended

- Added `/rewind` support for resuming a conversation from before `/clear` was run - Fixed scroll position jumping to the bottom while reading earlier output during a streaming response - Fixed background agents resurrecting after being stopped — stopping an agent from the tasks panel is now permanent - Fixed `/voice` showing a generic "not available" messag…

Read the official text
- Added `/rewind` support for resuming a conversation from before `/clear` was run - Fixed scroll position jumping to the bottom while reading earlier output during a streaming response - Fixed background agents resurrecting after being stopped — stopping an agent from the tasks panel is now permanent - Fixed `/voice` showing a generic "not available" message when disabled by an organization's policy — it now explains the restriction - Fixed `/login` URL opening truncated in Windows Terminal when it wraps across lines - Fixed Cmd+click on links in fullscreen mode for Ghostty over ssh/tmux - Fixed `claude agents` sending builtin slash commands like `/usage` to background sessions as prompt text instead of showing a hint - Fixed `claude agents` job rows showing full filesystem paths for pasted images instead of the `[Image #N]` placeholder - Fixed hooks with comma-separated matchers (e.g. `"Bash,PowerShell"`) silently never firing - Fixed `/permissions` Recently-denied tab: approving a denial now persists on close instead of being silently discarded - Fixed the agent panel jumping by one row when scrolling the roster past the overflow cap - Fixed the welcome splash art overflowing the default 80×24 macOS Terminal window - Fixed managed settings: `forceRemoteSettingsRefresh` now takes effect when set via MDM or file policy, and the fetch sends `Cache-Control: no-cache` to prevent proxies from serving stale responses - Improved sandbox network permission dialog: hosts you allow with "Yes" are now remembered for the rest of the session instead of re-prompting on every connection - Improved MCP server reliability: capability discovery (`tools/list`, `prompts/list`, `resources/list`) now retries transient network errors with short backoff - Improved MCP OAuth: discovery and token requests now retry once after transient network errors, and headless environments skip the browser popup and go straight to the paste-the-URL prompt - Improved MCP error messages: HTTP 404 errors now show the URL and point to your MCP config - Improved vim mode prompt-history search (NORMAL `/`) to hint how to reach slash commands - Reduced CPU usage during streaming responses by ~37% by coalescing text updates to 100ms - Reduced long-session memory growth from terminal output cache
Official source

Claude Code 2.1.190

Jun 24, 20262.1.190Insufficient information

- Bug fixes and reliability improvements

Read the official text
- Bug fixes and reliability improvements
Official source

Claude Code 2.1.187

Jun 24, 20262.1.187Recommended

- Added `sandbox.credentials` setting to block sandboxed commands from reading credential files and secret environment variables - Added org-configured model restrictions to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`, with a "restricted by your organization's settings" message when a restricted model is selected - Added mouse click support …

Read the official text
- Added `sandbox.credentials` setting to block sandboxed commands from reading credential files and secret environment variables - Added org-configured model restrictions to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`, with a "restricted by your organization's settings" message when a restricted model is selected - Added mouse click support to select menus (permission prompts, `/model`, `/config`, etc.) in fullscreen mode - Fixed `--resume` failing with "No conversation found" when the original `-p` run produced no model turns - Fixed `--json-schema` and workflow `agent({schema})` structured output: the model can no longer re-call `StructuredOutput` indefinitely after a successful call, and follow-up turns now reliably return structured output - Fixed remote MCP tool calls that hang with no response for 5 minutes — they now abort with an error instead of blocking indefinitely (override with `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`) - Fixed Claude Code Remote sessions taking ~2.7s longer to start after the agent proxy CA system-trust install was added - Fixed pasted Korean/CJK text turning into mojibake in terminals that deliver paste as per-byte extended-key events - Fixed `/update` over Remote Control hanging when a startup trust dialog would have shown - Fixed background jobs in the agents view getting stuck in "working" indefinitely when the agent ended a turn without producing structured output - Fixed channel connections dropping after navigating to the agents view and back, and after `/bg`, `/tui`, or `/update` - Fixed agent stop notifications not correctly attributing who stopped the agent, and improved wording ("finished"/"stopped" instead of "came to rest") - Fixed subagent depth tracking: resumed subagents now restore their original spawn depth, and forked subagents now count toward the depth cap - Fixed leaked agent worktree registrations: locked `.git/worktrees/` entries from killed agents are now cleaned up automatically - Fixed Cmd+click not opening URLs in fullscreen mode in Ghostty on macOS - Fixed `claude --help` not listing the `--bg`/`--background` flag - Fixed Esc, Ctrl-C, and Ctrl-D not working while `/share` is uploading - Improved `/install-github-app`: GitHub Actions workflow setup is now optional — you can install just the GitHub App and skip the workflow/secret steps - Improved `/btw` with ←/→ arrow navigation to step through earlier answers - Improved `/plugin` to surface plugins you haven't used recently so you can clean them up - [VSCode] Fixed extension becoming unresponsive when resuming a large session
Official source

Claude Code 2.1.186

Jun 23, 20262.1.186Recommended

- Added `claude mcp login <name>` and `claude mcp logout <name>` to authenticate MCP servers from the CLI without opening the interactive `/mcp` menu, with `--no-browser` stdin redirect support for completing over SSH - Added status filtering (press `f`) to the `/workflows` agent detail view - Added a "Skills" section to the `/plugin` Installed tab - Added `…

Read the official text
- Added `claude mcp login <name>` and `claude mcp logout <name>` to authenticate MCP servers from the CLI without opening the interactive `/mcp` menu, with `--no-browser` stdin redirect support for completing over SSH - Added status filtering (press `f`) to the `/workflows` agent detail view - Added a "Skills" section to the `/plugin` Installed tab - Added `teammateMode: "iterm2"` setting with a warning when auto mode cannot find the `it2` CLI - Added "Claude Platform on AWS - refresh credentials" option to `/login` when `awsAuthRefresh` is configured - `!` bash commands now trigger Claude to respond to the output automatically; set `"respondToBashCommands": false` in settings.json to keep the previous context-only behavior - Fixed streaming requests failing with "Content block not found" or JSON parse errors after the machine wakes from sleep - Fixed subagent transcript scroll position bleeding into the main transcript on exit - Fixed background task previews flashing raw tool names before the agent's plan loaded - Fixed Chrome tab-group isolation not applying when the in-product permissions gate is off for concurrent CLI sessions - Fixed background session recaps being duplicated; the agent's own end-of-turn summary now shows as the recap line - Fixed opening a background session from `claude agents` leaving the previous screen painted behind it - Fixed `Agent(type)` deny rules and `Agent(x,y)` allowed-types restrictions not being enforced for named subagent spawns - Fixed Esc and Ctrl+C not responding while background agents are still running after the main turn ends - Fixed misaligned option numbers in permission prompts when the option text overflows - Fixed pressing `x` on a finished subagent in the agent panel not dismissing it - Fixed a misleading "MCP server disconnected" notice for intentionally retired tools when resuming older sessions - Fixed `/plugin` Installed showing a "more above" indicator when already scrolled to the top - Fixed `~~strikethrough~~` showing literal tildes in assistant messages instead of rendering as strikethrough - Fixed `--tools` allowing feature-gated tools to slip through before flags loaded on a cold first launch - Fixed background job status in `claude agents` showing a stale "needs input" message after replying - Fixed a dark-theme flash when opening a background session from `claude agents` on a light terminal - Fixed mouse-selected text staying highlighted after deleting it in `claude agents` - Fixed session cost not showing for usage-based Enterprise and Team subscribers - Fixed agent teams: teammates spawned via tmux/pane backends now inherit the leader's `--effort` level - Fixed Workflow `agent({schema})` subagents looping forever on repeated schema validation failures instead of aborting after 5 attempts - Improved `claude mcp get` and `claude mcp remove` to suggest the closest configured server name on a typo and truncate long server lists - Improved memory: the agent is now reminded to compact its `MEMORY.md` index when nearing the size limit - Improved skill frontmatter: `display-name`, `default-enabled`, `fallback`, and `metadata.*` keys now accept kebab-case, snake_case, and camelCase - Improved malformed `SKILL.md` YAML frontmatter handling: loads the skill body with empty metadata instead of failing silently - Changed `CLAUDE_CODE_MAX_RETRIES` to cap at 15; for unattended sessions, use `CLAUDE_CODE_RETRY_WATCHDOG` instead - Changed background subagents to surface permission prompts in the main session instead of auto-denying; the dialog shows which agent is asking, and Esc denies just that tool - Changed `/review <pr>` to use the same review engine as `/code-review medium`
Official source

Claude Code 2.1.185

Jun 21, 20262.1.185Optional

- The stream-stall hint now reads "Waiting for API response · will retry in …" instead of "No response from API · Retrying in …", and triggers after 20s of silence instead of 10s

Read the official text
- The stream-stall hint now reads "Waiting for API response · will retry in …" instead of "No response from API · Retrying in …", and triggers after 20s of silence instead of 10s
Official source

Claude Code 2.1.183

Jun 19, 20262.1.183Update soon

- Improved auto mode safety: destructive git commands (`git reset --hard`, `git checkout -- .`, `git clean -fd`, `git stash drop`) are now blocked when you didn't ask to discard local work, `git commit --amend` is blocked when the commit wasn't made by the agent this session, and `terraform destroy`/`pulumi destroy`/`cdk destroy` are blocked unless you asked…

Read the official text
- Improved auto mode safety: destructive git commands (`git reset --hard`, `git checkout -- .`, `git clean -fd`, `git stash drop`) are now blocked when you didn't ask to discard local work, `git commit --amend` is blocked when the commit wasn't made by the agent this session, and `terraform destroy`/`pulumi destroy`/`cdk destroy` are blocked unless you asked for the specific stack - Added a warning when the requested model is deprecated or automatically updated to a newer model, shown on stderr in print mode (`-p`) and now also covering models set in agent frontmatter - Added `attribution.sessionUrl` setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions - Added `/config --help` to list all available shorthand keys for `/config key=value` - Changed `/config` toggle behavior: Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting - Removed the startup "setup issues" line under the logo — run `/doctor` to see configuration issues or use `--debug` - Fixed `thinking.disabled.display: Extra inputs are not permitted` 400 errors on subagent spawns and session-title generation for affected configurations - Fixed WebSearch returning empty results in subagents - Fixed the terminal cursor being stranded above the prompt after navigating history in vim mode with the native cursor enabled - Fixed fullscreen TUI corruption (statusline mid-screen, duplicated spinner rows, merged text) in Windows Terminal under heavy nested-subagent load - Fixed turns silently completing with no visible output when the model returned only a thinking block; Claude now re-prompts once - Fixed user-level skills appearing multiple times in slash-command autocomplete when multiple plugins are enabled - Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode - Fixed tmux teammate panes failing to launch when the shell has slow rc-file initialization, and keystrokes typed during agent spawn leaking into the new tmux pane instead of the leader prompt - Fixed background tasks started by a teammate being killed when the teammate finishes a turn - Fixed scheduled task and webhook trigger deliveries being treated as keyboard input; they now classify as task notifications and can no longer approve a pending action or set the session title in auto mode - Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response
Official source

Claude Code 2.1.181

Jun 18, 20262.1.181Recommended

- Added `/config key=value` syntax to set any setting from the prompt (e.g. `/config thinking=false`) — works in interactive, `-p`, and Remote Control - Added `sandbox.allowAppleEvents` opt-in setting that lets sandboxed commands send Apple Events on macOS - Added `CLAUDE_CLIENT_PRESENCE_FILE` environment variable: point it at a marker file to suppress mobil…

Read the official text
- Added `/config key=value` syntax to set any setting from the prompt (e.g. `/config thinking=false`) — works in interactive, `-p`, and Remote Control - Added `sandbox.allowAppleEvents` opt-in setting that lets sandboxed commands send Apple Events on macOS - Added `CLAUDE_CLIENT_PRESENCE_FILE` environment variable: point it at a marker file to suppress mobile push notifications while you're at the machine - Upgraded the bundled Bun runtime to 1.4 - Improved streaming of long paragraphs: text now appears line-by-line instead of waiting for the first line break - Improved auto-retry: API connection drops mid-thinking now automatically retry instead of showing "Connection closed while thinking" - Improved the subagent panel: idle subagents auto-hide after 30s, the list caps at 5 rows with scroll hints, and keyboard hints now show in the footer - Improved the MCP OAuth browser page to match Claude Code's visual style and auto-close on success - Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior - Changed the `Improved N memories` line to no longer list individual files outside verbose mode - Fixed prompt caching not reading on custom `ANTHROPIC_BASE_URL` and on Foundry due to a per-request attestation token changing every turn - Fixed Write/Edit producing 0-byte or truncated files on network drives and cloud-synced folders - Fixed `open`, `osascript`, and browser-based auth flows failing with error -600 on macOS by adding the Apple Events entitlement - Fixed a startup regression (~120ms per launch in fresh environments, introduced in 2.1.169): the first prompt no longer waits for the managed-settings fetch when no MCP servers are configured - Fixed startup blocking with a blank terminal for up to 15 seconds when the account settings fetch is slow on a degraded network - Fixed startup crash (`TypeError: Cannot read properties of null`) when `.claude.json` contains corrupted null project entries - Fixed macOS TUI freezing at session start (Ctrl+C unresponsive) when Spotlight is busy reindexing - Fixed long-running idle sessions losing their history when another Claude Code process ran the 30-day transcript cleanup - Fixed foreground subagents spawning unbounded nested chains; they now respect the same 5-level depth limit as background subagents - Fixed `/recap` and conversation forks using the previous model immediately after a model switch - Fixed subagent "Thinking" duration showing the parent agent's elapsed time instead of the subagent's own - Fixed subagents blocked on a nested agent showing a ticking elapsed time instead of "waiting" in the agent panel - Fixed the API retry indicator ("Retrying in 0s · attempt N/10") staying on screen after the retry succeeded - Fixed AWS `awsCredentialExport` credentials with a short remaining lifetime causing credential refreshes every minute, and now accepts the JSON shape from `aws configure export-credentials` - Fixed `claude mcp get`/`list` showing `✓ Connected` when tools/list fails; they now show `! Connected · tools fetch failed` with the error detail - Fixed `/remote-control` leaving a stale "connecting…" line; it now confirms in the transcript once connected - Fixed ExitWorktree refusing to remove a clean worktree with "Could not verify worktree state" when bare `git` cannot be resolved on Windows - Fixed settings changes (such as `/effort` or `/model`) failing with ENOENT when `~/.claude/settings.json` is a relative symlink under a symlinked `~/.claude` - Fixed IDE selection line numbers in context reminders being off by one (IntelliJ and VS Code) - Fixed Ctrl+C in fullscreen after a native terminal selection (modifier+drag) overwriting the clipboard with the app's prior selection - Fixed Ctrl+V showing "No image found in clipboard" instead of pasting when the clipboard contains text - Fixed agent creation failing with "EEXIST: file already exists" when the agents directory already exists (Windows/OneDrive) - Fixed AskUserQuestion preview content being cut off at the dialog edge instead of word-wrapping - Fixed AskUserQuestion multi-select questions silently dropping a typed "Other" free-text answer when submitting - Fixed `/stats` "Most active day" and daily token chart dates showing one day early in UTC-negative timezones - Fixed `/copy` and copy-on-select on Linux not detecting a clipboard utility installed after Claude Code started - Fixed tab-indented code rendering with incorrect indentation in the Write (create-file) preview - Fixed user prompts queued mid-turn not showing a full-width background highlight in the transcript - Fixed the activity spinner's pulse dwelling on the wrong glyph size in Ghostty
Official source

Claude Code 2.1.179

Jun 17, 20262.1.179Recommended

- Fixed mid-stream connection drops: partial responses are now preserved instead of showing a raw error, and the spinner no longer gets stuck at "running tool" - Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172) - Fixed a sandbox `denyRead`/`allowRead` glob over a large directory tree making the Bash tool descript…

Read the official text
- Fixed mid-stream connection drops: partial responses are now preserved instead of showing a raw error, and the spinner no longer gets stuck at "running tool" - Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172) - Fixed a sandbox `denyRead`/`allowRead` glob over a large directory tree making the Bash tool description enormous and the session unusable on Linux - Fixed the feedback survey capturing a single-digit reply as a session rating immediately after a turn completes - Fixed the welcome screen stacking multiple promotional banners — at most one promo now shows per session - Fixed Ctrl+O not showing the subagent's transcript when viewing a subagent - Fixed clicking the prompt input not returning focus from the subagent/footer panel - Fixed remote session background tasks appearing stuck as "still running" between turns - Improved plugin loading performance in remote sessions
Official source

Claude Code 2.1.178

Jun 16, 20262.1.178Recommended

- Agent teams: removed the `TeamCreate` and `TeamDelete` tools. With `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` set, every session now has one implicit team — spawn teammates directly with the Agent tool's `name` parameter, no setup step needed. The `team_name` parameter on the Agent tool is still accepted but ignored. - Added `Tool(param:value)` syntax for pe…

Read the official text
- Agent teams: removed the `TeamCreate` and `TeamDelete` tools. With `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` set, every session now has one implicit team — spawn teammates directly with the Agent tool's `name` parameter, no setup step needed. The `team_name` parameter on the Agent tool is still accepted but ignored. - Added `Tool(param:value)` syntax for permission rules to match a tool's input parameters (with `*` wildcard), e.g. `Agent(model:opus)` to block Opus subagents - Skills in nested `.claude/skills` directories now load when working on files there; on a name clash, the nested skill appears as `<dir>:<name>` so both stay available - Nested `.claude/` directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing `.claude/workflows/` - Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review - Improved `/doctor` with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names - Improved the skill listing truncation warning to show how many skill descriptions are affected - Changed the workflow prompt keyword to use a purple shimmer highlight and trigger only on explicit phrases like "run a workflow" or "workflow:", not on any mention of the word - Improved Remote Control error messages: connection failures now show a persistent red "/rc failed" indicator in the footer, and the "not yet enabled" error now explains whether it's a gate, a check failure, stale entitlement, or org policy - `/bug` now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title - Fixed a crash (out-of-memory) when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process - Fixed Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login - Fixed nested `.claude/skills` skills with directory-qualified names being blocked by permission prompts in non-interactive runs - Fixed several subagent issues: viewing a subagent's transcript now shows tool results and live progress, messages sent while it finishes its turn are no longer dropped, and backgrounding a running subagent (ctrl+b) no longer restarts it from scratch - Fixed `claude agents` workers failing with `401 Invalid bearer token` when the daemon was started from a shell with a custom API gateway via `ANTHROPIC_BASE_URL` and `ANTHROPIC_AUTH_TOKEN` - Fixed compaction not honoring `--fallback-model`: compaction now falls back to the configured fallback model chain on overload or model-availability errors - Fixed model requests continuing to fail with auth errors after credentials were refreshed outside the session, due to a stale cached request configuration - Fixed background sessions created with `/bg` or `←←` after a turn finished showing "Working" forever in the agents list - Fixed Linux sandbox failing to start when `.claude/skills` or `.claude/hooks` is a symlink - Fixed `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` preventing fresh marketplace installs from cloning - Fixed MCP server-level specs (`mcp__server`, `mcp__server__*`, `mcp__*`) in subagent `disallowedTools` being silently ignored - Fixed vim mode undo: `u` now steps through NORMAL/VISUAL-mode commands one at a time instead of merging commands in quick succession into a single undo step - Fixed statusline links with custom URI schemes (e.g. `vscode://`) not opening when clicked in `claude agents` - [VSCode] Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task
Official source

Claude Code 2.1.176

Jun 13, 20262.1.176Update soon

- Session titles are now generated in the language of your conversation (set the `language` setting to pin a specific language) - Added `footerLinksRegexes` setting for regex-matched link badges in the footer row, configurable via user or managed settings - Improved Bedrock credential caching: credentials from `awsCredentialExport` are now cached until their…

Read the official text
- Session titles are now generated in the language of your conversation (set the `language` setting to pin a specific language) - Added `footerLinksRegexes` setting for regex-matched link badges in the footer row, configurable via user or managed settings - Improved Bedrock credential caching: credentials from `awsCredentialExport` are now cached until their `Expiration` instead of a fixed 1 hour - Fixed `availableModels` enforcement: alias model picks can no longer be redirected to a blocked model via `ANTHROPIC_DEFAULT_*_MODEL` environment variables, and `/fast` now refuses to toggle when it would switch to a model outside the allowlist - Fixed auto mode failing on Fable 5 for organizations without Opus 4.8 enabled — the classifier now falls back to the best available Opus model - Fixed hook `if` conditions for Read/Edit/Write tool paths: documented patterns like `Edit(src/**)`, `Read(~/.ssh/**)`, and `Read(.env)` now match correctly - Fixed Linux sandbox failing to start when `.claude/settings.json` is a symlink with an absolute target - Fixed `/copy` and mouse-selection copy not reaching the system clipboard inside tmux over SSH, and tmux paste buffer not loading on versions older than 3.2 - Fixed Remote Control connecting from web/mobile silently switching the session's model - Fixed Remote Control disconnect notifications showing a bare numeric code instead of a human-readable reason, and connection failures adding a duplicate line to the conversation transcript - Fixed Remote Control sessions not disconnecting when you sign in to a different account - Fixed `/cd` and worktree moves leaving the session reporting the previous directory's git branch - Fixed `claude agents`: pressing back in one window no longer detaches other windows attached to the same session - Fixed backgrounded sessions showing "Working" forever when `/bg` mid-turn had nothing left to continue - Fixed background agent search by PR URL: PRs opened during scheduled wakeups or while a job was blocked now appear in `claude agents` search - Fixed the agents view input showing no text cursor on Windows - Fixed `claude --bg -cn <name>` not seeding the session name - Fixed background sessions to neutralize Windows network paths in persisted state before respawn - Fixed background-session respawn rejecting malformed resume IDs from corrupted state files - Fixed the Windows background-service daemon not starting when `~/.claude/daemon` has the ReadOnly attribute set - Fixed cloud sessions failing with "Could not resolve authentication method" when idle for too long before being claimed - Background sessions now show clearer guidance when a window left open across an auto-update can't submit a reply, and `claude daemon status` explains version-skew behavior
Official source