Releases · anthropics/claude-code

17 min read Original article ↗

v2.1.200

What's changed

  • 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

v2.1.199

What's changed

  • 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

v2.1.198

What's changed

  • 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

v2.1.197

What's changed

  • 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

v2.1.196

What's changed

  • 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

v2.1.195

What's changed

  • 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

v2.1.193

What's changed

  • 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

v2.1.191

What's changed

  • 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

v2.1.190

What's changed

  • Bug fixes and reliability improvements

v2.1.187

What's changed

  • 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