Skip to content

Releases: anthropics/claude-code

v2.1.196

29 Jun 23:27

Choose a tag to compare

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

26 Jun 21:29

Choose a tag to compare

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

25 Jun 21:45

Choose a tag to compare

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

24 Jun 21:58

Choose a tag to compare

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

24 Jun 15:53

Choose a tag to compare

What's changed

  • Bug fixes and reliability improvements

v2.1.187

23 Jun 21:03

Choose a tag to compare

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

v2.1.186

22 Jun 20:37

Choose a tag to compare

What's changed

  • 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

v2.1.185

20 Jun 20:59

Choose a tag to compare

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

19 Jun 01:20

Choose a tag to compare

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 --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

v2.1.181

17 Jun 22:07

Choose a tag to compare

What's changed

  • 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