xhigh effort level for Opus 4.7, sitting between high and max. Available via /effort, --effort, and the model picker; other models fall back to high/effort now opens an interactive slider when called without arguments, with arrow-key navigation between levels and Enter to confirm/theme/less-permission-prompts skill — scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for .claude/settings.json/ultrareview for running comprehensive code review in the cloud using parallel multi-agent analysis and critique — invoke with no arguments to review your current branch, or /ultrareview <PR#> to fetch and review a specific GitHub PR--enable-auto-modeCLAUDE_CODE_USE_POWERSHELL_TOOL. On Linux and macOS, enable with CLAUDE_CODE_USE_POWERSHELL_TOOL=1 (requires pwsh on PATH)ls *.ts) and commands starting with cd <project-dir> && no longer trigger a permission promptclaude <word> is invoked with a near-miss typo (e.g. claude udpate → "Did you mean claude update?")fix-auth-race-snug-otter.md) instead of purely random words/setup-vertex and /setup-bedrock to show the actual settings.json path when CLAUDE_CONFIG_DIR is set, seed model candidates from existing pins on re-run, and offer a "with 1M context" option for supported models/skills menu now supports sorting by estimated token count — press t to toggleCtrl+U now clears the entire input buffer (previously: delete to start of line); press Ctrl+Y to restoreCtrl+L now forces a full screen redraw in addition to clearing the prompt input[ (dump to scrollback) and v (open in editor) shortcuts--output-format stream-json now includes plugin_errors on the init event when plugins are demoted for unsatisfied dependenciesOTEL_LOG_RAW_API_BODIES environment variable to emit full API request and response bodies as OpenTelemetry log events for debugging@ file suggestions re-scanning the entire project on every turn in non-git working directories, and showing only config files in freshly-initialized git repos with no tracked files/resume immediately resuming an arbitrary titled session instead of showing the session picker/context grid rendering with extra blank lines between rows/clear dropping the session name set by /rename, causing statusline output to lose session_nameplugin update; plugin install now recovers from interrupted prior installscommit skill and showing "Unknown skill: commit" for users without a custom /commit commandCLAUDE_ENV_FILE and SessionStart hook environment files now apply (previously a no-op)/tui command and tui setting — run /tui fullscreen to switch to flicker-free rendering in the same conversationCtrl+O to toggle between normal and verbose transcript only; focus view is now toggled separately with the new /focus commandautoScrollEnabled config to disable conversation auto-scroll in fullscreen modeCtrl+G external editor (enable via /config)/plugin Installed tab — items needing attention and favorites appear at the top, disabled items are hidden behind a fold, and f favorites the selected item/doctor to warn when an MCP server is defined in multiple config scopes with different endpoints--resume/--continue now resurrects unexpired scheduled tasks/autocompact, /context, /exit, and /reload-plugins now work from Remote Control (mobile/web) clientsTRACEPARENT/TRACESTATE from the environment for distributed trace linkingDISABLE_TELEMETRY). Opt out via /config or CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0.plugin.json when the marketplace entry omits them; /plugin install now lists auto-installed dependenciesdisable-model-invocation: true failing when invoked via /<skill> mid-message--resume sometimes showing the first prompt instead of the /rename name for sessions still running or exited uncleanly/tui, provider setup wizards)PermissionRequest hooks returning updatedInput not being re-checked against permissions.deny rules; setMode:'bypassPermissions' updates now respect disableBypassPermissionsModePreToolUse hook additionalContext being dropped when the tool call failsCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC or CLAUDE_CODE_DISABLE_TERMINAL_TITLE is set/skills menu not scrolling when the list overflows the modal in fullscreen modeENABLE_PROMPT_CACHING_1H env var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (ENABLE_PROMPT_CACHING_1H_BEDROCK is deprecated but still honored), and FORCE_PROMPT_CACHING_5M to force 5-minute TTLCLAUDE_CODE_ENABLE_AWAY_SUMMARY if telemetry disabled./init, /review, and /security-review via the Skill tool/undo is now an alias for /rewind/model to warn before switching models mid-conversation, since the next response re-reads the full history uncached/resume picker to default to sessions from the current directory; press Ctrl+A to show all projectsCtrl+O)DISABLE_PROMPT_CACHING* environment variables/login code prompt (regression in 2.1.105)DISABLE_TELEMETRY falling back to 5-minute prompt cache TTL instead of 1 hourCLAUDE_ENV_FILE (e.g. ~/.zprofile) ends with a # comment lineclaude --resume <session-id> losing the session's custom name and color set via /rename--teleport/feedback retry: pressing Enter to resubmit after a failure now works without first editing the description--teleport and --resume <id> precondition errors (e.g. dirty git tree, session not found) exiting silently instead of showing the error message--resume truncating sessions when the transcript contained a self-referencing messagelanguage setting is configuredpath parameter to the EnterWorktree tool to switch into an existing worktree of the current repository{"decision":"block"}monitors manifest key that auto-arms at session start or on skill invoke/proactive is now an alias for /loop/doctor layout with status icons; press f to have Claude fix reported issues/config labels and descriptions for clarityWebFetch to strip <style> and <script> contents from fetched pages so CSS-heavy pages no longer exhaust the content budget before reaching actual textjq for JSON, computed Read chunk sizes for text)rich/loguru logging)package.json and lockfile not having dependencies installed automatically after install/update/resume, --worktree, or /branch/model picker on AWS Bedrock in non-US regions persisting invalid us.* model IDs to settings.json when inference profile discovery is still in-flight/help dropping the tab bar, Shortcuts heading, and footer at short terminal heightskeybindings.json being silently loaded instead of rejected with a clear errorCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC in one project's settings permanently disabling usage metrics for all projects on the machineacceptEdits permission mode when exiting plan mode would downgrade from a higher permission levelAdded:
/team-onboarding command to generate teammate ramp-up guides from local Claude Code usageCLAUDE_CODE_CERT_STORE=bundled to use only bundled CAs)/ultraplan and remote-session featuresCLAUDE_CODE_SUBPROCESS_ENV_SCRUBCLAUDE_CODE_SCRIPT_CAPS env var to limit per-session script invocationsCLAUDE_CODE_PERFORCE_MODE env var for p4 edit hints on read-only files--exclude-dynamic-system-prompt-sections flag for improved cross-user prompt cachingworkspace.git_worktree to status line JSON inputTRACEPARENT env var to Bash tool subprocesses for proper OTEL trace parentingclientInfo identificationImproved:
claude -p --resume <name> to accept titles from /rename or --nameallowManagedHooksOnly is set/plugin and claude plugin update warnings when marketplace refresh failsOTEL_LOG_USER_PROMPTS, OTEL_LOG_TOOL_DETAILS, and OTEL_LOG_TOOL_CONTENTquery() cleanup of subprocess and temp files on break/await using/resume filter hints and project/worktree/branch names in indicator/agents with tabbed layout (Running/Library tabs)/reload-plugins to pick up plugin-provided skills without restartj/k in NORMAL mode navigate history and select footer pill/claude-api skill to cover Managed AgentsFixed:
which fallback for LSP binary detection--resume/--continue losing context on large sessions--resume with missing Edit/Write tool result file_pathpermissions.deny rules not overriding PreToolUse hook's permissionDecision: "ask"--setting-sources without user causing aggressive history deletionclaude -w <name> failing after stale worktree cleanupmktemp errors after fresh bootclaude mcp serve tool calls failing in MCP clients validating outputSchemaRemoteTrigger tool's run action sending empty body/resume picker issues (narrow default view, preview on Windows Terminal, incorrect cwd, session-not-found errors, terminal title, prompt overlap)rg/btw writing entire conversation to disk on every use/context Free space and Messages breakdown disagreeing with header percentageENAMETOOLONG errors, Discover showing installed plugins, stale cache, frontmatter fields)/mcp menu offering OAuth actions for headersHelper servers; now offers Reconnectctrl+], ctrl+\, ctrl+^ keybindings in terminals with raw C0 control bytes/login OAuth URL rendering with selection paddingsettings.json env values are numbersclaude --continue -p not continuing sessions/insights omitting report file link/dev/tcp/... or /dev/udp/... not promptingoauth.authServerMetadataUrl not honored on token refresh--dangerously-skip-permissions downgraded after write to protected pathpermissions.additionalDirectories changes not applying mid-sessionadditionalDirectories revoking --add-dir access--resume for files >10KB/resume picker issues (uneditable opens, filter reload, empty list, cross-project staleness, task-status text)/export not honoring absolute paths, ~, and silently rewriting extensions/effort max denied for unknown model IDs_meta["anthropic/maxResultSizeChars"] not bypassing persist layerDISABLE_AUTOUPDATER not fully suppressing version checkgrep -f FILE / rg -f FILE not promptingsandbox.network.allowMachLookup not taking effect on macOSCLAUDE_CODE_MAX_CONTEXT_TOKENS not honoring DISABLE_COMPACT/compact hints when DISABLE_COMPACT is setAdded:
CLAUDE_CODE_PERFORCE_MODE env var for p4 edit hints on read-only filesCLAUDE_CODE_SUBPROCESS_ENV_SCRUBCLAUDE_CODE_SCRIPT_CAPS env var to limit per-session script invocations--exclude-dynamic-system-prompt-sections flag for improved cross-user prompt cachingworkspace.git_worktree to status line JSON inputTRACEPARENT env var to Bash tool subprocesses for OTEL trace parentingclientInfo identificationFixed:
/dev/tcp/... or /dev/udp/... not promptingoauth.authServerMetadataUrl not honored on token refresh--dangerously-skip-permissions downgraded after write to protected pathpermissions.additionalDirectories changes not applying mid-sessionadditionalDirectories revoking --add-dir accessBash(cmd:*) and similar wildcard rules failing with extra spaces/tabscdcut, paste, column, awk commands and filenames with %--resume for files >10KB/resume picker issues (uneditable opens, filter reload state, empty list, cross-project staleness, task-status text)/export not honoring absolute paths, ~, and silently rewriting extensions/effort max denied for unknown/future model IDs_meta["anthropic/maxResultSizeChars"] not bypassing persist layerDISABLE_AUTOUPDATER not fully suppressing version check and symlink modificationgrep -f FILE / rg -f FILE not promptingsandbox.network.allowMachLookup not taking effect on macOSImproved:
/resume filter hints and project/worktree/branch names/agents with tabbed layout (Running and Library tabs)/reload-plugins picking up plugin skills without restartj/k navigating history and selecting footer pill/claude-api skill updated for Managed AgentsFixed Bedrock requests failing with 403 "Authorization header is missing" when using AWS_BEARER_TOKEN_BEDROCK or CLAUDE_CODE_SKIP_BEDROCK_AUTH (regression in 2.1.94).
Added focus view toggle (Ctrl+O) in NO_FLICKER mode showing prompt, one-line tool summary with edit diffstats, and final response. Added refreshInterval status line setting to re-run the status line command every N seconds. Added workspace.git_worktree to the status line JSON input for linked git worktree directories. Added ● N running indicator in /agents next to agent types with live subagent instances. Added syntax highlighting for Cedar policy files (.cedar, .cedarpolicy).
Fixed --dangerously-skip-permissions being silently downgraded after approving write to protected path. Fixed and hardened Bash tool permissions with tighter env-var and network redirect checks. Fixed permission rules with names matching JavaScript prototype properties causing settings.json to be silently ignored. Fixed managed-settings allow rules remaining active after removal until process restart. Fixed permissions.additionalDirectories changes not applying mid-session and revocation issues when directories passed via --add-dir.
Fixed MCP HTTP/SSE connections accumulating ~50 MB/hr of unreleased buffers on reconnect. Fixed MCP OAuth oauth.authServerMetadataUrl not honored on token refresh after restart. Fixed 429 retries burning attempts in ~13 seconds; exponential backoff now applies as minimum. Fixed rate-limit upgrade options disappearing after context compaction.
Fixed /resume picker issues including --resume <name> opening uneditable, Ctrl+A reload wiping search, empty list swallowing navigation, task-status text replacing conversation summary, and cross-project staleness. Fixed file-edit diffs disappearing on --resume for files larger than 10KB. Fixed --resume cache misses and lost mid-turn input from attachment messages. Fixed messages typed while Claude works not being persisted to transcript.
Fixed prompt-type Stop/SubagentStop hooks failing on long sessions. Fixed subagents with worktree isolation or cwd: override leaking working directory to parent session's Bash tool. Fixed compaction writing duplicate multi-MB subagent transcript files on prompt-too-long retries.
Fixed claude plugin update reporting "already at latest version" for git-based marketplace plugins. Fixed slash command picker breaking when plugin's frontmatter name is YAML boolean keyword. Fixed copying wrapped URLs in NO_FLICKER mode inserting spaces at line breaks. Fixed scroll rendering artifacts in NO_FLICKER mode on zellij. Fixed crash in NO_FLICKER mode hovering over MCP tool results. Fixed NO_FLICKER mode memory leak from API retries. Fixed slow mouse-wheel scrolling in NO_FLICKER mode on Windows Terminal. Fixed custom status line not displaying in NO_FLICKER mode on terminals shorter than 24 rows. Fixed Shift+Enter and Alt/Cmd+arrow shortcuts not working in Warp with NO_FLICKER mode. Fixed Korean/Japanese/Unicode text becoming garbled when copied in no-flicker mode on Windows.
Fixed Bedrock SigV4 authentication failing when AWS_BEARER_TOKEN_BEDROCK or ANTHROPIC_BEDROCK_BASE_URL are set to empty strings. Improved Accept Edits mode to auto-approve filesystem commands with safe env vars or process wrappers. Improved auto mode and bypass-permissions mode to auto-approve sandbox network access prompts. Improved sandbox.network.allowMachLookup on macOS.
Improved image handling: pasted and attached images compressed to same token budget as images read via Read tool. Improved slash command and @-mention completion after CJK sentence punctuation. Improved Bridge sessions to show local git repo, branch, and working directory. Improved footer layout and context-low warning display. Improved markdown blockquotes with continuous left bar. Improved session transcript size and accuracy. Improved Bash tool OTEL tracing with W3C TRACEPARENT env var. Updated /claude-api skill to cover Managed Agents.
Added support for Amazon Bedrock powered by Mantle via CLAUDE_CODE_USE_MANTLE=1. Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (controllable via /effort). Added compact Slacked #channel header with clickable channel link for Slack MCP send-message tool calls. Added keep-coding-instructions frontmatter field support for plugin output styles. Added hookSpecificOutput.sessionTitle to UserPromptSubmit hooks for setting session title.
Plugin skills declared via "skills": ["./"] now use frontmatter name for invocation instead of directory basename. Fixed agents appearing stuck after 429 rate-limit response with long Retry-After header. Fixed Console login on macOS silently failing when login keychain is locked. Fixed plugin skill hooks in YAML frontmatter being silently ignored. Fixed plugin hooks failing with "No such file or directory" when CLAUDE_PLUGIN_ROOT not set. Fixed ${CLAUDE_PLUGIN_ROOT} resolving to marketplace source instead of installed cache.
Fixed scrollback showing repeated diffs and blank pages in long-running sessions. Fixed multiline user prompts indenting wrapped lines incorrectly. Fixed Shift+Space inserting literal "space" instead of space character in search inputs. Fixed hyperlinks opening two tabs in tmux with xterm.js terminals. Fixed alt-screen rendering bug with ghost lines. Fixed FORCE_HYPERLINK ignored when set via settings.json. Fixed native terminal cursor not tracking selected tab in dialogs.
Fixed Bedrock invocation of Sonnet 3.5 v2 by using us. inference profile ID. Fixed SDK/print mode not preserving partial assistant response. Improved --resume to resume sessions from other worktrees directly. Fixed CJK text corrupted with U+FFFD in stream-json when UTF-8 split at chunk boundaries. Reduced VSCode cold-open subprocess work. Fixed VSCode dropdown menus selecting wrong item. Added VSCode warning banner for settings.json parse failures.
Added forceRemoteSettingsRefresh policy setting to block startup until remote settings fetched with fail-closed behavior. Added interactive Bedrock setup wizard from login screen guiding through AWS authentication, region configuration, credential verification, and model pinning. Added per-model and cache-hit breakdown to /cost for subscription users. Made /release-notes an interactive version picker. Remote Control session names now use hostname as default prefix (overridable with --remote-control-session-name-prefix). Pro users see footer hint on returning to cached session showing estimated tokens for next turn.
Fixed subagent spawning permanently failing after tmux windows killed/renumbered. Fixed prompt-type Stop hooks incorrectly failing on small fast model ok:false response. Fixed tool input validation failures when streaming emits array/object fields as JSON-encoded strings. Fixed API 400 error from extended thinking with whitespace-only text blocks. Fixed misleading "esc to interrupt" hint with text selection in fullscreen mode. Fixed Homebrew install prompts to use correct cask release channel.
Fixed ctrl+e jumping to next line end when already at line end in multiline prompts. Fixed message position duplication on scrollback in fullscreen mode. Fixed idle-return hint showing cumulative tokens instead of current context size. Fixed plugin MCP servers stuck "connecting" on duplicate unauthenticated connectors. Improved Write tool diff computation speed (60% faster). Removed /tag and /vim commands. Linux sandbox now ships apply-seccomp helper in both npm and native builds for unix-socket blocking.
Added MCP tool result persistence override via _meta["anthropic/maxResultSizeChars"] annotation (up to 500K) for larger results without truncation. Added disableSkillShellExecution setting to disable inline shell execution in skills, custom slash commands, and plugin commands. Added support for multi-line prompts in claude-cli://open?q= deep links. Plugins can now ship executables under bin/ for invocation as bare commands from Bash tool.
Fixed transcript chain breaks on --resume losing conversation history on async transcript write failures. Fixed cmd+delete not deleting to start of line on multiple terminal emulators. Fixed plan mode in remote sessions losing track after container restart. Fixed JSON schema validation for permissions.defaultMode: "auto". Fixed Windows version cleanup not protecting active version's rollback copy.
/feedback now explains unavailability instead of disappearing from menu. Improved /claude-api skill guidance for agent design patterns. Improved performance with faster stripAnsi on Bun. Edit tool now uses shorter old_string anchors.
Removed: Get-DnsClientCache and ipconfig /displaydns from auto-allow (DNS cache privacy)
Added:
"defer" permission decision to PreToolUse hooks — headless sessions can pause at a tool call and resume with -p --resumeCLAUDE_CODE_NO_FLICKER=1 environment variable for flicker-free alt-screen renderingPermissionDenied hook that fires after auto mode classifier denials@ mention typeahead suggestionsMCP_CONNECTION_NONBLOCKING=true for -p mode and bounded --mcp-config server connections at 5s/permissions → Recent tab with retry option/buddy command for April 1stFixed:
Edit(//path/**) and Read(//path/**) allow rules to check resolved symlink targetsStructuredOutput schema cache bug causing ~50% failure rate/stats undercounting tokens and losing historical data-p --resume hangs and -p --continue not resuming deferred toolsclaude-cli:// deep links on macOS--resume crash with tool results from older CLI versionsif condition not matching compound commands or env-var prefixesinvalidates not clearing immediatelyImproved:
ls/tree/du@-mention typeahead ranking source files above MCP resourcesChanged:
Edit now works on files viewed via Bash sed -n or cat without separate Read callcleanupPeriodDays: 0 now rejected with validation error/env now applies to PowerShell tool commands/usage hides redundant "Current week (Sonnet only)" bar for Pro and Enterprise!command into empty prompt enters bash modeDocumentation:
TaskCreated hook event and blocking behavior documentedAdded /powerup — interactive lessons teaching Claude Code features with animated demos. Added CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE env var to keep existing marketplace cache when git pull fails. Added .husky to protected directories in acceptEdits mode.
Fixed infinite loop where rate-limit options dialog repeatedly auto-opened after hitting usage limit. Fixed --resume causing full prompt-cache miss on first request for users with deferred tools, MCP servers, or custom agents. Fixed Edit/Write failing with "File content has changed" when PostToolUse format-on-save hook rewrites file between edits. Fixed PreToolUse hooks emitting JSON to stdout with exit code 2 not correctly blocking tool call. Fixed collapsed search/read summary badge appearing multiple times.
Fixed auto mode not respecting explicit user boundaries. Fixed click-to-expand hover text nearly invisible on light terminal themes. Fixed UI crash with malformed tool input. Fixed headers disappearing on /model, /config selection screens. Hardened PowerShell tool permission checks for trailing & background job, -ErrorAction, archive extraction, and parse-fail issues. Improved performance eliminating per-turn JSON.stringify of MCP schemas and SSE transport handling. Improved /resume all-projects view parallel loading. Changed --resume picker to no longer show claude -p or SDK invocation sessions.
Fixed messages in Cowork Dispatch not getting delivered
Added:
X-Claude-Code-Session-Id header to API requests for proxy aggregation.jj and .sl to VCS directory exclusion lists (Jujutsu and Sapling metadata)[Image #N] placeholder when pasting imagesFixed:
--resume failing with "tool_use ids were found without tool_result blocks" on sessions before v2.1.85/feedback on very long sessions--bare mode dropping MCP tools and discarding enqueued messagesc shortcut copying only ~20 characters of OAuth login URL/plugin uninstall dialog pressing n not correctly uninstallingultrathink hint lingering after deletionImproved:
/skills menu sorted alphabeticallyChanged:
@VSCode Extension:
Added:
ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_SUPPORTS env vars for effort/thinking detection on 3p models_MODEL_NAME/_DESCRIPTION env vars to customize /model picker labelsCLAUDE_STREAM_IDLE_TIMEOUT_MS env var to configure streaming idle watchdog (default 90s)TaskCreated hook for task creation via TaskCreateWorktreeCreate hook support for type: "http"allowedChannelPlugins managed setting for team/enterprise allowlistx-client-request-id header for debugging timeouts/clearpaths: frontmatter accepts YAML list of globsToolSearch enabledFixed:
Ctrl+U (kill-to-line-start) no-op at line boundariesAdded:
CLAUDE_CODE_MCP_SERVER_NAME and CLAUDE_CODE_MCP_SERVER_URL environment variables for MCP headersHelper scriptsif field for hooks using permission rule syntax to filter execution/loop, CronCreate)AskUserQuestion via updatedInput with permissionDecision: "allow"OTEL_LOG_TOOL_DETAILS=1 gate for tool_parameters in OpenTelemetry tool_result eventsFixed:
/compact failing with "context exceeded" on large conversations/plugin enable and /plugin disable with mismatched install locations--worktree exiting with error in non-git repositoriesdeniedMcpServers setting not blocking claude.ai serversswitch_display returning "not available" on multi-monitor setupsOTEL_*_EXPORTER set to nonetype:'sdk' MCP servers dropped during startup/env not applying to PowerShell commandsImproved: