Claude Code Releases
Version history, changelog, and breaking changes
The latest version of Claude Code is v2.1.232, released Aug 13, 2026. This page tracks every Claude Code release, from new slash commands and features to breaking changes and environment variables. Each entry lists the version number, release date, and what changed.
← Back to GuideLatest Release: v2.1.232
Released Aug 13, 2026
- Subagent forking is on by default: a subagent_type: "fork" subagent inherits the full conversation and prompt cache, and non-teammate agent spawns in interactive sessions now run in the background
- Type @ in the prompt to mention another Claude session by name; SendMessage now delivers to a bare name that matches one live session, and same-machine sessions get unique name-word-word variants
- Added GitLab support to plugin marketplaces (bare gitlab.com repo URLs clone like github.com), plus secret redaction for the GitLab token families and glab CLI credential protection
- Security: fixed a PowerShell bypass overwriting $PSDefaultParameterValues, a Windows Git Bash Cygwin-symlink bypass, and nested git repositories inheriting trust from a parent directory
- sandbox.ripgrep is now honored only from user, managed, and --settings settings; project settings can no longer override the sandbox ripgrep binary
Environment Variables Reference
Config flags that Claude Code reads at startup. Set in your shell profile or before the claude command.
| Variable | Value | Effect | Since |
|---|---|---|---|
CLAUDE_CODE_USE_MANTLE | 1 | Amazon Bedrock powered by Mantle support | v2.1.97 |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY | 1 | Enable /v1/models discovery from your gateway (opt-in) | v2.1.131 |
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE | set | Auto-upgrade via Homebrew or WinGet with restart prompt | v2.1.131 |
CLAUDE_CODE_ENABLE_AUTO_MODE | 1 | Enable auto mode on Bedrock, Vertex, and Foundry for Opus 4.7/4.8 | v2.1.159 |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN | 1 | Opt out of fullscreen alternate-screen renderer, keep output in scrollback | v2.1.133 |
CLAUDE_CODE_NO_FLICKER | 1 | Flicker-free rendering for terminals that have rendering artifacts | v2.1.90 |
ANTHROPIC_BASE_URL | URL | Point Claude Code at a compatible third-party gateway instead of api.anthropic.com | v2.1.71 |
ANTHROPIC_BEDROCK_SERVICE_TIER | default / flex / priority | Select Bedrock service tier via X-Amzn-Bedrock-Service-Tier header | v2.1.126 |
CLAUDE_CODE_CERT_STORE | bundled | Revert to bundled CA certs (default trusts OS CA store since v2.1.105) | v2.1.105 |
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB | 1 | Strip credentials from subprocess environments for security | v2.1.84 |
MCP_TOOL_TIMEOUT | ms | Per-request fetch timeout for MCP tool calls | v2.1.143 |
CLAUDE_CODE_SESSION_ID | read-only | Session ID passed to Bash subprocesses and MCP stdio servers | v2.1.133 |
DISABLE_UPDATES | set | Disable automatic Claude Code update checks | v2.1.119 |
CLAUDE_CODE_DISABLE_CRON | set | Disable scheduled cron tasks in Claude Code | v2.1.72 |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | 1 | Disable experimental beta features (OAuth fix: required for some deployments) | v2.1.126 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | set | Skip Bedrock authentication check (for custom auth proxies) | v2.1.97 |
Note: showThinkingSummaries: true is a settings.json key, not an env var. Add it to ~/.claude/settings.json to restore thinking summaries (disabled by default since v2.1.90).
Full Changelog
Latest versions and breaking changes from Anthropic
Showing 12 of 204 releases
- Subagent forking is on by default: a subagent_type: "fork" subagent inherits the full conversation and prompt cache, and non-teammate agent spawns in interactive sessions now run in the background
- Type @ in the prompt to mention another Claude session by name; SendMessage now delivers to a bare name that matches one live session, and same-machine sessions get unique name-word-word variants
- Added GitLab support to plugin marketplaces (bare gitlab.com repo URLs clone like github.com), plus secret redaction for the GitLab token families and glab CLI credential protection
- Security: fixed a PowerShell bypass overwriting $PSDefaultParameterValues, a Windows Git Bash Cygwin-symlink bypass, and nested git repositories inheriting trust from a parent directory
- sandbox.ripgrep is now honored only from user, managed, and --settings settings; project settings can no longer override the sandbox ripgrep binary
- Fixed MCP OAuth sign-in failing with a redirect URI mismatch for servers that use a pre-registered OAuth client, such as Slack
- Added plugin marketplace command sources: a local command prints the plugin directory, re-resolved each session and applied without a restart (mode: "link" uses it in place)
- Fixed long responses partly disappearing while streaming and being printed twice, plus crashes on non-string tool-call values, very narrow terminals, and Windows extended-length/UNC paths
- Changed /commit-push-pr so git/gh commands with dangerous flags (--force, --amend, --no-verify) are no longer auto-approved
- [VSCode] Added session groups in the sidebar (right-click to create, rename, delete) and made the /btw side-question panel resizable
- Self-hosted runner on Windows now requires an explicit --base-dir; there is no default checkout directory
- Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, descriptions are sanitized and labeled, and their bodies do not run ! commands or expand @ files locally
- Fixed session cleanup deleting contents inside a project memory folder, and Remote Control /resume leaking the resumed conversation title or history into the connected session
- Fixed interactive sessions that could stop redrawing entirely while the process kept running, after a rare internal layout error
- The Write tool now lets newer models overwrite an existing file they have not read this session, matching the Edit tool rules; older models still require the read first
- Fixed feature flags being evaluated without the subscription tier on an expired login token, which wrongly prompted Max plan users to enable usage credits for Fable
- Fixed every Bash command failing under claude-code-action with allowed_non_write_users on GitHub-hosted runners
- Improved the slash-command menu rendering and reduced event-loop stalls on file-not-found suggestions and at-mention size checks
- Bug fixes and reliability improvements
- Added gateway spend-limit support to the usage warning: the limit-reached message names the cap, its reset time, and the operator message (requires the gateway on 2.1.225)
- SendMessage can now start a conversation with your Remote Control sessions on other machines by name, instead of only replying after they message you first
- Fixed a transient 401 replacing a long-lived CLAUDE_CODE_OAUTH_TOKEN with a stored login short-lived token, which broke headless sessions until restart
- Fixed MCP OAuth servers on macOS intermittently failing with a burst of 401 errors after a keychain read timed out
- Added self-hosted environments: claude self-hosted-runner turns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run (Team and Enterprise plans)
- Added cross-session SendMessage: Claude Code sessions can message each other across any of your machines, with ListAgents to discover them (macOS and Linux)
- Added an archive plugin source (zip over HTTPS with optional SHA-256 pinning), the crossSessionInbound/dialogExpiry settings, and sandbox credential-masking options
- Security: fixed long project paths resolving to another project session directory, and sandbox filesystem deny entries written with a trailing slash being silently bypassable
- Removed the 200-subagent-per-session spawn cap; concurrency and depth limits still apply
- The /feedback survey transcript share now also uploads the last request model settings with your consent, including the system prompt (which carries your CLAUDE.md instructions), tool definitions, and model parameters; secrets stay redacted
- Security: fixed a Bash permission-check bypass letting a crafted command hide parts of itself from approval, permission prompts no longer hidden by tab/invisible-Unicode padding, and workflow scripts no longer able to use dynamic import() to escape the workflow sandbox
- Changed /review to be an alias of /code-review, which reviews the current diff or a PR (/code-review
); /code-review with no effort level now reuses the level you typed last - Added owner wildcard entries ("owner/*") to strictKnownMarketplaces/blockedMarketplaces managed settings, and a /teleport hint in cloud sessions to continue locally with claude --teleport
- Changed CLAUDE_CODE_DISABLE_1M_CONTEXT to hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list
- Security: fixed worktree-isolated sessions (and their subagents) being able to run destructive git commands against the main checkout; isolation now covers file edits and Bash in every session type
- Security: fixed PreToolUse auto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames)
- Changed Remote Control auto-start so repo-local settings can no longer turn it on (they can still turn it off); enable it at user scope via /config
- Removed the ultraplan feature
- Repo-local settings (.claude/settings.json or .claude/settings.local.json) can no longer enable Remote Control auto-start; they can still disable it. Enable at user scope via /config
- Security: fixed a Bash permission-check bypass letting zsh execute hidden commands in [[ ]] regex conditionals, plus a PowerShell path-quoting bypass on Windows; both now prompt for permission
- [VSCode] Added Focus view (Ctrl+Alt+F): a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator
- Added mode: "mask" for sandbox credential files on Linux/WSL: sandboxed commands read a sentinel value while the sandbox proxy substitutes the real value on egress (macOS falls back to deny)
- Added a prompt-audit subcommand to the claude-api skill for auditing prompts and tool descriptions written for older models
- Background sessions now commit and push automatically to preserve work, open a draft PR only when the task calls for one, and follow your CLAUDE.md git instructions
- Bug fixes and reliability improvements
- Added Claude Opus 5 (claude-opus-5), now the default Opus model: 1M context, fast mode at $10/$50 per Mtok. Opus 4.7 leaves fast mode, so /fast covers Opus 5 and Opus 4.8
- Added the DirectoryAdded hook (fires after /add-dir or the SDK register_repo_root control request), sandbox.network.strictAllowlist to deny non-allowlisted hosts without prompting, and the workflowSizeGuideline settings key
- Subagents spawn nested subagents up to depth 3 again after nesting was disabled in 2.1.217; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 to opt out, and stream-json forwards depth-2+ subagent text when --forward-subagent-text is set
- Added mcp_server_errors to the headless stream-json init event, plus HTTP status and error text in claude mcp list and /mcp when a server fails to connect
- Opus 4.7 removed from fast mode; /fast applies to Opus 5 and Opus 4.8 only
- Dynamic workflows default to a medium size guideline (aim for fewer than 15 agents); change it with Dynamic workflow size in /config
- /code-review now runs as a background subagent, so review work no longer fills the conversation and stacked slash commands stay the review target
- Security: agent frontmatter hooks require the agent file own folder to have accepted workspace trust, so hooks no longer run from untrusted folders
- Fixed the left arrow key discarding the conversation with no undo, Windows paths with \u-prefixed segments (like C:\Users\unicorn) being corrupted into CJK characters, and /context reporting stale pre-compact token usage
- Auto mode adjudicates the dangerous-rm, background-& and suspicious-Windows-path checks instead of opening permission dialogs; plan mode with auto no longer prompts for Bash the static analyzer cannot prove read-only
- Skills with context: fork run in the background by default; opt out per skill with background: false
- Agent markdown files reject agent names containing :, which is reserved for plugin namespacing
- /deep-research starts only when invoked manually; Claude no longer launches it on its own
- Added a cap on concurrently-running subagents (default 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) so one message cannot fan out unbounded background agents
- Fixed --max-budget-usd not stopping background subagents: once the cap is reached, new spawns are denied and running background agents are halted
- Fixed a memory leak where truncated MCP tool outputs kept the full untruncated result in memory for the rest of the session
- Added emoji shortcode autocomplete in the prompt input (:heart: inserts a heart), disabled with the emojiCompletionEnabled setting
- Security: fixed background session isolation not canonicalizing symlinked working directories, which could let sessions escape their workspace folder
- Subagents no longer spawn nested subagents by default (restored to depth 3 in 2.1.219); set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH to control nesting
- Added sandbox.filesystem.disabled to skip filesystem isolation while keeping network egress control
- Fixed a slowdown in long sessions where message normalization cost grew quadratically with the number of turns, causing multi-second stalls and slow resumes
- Fixed auto mode denying commands with HTTP 401 classifier errors after the OAuth token expired or rotated mid-session
- Fixed AskUserQuestion telling Claude to continue when the answer asked it to wait or explain first, and Claude Code on the web re-asking the same question after an idle period
- Claude no longer runs the /verify and /code-review skills on its own; invoke them with /verify or /code-review when you want them
- Security: eight Bash permission-check fixes, commands over 10,000 characters now always prompt, file-descriptor redirects fail closed, zsh variable subscripts in [[ ]] prompt, and Edit(src/**)-style single-segment rules no longer auto-approve nested src/ directories anywhere in the tree
- Added the EndConversation tool so Claude can end sessions with highly abusive users or jailbreak attempts, plus a periodic progress heartbeat for long-running tool calls that previously went silent
- OpenTelemetry: added message.uuid, client_request_id, and tool_source log attributes for message-level correlation, and CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH to configure the 60 KB content truncation limit
- Fixed background-session lifecycle bugs: idle sessions keeping the daemon alive, completed sessions being impossible to remove via claude rm, and a displaced daemon deleting its successor control socket
- Single-segment dir/** hook if: conditions now match only
/dir; write **/dir/** for any-depth matching (deny/ask permission rules keep their any-depth match) - file commands using -m/--magic-file or -f/--files-from now require permission instead of being auto-allowed as read-only
- docker commands (including the Podman shim) carrying daemon-redirect flags (--url, --connection, --identity, Podman remote mode) now prompt for permission
- /fork now copies your conversation into a new background session (its own row in claude agents) while you keep working; the in-session subagent it used to launch is now /subtask
- Added a session-wide WebSearch cap (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION, default 200) and a per-session subagent-spawn cap (CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, default 200) to stop runaway loops; /clear resets the budget
- MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS)
- Security: fixed plan mode auto-running file-modifying Bash commands without a permission prompt, and worktree creation following a committed .claude/worktrees symlink to create files outside the repository
- Deprecated the Task tool's mode parameter (now ignored); subagents inherit the parent session's permission mode by default
- Added --forward-subagent-text and CLAUDE_CODE_FORWARD_SUBAGENT_TEXT to include subagent text and thinking in stream-json output
- Security: permission previews relayed to chat channels now neutralize bidirectional-override, zero-width, and look-alike quote characters, so tool inputs cannot visually alter the approval message
- Security: auto mode no longer overrides a PreToolUse hook's ask decision for unsandboxed Bash; an ask now floors the decision at a prompt
- Fixed subagents with an explicit model override reverting to the parent's model when resumed, and nested .claude/rules/*.md loading even when setting sources exclude project settings
- Added a live elapsed-time counter to the collapsed tool summary line, so long-running tool calls visibly tick instead of looking stuck
- Security: the Agent tool is hardened against indirect prompt injection via content a subagent read, and the ultracode keyword opt-in no longer fires on non-human input such as webhook payloads and relayed PR comments
- Security: fixed worktree-isolated subagents being able to run git-mutating commands against the main repo checkout instead of their own worktree
- Auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the first request and pinned for the session
- Write(path), NotebookEdit(path), and Glob(path) permission rules now trigger a startup warning; use Edit(path) or Read(path) instead
- Fixed /model and other dialogs being blocked in claude agents background sessions (reverts an overly broad guard)
- Added screen reader mode: opt-in plain-text rendering via claude --ax-screen-reader, CLAUDE_AX_SCREEN_READER=1, or axScreenReader: true in settings
- Added vimInsertModeRemaps for mapping two-key insert-mode sequences like jj to Escape, and CLAUDE_CODE_PROCESS_WRAPPER for running every Claude Code self-spawn through a corporate launcher
- Fixed the context window and auto-compact indicator briefly resetting to 200k after an auto-update, causing a false 100% context used when resuming long-context sessions
- Fixed very large markdown tables stalling rendering; tables over 200 rows now show the first 200 with a note about the remainder
- Bedrock, Vertex AI, and Claude Platform on AWS now default to Claude Opus 4.8
- Fixed the terminal freezing and keystrokes lagging while streaming very long lists, tables, paragraphs, or code blocks
- Auto mode is now available without the CLAUDE_CODE_ENABLE_AUTO_MODE opt-in on Bedrock, Vertex AI, and Foundry (disable via disableAutoMode)
- Security: remote managed settings from a non-interactive run were being recorded as consented without ever showing the consent dialog, now fixed
- Plugins: ${user_config.*} in shell-form hook/monitor/headersHelper commands is now rejected (shell-injection fix); use exec form or $CLAUDE_PLUGIN_OPTION_
- Plugins: option values (pluginConfigs) are no longer read from project-level .claude/settings.json; only user, --settings, and managed settings are honored
- Added a /doctor check that proposes trimming checked-in CLAUDE.md files by cutting content Claude can derive from the codebase
- Changed /commit-push-pr to auto-allow git push to the repo configured push remote (remote.pushDefault, or the sole remote), not just origin
- Background agents now upgrade in the background right after an update, instead of a slow stale-session upgrade on attach
- Improved /code-review findings quality on claude-opus-4-8 across all effort levels
- /doctor is now a full setup checkup that can diagnose and fix issues (/checkup is its alias)
- Improved the agent view: rows show a colored state word and a classifier-written headline instead of raw tool call text
- Security: auto mode now blocks tampering with session transcript files, and asks before running rm -rf on a variable it cannot resolve
- Fixed --json-schema silently producing unstructured output when the schema was invalid, and schemas using the format keyword being rejected
- Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook
- Added a warning when your login is about to expire, plus a grey pause badge in the footer for manual permission mode
- Fixed background-agent stability: macOS 15-20s stall on open/switch, sessions going permanently unresponsive on stale daemon tokens, crash-looping on deleted working directories, a silent auto-upgrade failure that killed every running session
- Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree
- Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily
- Added a Dynamic workflow size setting in /config for controlling how large Claude generally makes dynamic workflows
- Added workflow.run_id and workflow.name OpenTelemetry attributes so a workflow run can be reconstructed from OTel data
- Fixed images and files sent from the Remote Control mobile/web app without a caption being silently dropped
- Changed /review
back to a fast single-pass review; use /code-review for the multi-agent review
- Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders
- ⭐ AskUserQuestion dialogs no longer auto-continue by default; opt into an idle timeout via /config
- Changed the "default" permission mode to "Manual" across CLI, VS Code, and JetBrains; --permission-mode manual accepted alongside default
- Fixed background sessions silently stopping mid-turn after sleep/wake, and never restarting after a crash left a stale daemon.lock
- Fixed project-scoped plugins not loading correctly from git worktrees of the same repository
- Stacked slash-skill invocations like /skill-a /skill-b now load all leading skills (up to 5), not just the first
- Transient server rate-limit errors (429s unrelated to usage limit) now retried automatically with backoff for subscribers; CLAUDE_CODE_RETRY_WATCHDOG raises default retries to 300 and lifts the CLAUDE_CODE_MAX_RETRIES cap
- Fixed streaming responses discarded on mid-stream server errors (partial output now kept); subagents cut off by rate limits now return partial work to the parent; API errors in subagents reported instead of shown as success
- Fixed the Linux background-agent daemon killing itself and all agents every ~50s after an unclean shutdown; SSL certificate errors now fail immediately with actionable guidance
- ⭐ Subagents now run in the background by default: Claude keeps working while they run and is notified when they finish
- ⭐ Claude in Chrome is now generally available
- Background agents launched from claude agents now commit, push, and open a draft PR when finishing code work; new Notification hook events agent_needs_input / agent_completed
- Explore agent now inherits the session model (capped at Opus) instead of Haiku; subagents and compaction inherit extended thinking config; removed the /agents wizard
- ⭐ 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
- Added organization default models (shows as "Org default" or "Role default" in /model); readable default session names; clickable file attachments in chat (Cmd/Ctrl-click reveals in Finder/Explorer)
- Security: claude mcp list/get no longer spawn .mcp.json servers self-approved by a committed .claude/settings.json; untrusted workspaces show pending approval
- Fixed waking a background job permanently deleting its conversation on a transcript misread; rate-limit warning flicker/over-counting; duplicate recap lines after StructuredOutput retry
- Improved background session reliability across process stop/restart/update; /code-review merged five cleanup finders (~25% token reduction); streaming idle watchdog on by default
- Fixed hook matchers with hyphenated identifiers (e.g. code-reviewer, mcp__brave-search) accidentally substring-matching; use mcp__brave-search__.* to match all tools from a server
- Fixed voice dictation on macOS (silence after input device change) and auto-submit for languages without spaces (Japanese, Chinese, Thai)
- Fixed background agent daemon socket failures, blank screen on crash restart, jobs disappearing when written by newer version
- Added CLAUDE_CODE_DISABLE_MOUSE_CLICKS; Remote session startup shows provisioning checklist
- ⭐ claude_code.assistant_response OpenTelemetry event logs model responses; set OTEL_LOG_ASSISTANT_RESPONSES=0 if you log prompts and want to exclude responses
- autoMode.classifyAllShell routes all Bash/PowerShell through auto-mode classifier; denial reasons shown in transcript, toast, and /permissions
- Live file path autocomplete in bash mode (!); startup notice when MCP servers need auth
- Automatic memory-pressure reaping for idle background shell commands (disable: CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1)
- ⭐ /rewind now works after /clear to resume a conversation from before the clear
- Reduced CPU usage during streaming by ~37% by coalescing text updates to 100ms intervals
- MCP server reliability: capability discovery retries transient errors; OAuth headless paste-URL fallback; HTTP 404 errors show URL
- Fixed background agents resurrecting after stop; 20+ bug fixes including scroll jump and welcome splash overflow
- Bug fixes and reliability improvements
- ⭐ sandbox.credentials setting blocks sandboxed commands from reading credential files and secret environment variables
- ⭐ Org-configured model restrictions enforced in model picker, --model, /model, and ANTHROPIC_MODEL with explanatory message
- Fixed remote MCP tool calls hanging indefinitely; now abort after 5 min with error (override: CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT)
- Fixed --resume failing after no-model -p runs; fixed structured output looping; 15+ bug fixes
- ⭐ `claude mcp login/logout
` authenticates MCP servers from the CLI without the interactive /mcp menu; --no-browser flag for SSH sessions - `!` bash commands now auto-trigger Claude to respond to output; opt-out via "respondToBashCommands": false in settings.json
- Background subagents surface permission prompts in main session instead of auto-denying; dialog shows which agent is asking
- Fixed Agent(type) deny rules and Agent(x,y) allowed-types restrictions not enforced for named subagent spawns; 25+ bug fixes
- Improved stream-stall hint: reads "Waiting for API response · will retry in …" (was "No response from API · Retrying in …"), triggers after 20s instead of 10s
- ⭐ Auto mode safety: destructive git ops (reset --hard, checkout -- ., clean -fd) and git commit --amend and terraform/pulumi/cdk destroy are blocked unless explicitly requested
- Model deprecation warnings on stderr in print mode (-p) and for models set in agent frontmatter
- `attribution.sessionUrl` setting omits the claude.ai session link from commits and PRs in web/Remote Control sessions
- 10+ bug fixes: thinking 400 errors on subagent spawns, WebSearch empty in subagents, tmux pane launch failures
- ⭐ `/config key=value` syntax sets any setting inline from the prompt (e.g. `/config thinking=false`) — works in interactive, -p, and Remote Control
- `sandbox.allowAppleEvents` opt-in for macOS sandboxed commands
- Improved streaming: long paragraphs appear line-by-line instead of waiting for the first line break
- Improved subagent panel: idle agents auto-hide after 30s, list caps at 5 rows with scroll hints; 30+ bug fixes
- Fixed mid-stream connection drops: partial responses preserved, spinner no longer stuck at "running tool"
- Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172)
- 6+ bug fixes: sandbox denyRead/allowRead glob performance, feedback survey rating, welcome banner stacking, Ctrl+O subagent transcript, prompt focus
- ⭐ Tool(param:value) syntax for permission rules to match tool input parameters, e.g. Agent(model:opus) to block Opus subagents
- Nested .claude/skills directories load when working on files there; directory-qualified names on clash prevent conflicts
- Improved auto mode: subagent spawns evaluated by classifier before launch
- 10+ bug fixes: subagent transcript, compaction fallback model, stale auth credentials, MCP disallowedTools server specs, vim undo
- ⭐ Session titles generated in the language of your conversation; `language` setting pins a specific language
- `footerLinksRegexes` setting: regex-matched link badges in the footer row
- Improved Bedrock credential caching: cached until Expiration instead of fixed 1 hour
- 15+ bug fixes: availableModels alias enforcement, Fable 5 auto mode fallback, hook if path conditions, Linux sandbox symlink, tmux clipboard, Remote Control model switch
- ⭐ `enforceAvailableModels` managed setting: constrains Default model to allowlist; blocks user/project settings from widening a managed list
- `wheelScrollAccelerationEnabled` setting to disable mouse-wheel scroll acceleration in fullscreen mode
- Fixed /model picker hiding the model family that Default resolves to (Opus/Sonnet row visible per plan type)
- [VSCode] Usage attribution in /usage dialog: cache misses, long context, subagents, per-skill/agent/plugin/MCP breakdowns
- 8+ bug fixes: Fable 5 billing banner, Bedrock GovCloud prefix, background session env inheritance, exit pause on macOS/Linux
- Fixed Fable 5 model names with [1m] suffix not normalized (1M context included by default)
- Fixed spurious "sandbox dependencies missing" startup warning on Windows
- ⭐ Sub-agents can now spawn their own sub-agents (up to 5 levels deep)
- Amazon Bedrock reads AWS region from ~/.aws config files when AWS_REGION not set
- Search bar added when browsing marketplace plugins in /plugin
- 20+ bug fixes: 1M context stuck, model picker availableModels issues, permission rule wildcards, VS Code PowerShell rendering
- ⭐ Claude Fable 5 (Mythos-class model) now available
- Fixed transcript saving from VS Code integrated terminal sessions
- ⭐ --safe-mode flag: start with all customizations disabled for troubleshooting
- ⭐ /cd command: change working directory mid-session without breaking prompt cache
- disableBundledSkills setting to hide built-in skills, workflows, and slash commands
- 15+ bug fixes: enterprise MCP policy enforcement, macOS UI stall, Windows Git popup, agents --json
- Bug fixes and reliability improvements
- Bug fixes and reliability improvements
- `fallbackModel` setting: up to 3 fallback models tried in order when primary is overloaded or unavailable; `--fallback-model` works in interactive sessions too
- Glob patterns in deny rule tool-name position (`"*"` denies all tools); hardened `SendMessage`: relayed messages no longer carry user authority
- `MAX_THINKING_TOKENS=0`, `--thinking disabled`, and per-model toggle now disable thinking on models that think by default via Claude API
- 15+ bug fixes: JetBrains 2026.1+ flickering, Kitty protocol Shift+non-ASCII input, PowerShell hang, orphaned `--bg-pty-host` CPU spin
- Bug fixes and reliability improvements
- `requiredMinimumVersion`/`requiredMaximumVersion` managed settings: Claude Code refuses to start outside the allowed version range
- `/plugin list` with `--enabled`/`--disabled` filters; Stop/SubagentStop hooks can return `additionalContext` to continue the turn
- Skills: `\$` escape for literal `$` in command bodies; stdio MCPs receive `CLAUDE_CODE_SESSION_ID` on `--resume`
- 10+ bug fixes: `claude -p` background hang, bazel/EDR bash regression, Windows EEXIST fix, managed settings on fresh config
- `claude agents --json` now includes `waitingFor` showing what a waiting session is blocked on (e.g. permission prompt)
- Clicking a slash command fills it into the prompt instead of running immediately; press Enter to run
- Remote Control shows as a persistent footer pill; Windsurf renamed to Devin Desktop in `/ide`, `/terminal-setup`, `/scroll-speed`
- Quieter startup: notices group by severity, session info and announcements share a single line; 25+ bug fixes
- `OTEL_RESOURCE_ATTRIBUTES` values included as labels on metric datapoints for custom dimensions (team, repo)
- `claude agents` rows show `done/total` for fanned-out work; `/mcp` collapses unused claude.ai connectors
- Parallel tool calls: failed Bash no longer cancels other calls in the same batch
- 20+ bug fixes: managed-settings policies fix for third-party providers, MCP secrets no longer printed to terminal, `isolation: worktree` in background sessions fixed
- ⭐ Renamed dynamic-workflow trigger keyword from `workflow` to `ultracode` (violet shimmer in prompt); asking in your own words still works
- Security: added prompt before writing to shell startup files (`.zshenv`, `.zlogin`) and `~/.config/git/`; `acceptEdits` mode prompts before build-tool config files
- Edit no longer requires separate Read after single-file `grep`/`egrep`/`fgrep`
- Removed `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` (deprecated in 2.1.154, now no-op); JetBrains plugin suggestion removed from startup; 20+ bug fixes
- `workflow` keyword no longer triggers dynamic workflows; use `ultracode` instead
- Internal infrastructure improvements (no user-facing changes)
- ⭐ Auto mode now available on Bedrock, Vertex, and Foundry for Opus 4.7 and Opus 4.8; opt in with `CLAUDE_CODE_ENABLE_AUTO_MODE=1`
- ⭐ Plugins in `.claude/skills` directories auto-load without marketplace required; `claude plugin init
` scaffolds new plugins - Autocomplete for `/plugin` arguments; `agent` field in `settings.json` honored for dispatched sessions with `--agent
` override; `EnterWorktree` switches between worktrees mid-session - 20+ bug fixes: corrupted images no longer crash requests, sandbox network prompts fixed in desktop/IDE/SDK auto mode, `--resume` improvements, WSL image paste fixes, right-click paste duplicate, long conversation performance improved
- Fixed Opus 4.8 thinking blocks being modified, which was causing API errors
- ⭐ Opus 4.8 with high effort default; `/effort xhigh` for hardest tasks; fast mode at 2x rate / 2.5x speed
- ⭐ Dynamic workflows: Claude orchestrates tens to hundreds of background agents in one session; run `/workflows` to monitor
- Lean system prompt default for all models except Haiku/Sonnet/Opus 4.7+; `/simplify` reworked to cleanup-only (reuse/simplification/efficiency/altitude); `!
` in claude agents runs background shell sessions - Streaming tool execution always-on including Bedrock/Vertex/Foundry; plugin `defaultEnabled: false` option; 30+ bug fixes
- `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` deprecated (removed 2026-06-01); use `/model claude-opus-4-6[1m]` then `/fast on`
- `/simplify` now runs cleanup-only review instead of full code-review fix
- `/model` now saves as default for new sessions (IDE parity); press `s` in the picker to switch current session only
- `skipLfs` for plugin marketplace git sources; status line commands get `COLUMNS`/`LINES` env vars; `claude agents` autocomplete includes built-in skills + slash commands; PR column shows `PR #N` / `N PRs`
- 25+ bug fixes: stateful MCP reconnect loop (regression 2.1.147), API gateway credential leak, subagent MCP ignoring enterprise policies, Agent tool worktree silently discarding outputs, Windows installer false success
- `modelPicker:setAsDefault` keybinding renamed to `modelPicker:thisSessionOnly` in keybindings.json
- `/code-review --fix` applies review findings to working tree after review; `/simplify` now invokes `/code-review --fix`
- Skills/commands can set `disallowed-tools` frontmatter to remove tools while the skill is active; `/reload-skills` re-scans directories without restart
- New `MessageDisplay` hook event to transform or hide assistant message text
- Auto mode no longer requires opt-in; `--fallback-model` for session-level fallback; `SessionStart` can set session title + trigger skill reload; 35+ bug fixes
- Internal infrastructure improvements (no user-facing changes)
- /usage per-category breakdown: skills, subagents, plugins, and per-MCP-server cost
- Markdown GFM task list checkboxes (- [ ]/- [x]) now render natively
- Security: PowerShell cd permission bypass fixed + sandbox worktree write allowlist corrected
- Enterprise: allowAllClaudeAiMcps managed setting for claude.ai cloud MCP connectors
- 20+ bug fixes: /diff keyboard scrolling, transcript view freeze, slash-command arg hints, /insights crash
- Hotfix: Bash tool returning exit code 127 on every command (regression from 2.1.147)
- ⭐ Pinned background sessions (
Ctrl+Tinclaude agents): stay alive when idle, auto-restart on CC updates, shed under memory pressure only after non-pinned sessions /code-review --comment: post findings as inline GitHub PR comments- Improved auto-updater: retries transient network failures, reports specific error categories and OS error codes, shows current version on failure
- Bug fixes: prompt history no consecutive duplicates, PowerShell hook
ifconditions matching, pasted text[Pasted text #N]placeholder, plugin component counts doubled, slash commands + tab/newline treated as unknown, 25+ additional fixes
- ⭐
/simplifyrenamed to/code-reviewwith optional effort level (e.g./code-review high) - Auto mode no longer suppresses
AskUserQuestionwhen the user or a skill explicitly relies on it - Bug fixes: Windows PowerShell "command line is invalid" regression (2.1.124), MCP paginated resources/prompts,
/backgroundrefusing skill-only commands, backgrounded sessions re-prompting for already-granted permissions, 15+ total
- ⭐
claude agents --json: list live sessions as JSON for scripting (tmux-resurrect, status bars, session pickers) - ⭐
/pluginDiscover/Browse now previews commands, agents, skills, hooks, MCP/LSP before installation; tab title shows awaiting-input count - Security fix: permission-prompt bypass for bare variable assignments to non-allowlisted env vars in Bash now requires explicit approval
- Bug fixes: MCP paginated resources/templates/prompts, Read tool truncates instead of hard error,
/reviewGraphQL fix, task list ordering, agent team non-ASCII names
- ⭐
/resumenow lists background sessions (started via--bgor agent view) alongside interactive ones, marked withbg - ⭐
/modelis now session-only by default: pressdin the picker to set a default model for new sessions - "extra usage" renamed to "usage credits" across CLI;
/extra-usage→/usage-credits(old name still works) - Bug fixes: 75s startup hang on unreachable API (now 15s timeout), terminal rendering corruption, macOS Full Disk Access crash, MCP paginated
tools/list, 40+ total
- ⭐ Plugin dependency enforcement:
claude plugin disablerefuses when another enabled plugin depends on the target (with disable-chain hint);enableforce-enables transitive deps - ⭐ Projected context cost (per-turn and per-invocation token estimates) added to the
/pluginmarketplace browse pane worktree.bgIsolation: "none": background sessions edit working copy directly withoutEnterWorktree- Bug fixes: stop hook block loop (warns after 8 blocks), Esc/Ctrl+C cancels
/loopwakeup, background sessions preserve model+effort after idle wake
- ⭐ Fast mode now uses Opus 4.7 by default (was Opus 4.6): set
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1to pin to 4.6 - ⭐ New
claude agentsdispatch flags:--add-dir,--settings,--mcp-config,--model,--effort,--permission-modeand more - Plugins with root-level
SKILL.mdand noskills/subdirectory now surface as a skill;/pluginshows LSP servers - Bug fixes:
MCP_TOOL_TIMEOUTnow raises per-request fetch timeout, daemon exits cleanly afterbrew upgrade, background worktree recognition
- ⭐ Hook
terminalSequenceoutput field: emit desktop notifications, window titles, and bells from hooks without a controlling terminal - ⭐
claude agents --cwd <path>scopes session list to a directory; agents with lingering shells move to Completed - Rewind "Summarize up to here": compress earlier context;
/bgpreserves permission mode; spinner warms amber after 10s - 50+ bug fixes: Bedrock cross-account auth, MCP 403 needs-auth hint, Remote Control token rotation race, vim Ctrl+C, markdown table regression
- Agent tool
subagent_typematching now case- and separator-insensitive ("Code Reviewer"resolves tocode-reviewer) - Plugins warn when a default component folder is silently ignored due to
plugin.jsonkey conflict - Bug fixes:
/goalhang withdisableAllHooks, symlinked settings hot-reload regression,claude --bgconnection drop
- ⭐ Agent view (Research Preview):
claude agentslists all sessions: running, blocked on you, or done - ⭐
/goalcommand: set a completion condition; Claude works across turns with live elapsed/turns/tokens overlay - Hook
args: string[]exec form (no shell spawning) +continueOnBlockfor PostToolUse - 40+ bug fixes: auth deadlock,
autoAllowBashIfSandboxedshell expansion, MCP SSE 16MB cap, Skill wildcard prefix match
- Internal fixes
- [VSCode] Fixed extension failing to activate on Windows
- ⭐
settings.autoMode.hard_deny: auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELto re-enable session quality survey for enterprises capturing responses via OpenTelemetry- Fixed MCP servers disappearing after
/clearin VS Code/JetBrains/Agent SDK; MCP OAuth concurrent refresh token race fixed (no more daily re-auth for multi-server users) - 40+ UI/terminal fixes: plan mode write blocking, extended thinking redacted-block API 400 fix,
--resumewith underscores in project path, WSL2 image paste via PowerShell fallback
- ⭐
worktree.baseRefsetting (fresh|head):fresh(default) branches fromorigin/<default>; setheadto keep local HEAD with unpushed commits. Note: reverts 2.1.128 behavior: setworktree.baseRef: "head"to restore it - Hooks receive active effort level via
effort.levelJSON field and$CLAUDE_EFFORTenv var in Bash subcommands - Fixed subagents not discovering project/user/plugin skills via Skill tool
- Fixed parallel sessions dead-ending at 401 after refresh-token race;
HTTP(S)_PROXY/NO_PROXY/mTLS now respected for full MCP OAuth flow
worktree.baseRefdefaults tofresh(branches fromorigin/<default>), reverting 2.1.128: setworktree.baseRef: "head"to keep local HEAD
CLAUDE_CODE_SESSION_IDenv var now passed to Bash tool subprocess environment (matchessession_idin hook JSON input)CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1to opt out of the fullscreen alternate-screen renderer and keep output in native scrollback- Fixed unbounded memory growth (10GB+ RSS) when a stdio MCP server writes non-protocol data to stdout
- 20+ terminal/TUI/MCP fixes: SIGINT graceful shutdown,
--resumeemoji crash, fullscreen blank after sleep, JetBrains scroll runaway, mouse wheel speed in Cursor/VS Code, pasting/swallow, statusline context token counts, Alt+T on macOS, MCPtools/listfailure silent 0-tools
- Fixed VS Code extension failing to activate on Windows (hardcoded
createRequirebuild path in bundled SDK) - Fixed Mantle endpoint authentication failing with missing
x-api-keyheader
--plugin-url <url>flag to fetch a plugin.ziparchive from URL for the current session;CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEfor Homebrew/WinGet auto-upgrade with restart prompt- Ctrl+R history picker restored to all-projects default (pre-2.1.124 behavior): press Ctrl+S to narrow to current project or session;
skillOverridessetting now works - Gateway
/v1/modelsdiscovery now opt-in viaCLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1; third-party deployments no longer see first-party spinner tips - 20+ bug fixes: 1h prompt cache TTL downgrade, OAuth refresh race after sleep,
Bash(mkdir *)allow rules,/contextwasting ~1.6k tokens,/cleartab title reset, agent panel hidden regression,Bash(touch *)allow rules
EnterWorktreenow creates branch from local HEAD: unpushed commits no longer dropped;--plugin-diraccepts.zipplugin archives--channelsworks with console (API key) auth;/mcpshows tool count per server and flags 0-tool servers- Parallel bash tool call fix: a failing read-only command no longer cancels sibling calls; sub-agent summaries now include prompt cache (~3x
cache_creationreduction) - 35+ bug fixes: 1M-context false "Prompt is too long", MCP stdio corrupted args with spaces, MCP images dropped on structured+content blocks, clipboard whitespace in code blocks
- ⭐
/modelpicker lists models from your gateway's/v1/modelsendpoint whenANTHROPIC_BASE_URLpoints at a compatible gateway - ⭐
claude project purge [path]: delete all Claude Code state for a project (transcripts, tasks, history, config entry); supports--dry-run,-y,-i,--all claude auth loginaccepts pasted OAuth code when browser callback can't reach localhost (WSL2, SSH, containers); Windows PowerShell 7 now detected + primary shell- Security: Fixed
allowManagedDomainsOnly/allowManagedReadPathsOnlyignored when higher-priority settings lacked sandbox block; 40+ bug fixes (image paste crash >2000px, Stream idle timeout after sleep, CJK text on Windows, OAuth timeout, Agent SDK hang)
- Fixed OAuth authentication failing with 401 retry loop when
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1is set
- ⭐
ANTHROPIC_BEDROCK_SERVICE_TIERenv var to select Bedrock service tier (default/flex/priority) viaX-Amzn-Bedrock-Service-Tierheader - Pasting a PR URL into
/resumesearch finds the session that created it (GitHub, GitLab, Bitbucket, GitHub Enterprise) - Fixes: Vertex AI/Bedrock
output_configerrors, image resize corrected (2576→2000px max), remote control idle redraw flood,!exit/!quitbash mode crash,ToolSearchmissing late-connecting MCP tools
- ⭐
alwaysLoadMCP server config option: tools skip tool-search deferral and are always available - ⭐
claude plugin pruneremoves orphaned auto-installed plugin deps;PostToolUsehooks can now replace output for all tools (previously MCP-only) - Type-to-filter search in
/skills; MCP servers auto-retry 3x on startup;--dangerously-skip-permissionsskips.claude/dirs - Critical fixes: unbounded memory growth (multi-GB RSS) with images;
/usagememory leak (~2GB); Bash tool unusable when start dir deleted;--resumecrash on corrupted sessions
- ⭐ Windows: Git for Windows (Git Bash) no longer required: PowerShell used as shell tool when absent
- ⭐
claude ultrareview [target]subcommand for non-interactive CI/script use (--jsonfor raw output) - Skills can reference effort level with
${CLAUDE_EFFORT};AI_AGENTenv var forghtraffic attribution - Fixes: Esc during stdio MCP call closing server (regression 2.1.105),
/rewindkeyboard input after--resume, scrollback duplication, false-positivermpermission prompts in auto mode
- ⭐
/configsettings (theme, editor mode, verbose) now persist to~/.claude/settings.jsonand participate in project/local/policy override precedence - ⭐
--from-prnow accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs --printhonors agenttools:/disallowedTools:frontmatter;--agenthonorspermissionMode; PowerShell auto-approve;PostToolUsehooks includeduration_ms- Security:
blockedMarketplacesenforceshostPattern/pathPattern;prUrlTemplatesetting; 30+ bug fixes including CRLF paste, Glob/Grep on macOS,/planmode fix,TaskListordering, stale worktree reuse
- ⭐ Vim visual mode (
v) and visual-line mode (V) with selection, operators, and visual feedback - ⭐
/costand/statsmerged into/usage: both remain as typing shortcuts that open the relevant tab - ⭐ Custom named themes from
/themeor hand-edit JSON in~/.claude/themes/; plugins can ship themes viathemes/directory - Hooks can invoke MCP tools directly via
type: "mcp_tool";DISABLE_UPDATESenv var;wslInheritsWindowsSettingspolicy; 15+ bug fixes
- ⭐ Default effort changed to
highfor Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 (wasmedium) - ⭐ Fixed Opus 4.7 sessions showing inflated
/contextpercentages and autocompacting too early: was computing against 200K instead of native 1M context window - Native macOS/Linux builds: Glob and Grep tools replaced by embedded
bfsandugrep: faster searches without extra tool round-trip (Windows/npm unchanged) /modelselections persist across restarts; startup header shows model source pin; plugin dependency fixes; 15+ bug fixes
- ⭐
/resumeup to 67% faster on large sessions (40MB+); handles sessions with many dead-fork entries more efficiently - Thinking spinner shows inline progress: "still thinking", "thinking more", "almost done thinking": replaces the separate hint row
- Security: sandbox auto-allow no longer bypasses the dangerous-path check for
rm/rmdirtargeting/,$HOME, or critical system directories - Agent frontmatter
hooks:now fire when running as main-thread agent via--agent;/configsearch matches option values; many terminal, scrolling, and UI bug fixes
- Fixed crash in permission dialog when an agent teams teammate requested tool permission
- ⭐ CLI now spawns a native Claude Code binary via per-platform optional dependency instead of bundled JavaScript
- ⭐
sandbox.network.deniedDomainssetting: block specific domains even when a wildcardallowedDomainswould permit them - Security hardening: macOS
/private/{etc,var,tmp,home}paths flagged forBash(rm:*)rules; deny rules matchenv/sudo/watch/ionice/setsidwrappers;Bash(find:*)no longer auto-approves-exec/-delete - Keyboard improvements (
Ctrl+A/Elogical line,Ctrl+Backspaceon Windows);/loopEsc cancels wakeups; subagents fail with clear error after 10 min; many bug fixes
- ⭐ Claude Opus 4.7
xhigheffort level (betweenhighandmax); Auto mode for Max subscribers no longer requires--enable-auto-mode - ⭐
/ultrareviewskill: cloud-based parallel multi-agent code review; invoke without args for current branch or/ultrareview <PR#> - ⭐
/less-permission-promptsskill: scans transcripts and proposes a prioritized read-only allowlist forsettings.json - Plan files named after prompts; read-only bash with glob patterns and
cd <dir> &&no longer trigger prompts; interactive/effortslider; many bug fixes
- ⭐
/tuicommand andtuisetting: run/tui fullscreenfor flicker-free rendering in the same conversation - ⭐ Push notification tool: Claude can send mobile push notifications when Remote Control and "Push when Claude decides" config are enabled
- ⭐
--resume/--continuenow resurrects unexpired scheduled tasks /focuscommand for focus view;Ctrl+Oreverts to verbose transcript toggle;autoScrollEnabledconfig; session recap for telemetry-disabled users; 30+ bug fixes
- Improved extended-thinking indicator with a rotating progress hint for better visibility during long thinking phases
- ⭐
ENABLE_PROMPT_CACHING_1Henv var: opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry;FORCE_PROMPT_CACHING_5Mto force 5-minute TTL - ⭐
/recapcommand: provides context when returning to a session after a break; configurable in/config - Built-in slash commands (
/init,/review,/security-review) now discoverable and invokable via the Skill tool;/undoalias for/rewind /resumepicker defaults to current directory sessions (Ctrl+A for all); improved model-switch warning mid-conversation; reduced memory footprint for file reads and syntax highlighting
- Show thinking hints sooner during long operations for better real-time feedback
- ⭐ PreCompact hook support: hooks can block compaction by exiting with code 2 or returning
{"decision":"block"} EnterWorktreetool gainspathparameter to switch into an existing worktree;/proactivealias for/loop; background monitor support for pluginsWebFetchstrips<style>/<script>contents; stalled API streams abort after 5 min then retry non-streaming;/doctorstatus icons withf-to-fix- Multiple bug fixes: queued image drops, screen blank on wrapped prompts, MCP tools missing on headless first turn, 429 raw JSON error display
- ⭐
/team-onboardingcommand: generates a teammate ramp-up guide from your local Claude Code usage - OS CA certificate store trusted by default: enterprise TLS proxies work without extra config (
CLAUDE_CODE_CERT_STORE=bundledto revert) /ultraplanand remote-session features auto-create a default cloud environment (no web setup required first)- 40+ bug fixes:
--resumecontext loss, Bedrock SigV4 auth 403, sub-agents in worktrees denied file access,RemoteTriggerrun action, Grep ENOENT self-heal, hardcoded 5-min timeout removed, LSP command injection fix
- ⭐ Focus view toggle (
Ctrl+O) in NO_FLICKER mode: shows prompt, tool summary with edit diffstats, and final response refreshIntervalstatus line setting +workspace.git_worktreeJSON input field- 30+ bug fixes: NO_FLICKER (15 fixes), /resume (6 fixes), MCP 50 MB/hr buffer leak, permissions hardening, 429 exponential backoff
- Fixed Bedrock auth regression:
AWS_BEARER_TOKEN_BEDROCKandCLAUDE_CODE_SKIP_BEDROCK_AUTHno longer fail with 403
- ⭐ Amazon Bedrock powered by Mantle support: set
CLAUDE_CODE_USE_MANTLE=1 - Default effort changed from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users
- Plugin skills now use frontmatter
namefor stable invocation naming across install methods - Compact
Slacked #channelheader with clickable link for Slack MCP tool calls
- Interactive Bedrock setup wizard from login screen: step-by-step AWS auth, region config, credential verification, and model pinning
forceRemoteSettingsRefreshpolicy setting: fail-closed managed settings enforcement (blocks startup until fresh fetch)- Per-model and cache-hit cost breakdown in
/costfor subscription users /release-notesis now an interactive version picker- Linux sandbox:
apply-seccomphelper now in npm + native builds: restores unix-socket blocking
- MCP tool result size override via
_meta["anthropic/maxResultSizeChars"](up to 500K): large DB schemas pass through without truncation disableSkillShellExecutionsetting: disable inline shell execution in skills and plugin commands- Plugins can ship
bin/executables for direct Bash tool invocation - Edit tool uses shorter
old_stringanchors: reduces output tokens
/powerup: interactive animated lessons teaching Claude Code features with live demos- Fixed infinite loop crashing sessions when rate-limit dialog repeatedly auto-opened
- Fixed
--resumecausing full prompt-cache miss for users with deferred tools (regression since v2.1.69) - PowerShell tool hardened: trailing & bypass, debugger hang, TOCTOU fixed; SSE transport now linear-time
"defer"permission decision for PreToolUse hooks: headless sessions pause at tool call and resume with-p --resume- PermissionDenied hook: fires after auto mode classifier denials; return {retry: true} to let the model retry
- Named subagents now appear in @ mention typeahead;
CLAUDE_CODE_NO_FLICKER=1for flicker-free rendering - Massive bugfix batch: CRLF on Windows, StructuredOutput cache (50% failure rate), autocompact thrash circuit breaker, memory leaks
- Thinking summaries disabled by default: add showThinkingSummaries: true to settings.json to restore
- Fixed messages in Cowork Dispatch not getting delivered
X-Claude-Code-Session-Idheader on API requests: proxies aggregate by session without parsing the body- Reduced
@file mention token overhead: raw string content no longer JSON-escaped; Read tool uses compact line-number format with dedup - Improved prompt cache hit rate for Bedrock, Vertex, Foundry by removing dynamic content from tool descriptions
- Fixed marketplace plugin scripts failing with "Permission denied" on macOS/Linux (regression since v2.1.83); many other bugfixes
- Conditional
iffield for hooks: filter when they run using permission rule syntax (e.g.Bash(git *)) to reduce process spawning overhead CLAUDE_CODE_MCP_SERVER_NAME/_URLenv vars forheadersHelperscripts: one helper serves multiple MCP servers- PreToolUse hooks can now satisfy AskUserQuestion headlessly (return
updatedInput + permissionDecision: allow) - Fixed
/compactfailing with "context exceeded" on very large conversations; improved scroll performance (yoga-layout → TypeScript)
- PowerShell tool for Windows (opt-in preview): direct PowerShell access alongside Bash tool
TaskCreatedhook;WorktreeCreatehook supportstype: "http";allowedChannelPluginsmanaged setting- Global system-prompt caching now works when ToolSearch is enabled (better cache hit rates for MCP users)
- Deep links open in preferred terminal; MCP tool descriptions capped at 2KB; idle-return prompt after 75+ min
managed-settings.d/drop-in directory: teams deploy independent policy fragments that merge alphabeticallyCwdChangedandFileChangedhook events for reactive environment management (direnv, auto-toolchain)- Transcript search: press
/in transcript mode (Ctrl+O);CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1strips credentials from subprocesses - Security: fixed
--mcp-configbypassing managedallowedMcpServers/deniedMcpServerspolicy; fixed macOS exit hang
--bareflag for scripted-pcalls: skips hooks, LSP, plugin sync, skill walks (requires API key; no OAuth)--channelspermission relay: channel servers can forward tool approval prompts to your phone- MCP read/search tool calls collapse into "Queried {server}" line; plan mode hides "clear context" by default
- Fixed worktree session resume switching back to worktree; fixed concurrent sessions repeatedly re-authenticating on OAuth refresh
rate_limitsfield in statusline scripts for Claude.ai usage (5h + 7d windows withused_percentageandresets_at)effortfrontmatter for skills/slash commands to override effort level;source: 'settings'plugin marketplace (inline in settings.json)--channelsresearch preview: MCP servers can push messages into your session- Fixed
--resumedropping parallel tool results; ~80MB memory reduction on startup for large repos
--consoleflag forclaude auth login(Anthropic Console / API billing auth); "Show turn duration" toggle in/config- VSCode:
/remote-controlto bridge session to claude.ai/code; session tabs get AI-generated titles from first message - Fixed
claude -phanging without explicit stdin; fixed enterprise users unable to retry on rate limit (429) errors - Fixed
SessionEndhooks not firing on interactive/resumeswitch; ~18MB startup memory improvement
StopFailurehook event fires when turn ends due to API error (rate limit, auth failure);${CLAUDE_PLUGIN_DATA}for persistent plugin stateeffort,maxTurns,disallowedToolsfrontmatter for plugin-shipped agents; response text now streams line-by-line- ⚠️ 3 security fixes: silent sandbox disable, MCP deny rules bypassed, protected dirs writable in bypassPermissions mode
- Fixed infinite loop when API errors triggered stop hooks re-feeding blocking errors; fixed
--resumetruncating history on large sessions with subagents
- ⭐ Opus 4.6 output limits raised: default max output to 64k tokens; upper bound for Opus 4.6 and Sonnet 4.6 to 128k tokens
allowReadsandbox setting to re-allow reads withindenyReadregions;/copy Nfor Nth-latest response;/branchreplaces/fork- Security fix:
PreToolUsehooks returning"allow"could bypass enterprisedenypermission rules - Fixed auto-updater accumulating GBs of memory from overlapping downloads; fixed
--resumesilently truncating recent history - Breaking:
Agenttool no longer acceptsresumeparameter: useSendMessage({to: agentId})instead
- Agent tool:
resumeparameter removed: useSendMessage({to: agentId})
- ⭐ MCP elicitation: servers request structured input mid-task via interactive dialog; new
Elicitation,ElicitationResult,PostCompacthooks -n/--nameCLI flag for session display name;worktree.sparsePathsfor monorepo sparse checkout;/effortslash command- Fixed deferred tools (
ToolSearch) losing input schemas after compaction; auto-compact circuit breaker (stops after 3 failures) - Fixed
Bash(cmd:*)rules not matching when argument contains#; plan mode re-approval after already accepted - Improved: background agent partial results preserved on kill; model fallback notifications always visible
- ⭐ 1M context for Opus 4.6: default for Max, Team, and Enterprise plans (no extra usage required)
- Session name display on prompt bar with
/rename; hook source displayed in permission prompts - Fixed token estimation over-counting for thinking/
tool_useblocks (was causing premature compaction) - Fixed Bash tool mangling
!in piped commands (e.g.jq 'select(.x != .y)'now works) - Improved startup performance on macOS non-MDM machines
- ⭐ /context actionable suggestions: identifies context-heavy tools, memory bloat, capacity warnings with optimization tips
- ⭐ Memory leak fixed: streaming API buffers unbounded RSS growth on npm path resolved
autoMemoryDirectorysetting to configure custom directory for auto-memory storage- Fixed managed policy
askrules being bypassed by userallowrules or skillallowed-tools - Fixed
SessionEndhooks killed after 1.5s regardless ofhook.timeout(now configurable)
- ⭐ modelOverrides setting: map model picker entries to custom provider model IDs (Bedrock ARNs, etc.)
- Fixed deadlock when many skill files change at once (e.g.
git pullin large.claude/skills/repo) - Fixed subagents with
model: opus/sonnet/haikubeing silently downgraded on Bedrock/Vertex/Foundry - Fixed
SessionStarthooks firing twice when resuming via--resumeor--continue - Changed default Opus on Bedrock/Vertex/Foundry → Opus 4.6; deprecated
/output-stylein favor of/config
- ⭐ Agent model override restored:
modelparameter back on Agent tool for per-invocation overrides - ⭐ SDK 12x token savings: fixed
query()prompt cache invalidation (up to 12× input token cost reduction) - CLAUDE.md HTML comments now hidden from Claude when auto-injected;
/planaccepts optional description - Simplified effort levels: low/medium/high (removed max), new symbols ○ ◐ ●;
ExitWorktreetool added CLAUDE_CODE_DISABLE_CRONenv var;lsof,fd,pgrepadded to bash auto-approval allowlist
- ⭐ /loop command: run a prompt or slash command on a recurring interval (e.g.
/loop 5m check the deploy) - ⭐ Cron scheduling tools for recurring prompts within a session
voice:pushToTalkkeybinding now rebindable inkeybindings.json(default: space)- Fixed stdin freeze in long sessions; 5–8s startup freeze with voice mode; forked sessions sharing plan files
- Improved plugin MCP server deduplication;
/plugin uninstallnow writes tosettings.local.json
- ⭐ VSCode: spark icon listing all sessions in activity bar, plan markdown view, native
/mcpmanagement dialog - Fixed API 400 errors with third-party gateways (
ANTHROPIC_BASE_URL) and Bedrock custom inference profiles - Fixed empty responses after
ToolSearch+ prompt-cache bust when MCP server with instructions connects - Fixed voice on Windows native binary; clipboard CJK/emoji corruption on Windows/WSL
- Reduced prompt input re-renders by ~74%; startup memory −426KB; Remote Control poll rate 300× lower
- 🔒 4 security fixes: nested skills from node_modules, symlink bypass outside workdir, trust dialog silently enabling servers, sandbox not blocking domains
- ⭐ InstructionsLoaded hook event fires when CLAUDE.md/.rules files load +
agent_id,agent_type,worktreeadded to all hook events ${CLAUDE_SKILL_DIR}variable for skills +/reload-pluginscommand (no restart needed)- Voice STT expanded to 20 languages (+10: Russian, Polish, Turkish, Dutch, Ukrainian, Greek, Czech, Danish, Swedish, Norwegian)
- 15+ memory leak fixes; ~16MB baseline reduction; faster startup; MCP binary content (PDFs/audio) now saved to disk
- Sonnet 4.5 users on Pro/Max/Team auto-migrated to Sonnet 4.6
- Opus 4.6 now defaults to medium effort for Max and Team subscribers
- Re-introduced
ultrathinkkeyword to enable high effort for the next turn - Breaking: Opus 4 and Opus 4.1 removed from Claude Code first-party API: auto-migrated to Opus 4.6
- Opus 4 and Opus 4.1 removed from Claude Code first-party API
- Reduced spurious error logging
- ⭐ HTTP hooks: hooks can now POST JSON to a URL and receive JSON back, instead of running a shell command
- ⭐ Project configs & auto-memory now shared across all git worktrees of the same repository
/simplifyand/batchbundled slash commands addedENABLE_CLAUDEAI_MCP_SERVERS=falseenv var to opt out of claude.ai MCP servers/modelcommand shows currently active model in the picker- Major memory leak fixes: WebSocket, MCP caches, git root detection, JSON parsing, bash prefix, subagent state
- Fixed prompt suggestion cache regression that reduced cache hit rates
- Fixed concurrent writes corrupting config file on Windows
- 🧠 Auto-memory: Claude automatically saves useful context to memory. Manage with
/memory /copycommand: interactive picker to select individual code blocks or full response- Smarter "always allow" prefix suggestions for compound bash commands (per-subcommand prefixes)
- Fixed MCP OAuth token refresh race condition with multiple simultaneous Claude Code instances
- Fixed config file corruption wiping authentication when multiple instances ran simultaneously
- Remote Control expanded to more users
- VSCode: Fixed another cause of extension crash on Windows
- Fixed BashTool failing on Windows with EINVAL error
- Stability fixes: Windows panics/crashes, WebAssembly crashes on Linux x64 & Windows x64/ARM64
- Fixed graceful shutdown leaving stale sessions with Remote Control
- Fixed
--worktreeflag sometimes ignored on first launch
- VSCode: Fixed extension crash on Windows
- 📱 Remote Control: control your local Claude Code session from any phone, tablet, or browser via
/rcorclaude remote-control. Execution stays 100% local. Pro/Max only (Research Preview) - BashTool skips login shell by default when snapshot available: performance improvement
CLAUDE_CODE_ACCOUNT_UUID/CLAUDE_CODE_USER_EMAILenv vars for SDK account metadata/modelpicker shows human-readable labels; custom npm registries for plugins
--worktree/-wflag + subagentisolation: "worktree"for isolated git worktrees- Agent definitions support
background: trueto always run as background task ConfigChangehook event for enterprise security auditing of config changes- Simple mode includes file edit tool; Sonnet 4.6 now has 1M context on Max plan
- VS Code plan preview auto-updates as Claude iterates
ctrl+fkills all background agents; ESC cancels main thread onlylast_assistant_messagefield in Stop/SubagentStop hook inputs- 70+ bug fixes: PDF compaction, Unicode quotes, parallel file edits, OSC 8 hyperlinks
- Fixed orphaned Claude Code processes after terminal disconnect on macOS
- Support for using claude.ai MCP connectors in Claude Code
- Claude Sonnet 4.6 model support
spinnerTipsOverridesetting for customizable spinner tips- SDK:
SDKRateLimitInfo/SDKRateLimitEventfor rate limit tracking - Fixed Agent Teams on Bedrock/Vertex/Foundry; memory improvements
- Fixed auth refresh errors
- Fixed AWS auth refresh hanging (3-minute timeout)
- Fixed structured-outputs beta header on Vertex/Bedrock
- Startup performance: deferred Zod schema construction
- Improved prompt cache hit rates (date moved out of system prompt)
- Opus 4.6 effort callout for eligible users
claude auth login/status/logoutCLI subcommands- Windows ARM64 native binary support
/renameauto-generates session name from context- Multiple stability fixes (FIFOs, background tasks, permissions)
- Guard against recursive Claude Code launches
- Fixed Agent Teams model for Bedrock/Vertex/Foundry
- OTel
speedattribute for fast mode - Stability fixes (rendering, session close, fatal errors)
- Fixed Tab key queueing slash commands
- Security: Heredoc delimiter command smuggling fix
- Security: Blocked writes to
.claude/skillsin sandbox
- Fixed
/fastnot available after enabling/extra-usage
- ⭐ Fast mode now available for Opus 4.6
- Fixed crash with agent teams setting changes
- Security fix: sandbox-excluded commands bypass
- Agent teams fixes (tmux sessions, availability warnings)
TeammateIdleandTaskCompletedhook events- Agent frontmatter:
memoryfield,Task(agent_type)syntax - VSCode: Remote sessions, branch/message count in picker
- ⭐ Opus 4.6 available
- Agent teams preview (experimental)
- Automatic memory recording
- ⭐ PDF page range support (
pages: "1-5") - ⭐ Pre-configured OAuth for MCP servers (Slack)
- ⭐ New
/debugcommand for troubleshooting - Task tool metrics (tokens, duration, tool uses)
- Fixed startup performance with saved hook context
- Improved session recovery speed for long-duration sessions
--from-prflag to resume sessions linked to GitHub PRs- Sessions auto-linked to PRs via
gh pr create - Windows/VSCode stability fixes
- Skills/commands can specify required/recommended Claude Code version
- New TaskCreate fields: category, checklist, parentId
- Automatic Claude Code update checking at session start
- Tasks appear in /context with 'Disable tasks' shortcut
- TaskUpdate:
status='deleted'for task removal - PR review status indicator (colored dot + link)
- New: CLAUDE_CODE_ENABLE_TASKS env var (toggle task systems)
- New: Argument shorthand $0, $1 in custom commands
- [VSCode] Session forking/rewind for all users
- Fixed: Multiple session resuming issues with git worktrees
- ⭐ Customizable keyboard shortcuts with /keybindings
- Per-context keybindings, chord sequences
- Fix: Crashes on processors without AVX instruction support
- ⭐ New task management system with dependency tracking
- [VSCode] Native plugin management support
- [VSCode] OAuth users can browse/resume remote sessions
- Fixed: OOM crashes with heavy subagent usage
- ⚠️ Deprecation notice for npm installations
- UI rendering performance improved with React Compiler
- Fixed: MCP stdio server timeout causing UI freezes
- History-based autocomplete in bash mode (! + Tab)
- Search in installed plugins list
- Git commit SHA pinning for plugins
- Multiple fixes: context window, memory, autocomplete
- Bug fix: Message rendering
- Fix: Excessive MCP connection requests for HTTP/SSE transports
- New
Setuphook event (--init, --maintenance flags) - Keyboard shortcut 'c' to copy OAuth URL
- File suggestions show as removable attachments
auto:Nsyntax for MCP tool search thresholdplansDirectorysetting for custom plan locations- Session URL attribution to commits/PRs
showTurnDurationsetting- MCP tool search auto mode enabled by default
- Inline agent response in task notifications
- Security fix: Wildcard permission rules now properly handle compound commands (cd && rm) requiring multiple rules
- OAuth/API Console: console.anthropic.com → platform.claude.com (credential migration required)
- Search in
/configcommand - Date range filtering in
/stats - Auto-discovery of nested
.claude/skills
- Security fix: Prevented shell line continuation from bypassing permission checks
- URL validation for remote sessions
- Fixed: Agent tools with binary outputs now handle properly
- Agent tool output encoding improvements
- Fixed: Remote sessions error handling
/infocommand displays MCP server list- MCP tool discovery improvements
- Enhanced error messages for MCP server failures
- Fixed: Bash tool permission edge cases
- Security fix: Command injection vulnerability in bash processing
- Improved agent task output formatting
- Fixed: Permission prompt edge cases
- Skill hot-reload without restart
- Vim motions support in editor
/plancommand for structured planning
- OAuth/API Console URL changed: console.anthropic.com → platform.claude.com
- Agent task UI improvements
- Fixed: Skill command parsing
- Removed # shortcut for quick memory (use /memory command instead)
- MCP server status indicators
- Enhanced bash command history
- Agent tool output formatting
- Fixed: Skill discovery edge cases
- Improved error messages for permission denials
- Fixed: MCP tool schema validation
- Enhanced agent task progress indicators
- Fixed: Bash tool timeout handling
- MCP server health checks
- Fixed: Skill argument parsing
- Improved agent task error recovery
- Fixed: Permission prompt display
- Enhanced bash autocomplete suggestions
- Fixed: MCP tool discovery
- Agent tool output formatting improvements
- Fixed: Skill hot-reload edge cases
- Improved error messages for MCP server failures
- Fixed: Permission prompt edge cases
- Enhanced agent task progress indicators
- Fixed: Bash tool timeout handling
- MCP server health checks
- Fixed: Skill argument parsing
- Improved agent task error recovery
- Fixed: Permission prompt display
- Enhanced bash autocomplete suggestions
- Fixed: MCP tool discovery
- Agent tool output formatting improvements
- Fixed: Skill hot-reload edge cases
- Improved error messages for MCP server failures
- Fixed: Permission prompt edge cases
- Enhanced agent task progress indicators
- Fixed: Bash tool timeout handling
- MCP server health checks
- Fixed: Skill argument parsing
- Improved agent task error recovery
- Fixed: Permission prompt display
- Enhanced bash autocomplete suggestions
- Fixed: MCP tool discovery
- Agent tool output formatting improvements
- Fixed: Skill hot-reload edge cases
- Improved error messages for MCP server failures
- Fixed: Permission prompt edge cases
- Enhanced agent task progress indicators
- Fixed: Bash tool timeout handling
- MCP server health checks
- Fixed: Skill argument parsing
⚠ Recent Breaking Changes
- Syntax Indexed argument syntax changed: $ARGUMENTS.0 → $ARGUMENTS[0] (v2.1.19)
- Install npm installations deprecated - use native installer (v2.1.15)
- Security Command injection fix in bash processing (v2.1.2)
- Security Wildcard permission rules compound commands fix (v2.1.7)
- Security Shell line continuation permission bypass fix (v2.1.6)
- Security Heredoc delimiter command smuggling prevention (v2.1.38)
- OAuth OAuth/API Console: console.anthropic.com → platform.claude.com (v2.1.0, v2.1.7)
- Removed Removed # shortcut for quick memory (v2.0.70)
Need this in production, not just in a guide?
I do AI engineering consulting: agent architecture, Claude Code adoption for teams, and getting agentic workflows from demo to production.