Releases: anthropics/claude-code
Releases · anthropics/claude-code
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
/modelwhen 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/getno longer spawn.mcp.jsonservers 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 agentsside 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-permissionssilently 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
/cdreappearing in the old directory's resume list after a non-graceful exit when the old path contained special characters - Fixed
claude plugin validateskipping 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_supportedcatalog when no scope is specified, causinginvalid_scopefailures on GitLab self-hosted and other enterprise IdPs - Fixed
/contextshowing 0 tokens for all tool groups on Bedrock - Fixed
/deep-researchmisreporting verifier failures as "all claims refuted" instead ofunverified - 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 agentssession 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-reviewworkflow: 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=0to disable. - Remote Control is now disabled when
ANTHROPIC_BASE_URLpoints at a non-Anthropic host, matching the existing behavior underCLAUDE_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_CLICKSto 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. Usemcp__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.jsonnot requiring explicit install consent on every loader path - Fixed
/pluginEnable/Disable not working when a plugin'splugin.jsonnamediffers from its marketplace entry name - Fixed background jobs disappearing from
claude agentsor 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 agentscompleted 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.classifyAllShellsetting 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
/permissionsrecent denials - Added
claude_code.assistant_responseOpenTelemetry log event containing the model's response text. Redacted unlessOTEL_LOG_ASSISTANT_RESPONSES=1; when that var is unset it followsOTEL_LOG_USER_PROMPTS, so deployments that already log prompt content will start receiving response content on upgrade — setOTEL_LOG_ASSISTANT_RESPONSES=0to 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
/modeland 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
headersHelperauth: the helper now re-runs and reconnects automatically when a tool call returns 401/403 - Improved plugin auto-rename: marketplace
renamesmaps are now followed automatically, updating your settings to the new name - Improved
/add-dirmessage when the directory is already a working directory
v2.1.191
What's changed
- Added
/rewindsupport for resuming a conversation from before/clearwas 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
/voiceshowing a generic "not available" message when disabled by an organization's policy — it now explains the restriction - Fixed
/loginURL 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 agentssending builtin slash commands like/usageto background sessions as prompt text instead of showing a hint - Fixed
claude agentsjob 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
/permissionsRecently-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:
forceRemoteSettingsRefreshnow takes effect when set via MDM or file policy, and the fetch sendsCache-Control: no-cacheto 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.credentialssetting to block sandboxed commands from reading credential files and secret environment variables - Added org-configured model restrictions to the model picker,
--model,/model, andANTHROPIC_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
--resumefailing with "No conversation found" when the original-prun produced no model turns - Fixed
--json-schemaand workflowagent({schema})structured output: the model can no longer re-callStructuredOutputindefinitely 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
/updateover 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 --helpnot listing the--bg/--backgroundflag - Fixed Esc, Ctrl-C, and Ctrl-D not working while
/shareis 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
/btwwith ←/→ arrow navigation to step through earlier answers - Improved
/pluginto surface plugins you haven't used recently so you can clean them up - [VSCode] Fixed extension becoming unresponsive when resuming a large session
v2.1.186
What's changed
- Added
claude mcp login <name>andclaude mcp logout <name>to authenticate MCP servers from the CLI without opening the interactive/mcpmenu, with--no-browserstdin redirect support for completing over SSH - Added status filtering (press
f) to the/workflowsagent detail view - Added a "Skills" section to the
/pluginInstalled tab - Added
teammateMode: "iterm2"setting with a warning when auto mode cannot find theit2CLI - Added "Claude Platform on AWS - refresh credentials" option to
/loginwhenawsAuthRefreshis configured !bash commands now trigger Claude to respond to the output automatically; set"respondToBashCommands": falsein 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 agentsleaving the previous screen painted behind it - Fixed
Agent(type)deny rules andAgent(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
xon 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
/pluginInstalled 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
--toolsallowing feature-gated tools to slip through before flags loaded on a cold first launch - Fixed background job status in
claude agentsshowing a stale "needs input" message after replying - Fixed a dark-theme flash when opening a background session from
claude agentson 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
--effortlevel - Fixed Workflow
agent({schema})subagents looping forever on repeated schema validation failures instead of aborting after 5 attempts - Improved
claude mcp getandclaude mcp removeto 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.mdindex when nearing the size limit - Improved skill frontmatter:
display-name,default-enabled,fallback, andmetadata.*keys now accept kebab-case, snake_case, and camelCase - Improved malformed
SKILL.mdYAML frontmatter handling: loads the skill body with empty metadata instead of failing silently - Changed
CLAUDE_CODE_MAX_RETRIESto cap at 15; for unattended sessions, useCLAUDE_CODE_RETRY_WATCHDOGinstead - 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
v2.1.185
What's changed
- 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
v2.1.183
What's changed
- 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 --amendis blocked when the commit wasn't made by the agent this session, andterraform destroy/pulumi destroy/cdk destroyare 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.sessionUrlsetting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions - Added
/config --helpto list all available shorthand keys for/config key=value - Changed
/configtoggle 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
/doctorto see configuration issues or use--debug - Fixed
thinking.disabled.display: Extra inputs are not permitted400 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
v2.1.181
What's changed
- Added
/config key=valuesyntax to set any setting from the prompt (e.g./config thinking=false) — works in interactive,-p, and Remote Control - Added
sandbox.allowAppleEventsopt-in setting that lets sandboxed commands send Apple Events on macOS - Added
CLAUDE_CLIENT_PRESENCE_FILEenvironment 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 memoriesline to no longer list individual files outside verbose mode - Fixed prompt caching not reading on custom
ANTHROPIC_BASE_URLand 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.jsoncontains 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
/recapand 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
awsCredentialExportcredentials with a short remaining lifetime causing credential refreshes every minute, and now accepts the JSON shape fromaws configure export-credentials - Fixed
claude mcp get/listshowing✓ Connectedwhen tools/list fails; they now show! Connected · tools fetch failedwith the error detail - Fixed
/remote-controlleaving 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
gitcannot be resolved on Windows - Fixed settings changes (such as
/effortor/model) failing with ENOENT when~/.claude/settings.jsonis 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
/copyand 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