- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 21, 2026
2.1.116
Claude Code releases a broad polish and reliability update with much faster /resume on large sessions, quicker MCP startup, smarter slash-command search, inline thinking progress, improved terminal behavior, and fixes for plugins, usage reporting, security checks, and large-session handling.
/resumeon large sessions is significantly faster (up to 67% on 40MB+ sessions) and handles sessions with many dead-fork entries more efficiently- Faster MCP startup when multiple stdio servers are configured;
resources/templates/listis now deferred to first@-mention - Smoother fullscreen scrolling in VS Code, Cursor, and Windsurf terminals —
/terminal-setupnow configures the editor's scroll sensitivity - Thinking spinner now shows progress inline ("still thinking", "thinking more", "almost done thinking"), replacing the separate hint row
/configsearch now matches option values (e.g. searching "vim" finds the Editor mode setting)/doctorcan now be opened while Claude is responding, without waiting for the current turn to finish/reload-pluginsand background plugin auto-update now auto-install missing plugin dependencies from marketplaces you've already added- Bash tool now surfaces a hint when
ghcommands hit GitHub's API rate limit, so agents can back off instead of retrying - The Usage tab in Settings now shows your 5-hour and weekly usage immediately and no longer fails when the usage endpoint is rate-limited
- Agent frontmatter
hooks:now fire when running as a main-thread agent via--agent - Slash command menu now shows "No commands match" when your filter has zero results, instead of disappearing
- Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for
rm/rmdirtargeting/,$HOME, or other critical system directories - Fixed Devanagari and other Indic scripts rendering with broken column alignment in the terminal UI
- Fixed Ctrl+- not triggering undo in terminals using the Kitty keyboard protocol (iTerm2, Ghostty, kitty, WezTerm, Windows Terminal)
- Fixed Cmd+Left/Right not jumping to line start/end in terminals that use the Kitty keyboard protocol (Warp fullscreen, kitty, Ghostty, WezTerm)
- Fixed Ctrl+Z hanging the terminal when Claude Code is launched via a wrapper process (e.g.
npx,bun run) - Fixed scrollback duplication in inline mode where resizing the terminal or large output bursts would repeat earlier conversation history
- Fixed modal search dialogs overflowing the screen at short terminal heights, hiding the search box and keyboard hints
- Fixed scattered blank cells and disappearing composer chrome in the VS Code integrated terminal during scrolling
- Fixed an intermittent API 400 error related to cache control TTL ordering that could occur when a parallel request completed during request setup
- Fixed
/branchrejecting conversations with transcripts larger than 50MB - Fixed
/resumesilently showing an empty conversation on large session files instead of reporting the load error - Fixed
/pluginInstalled tab showing the same item twice when it appears under Needs attention or Favorites - Fixed
/updateand/tuinot working after entering a worktree mid-session
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 19, 2026
2.1.114
Claude Code fixes a permission dialog crash when a teammate requests tool permission.
- Fixed a crash in the permission dialog when an agent teams teammate requested tool permission
All of your release notes in one feed
Join Releasebot and get updates from Anthropic and hundreds of other software products.
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 17, 2026
2.1.112
Claude Code fixes the "claude-opus-4-7 is temporarily unavailable" issue in auto mode.
- Fixed "claude-opus-4-7 is temporarily unavailable" for auto mode
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 17, 2026
2.1.111
Claude Code releases Opus 4.7 xhigh, adds Auto mode for Max subscribers, and expands controls with /effort, /ultrareview, and a new terminal-matching theme. It also reduces permission prompts, improves Windows support, and fixes a long list of editor and terminal issues.
Claude Opus 4.7 xhigh is now available! Use /effort to tune speed vs. intelligence
- Auto mode is now available for Max subscribers when using Opus 4.7
- Added
xhigheffort level for Opus 4.7, sitting betweenhighandmax. Available via/effort,--effort, and the model picker; other models fall back tohigh /effortnow opens an interactive slider when called without arguments, with arrow-key navigation between levels and Enter to confirm- Added "Auto (match terminal)" theme option that matches your terminal's dark/light mode — select it from
/theme - Added
/less-permission-promptsskill — scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for.claude/settings.json - Added
/ultrareviewfor 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 - Auto mode no longer requires
--enable-auto-mode - Windows: PowerShell tool is progressively rolling out. Opt in or out with
CLAUDE_CODE_USE_POWERSHELL_TOOL. On Linux and macOS, enable withCLAUDE_CODE_USE_POWERSHELL_TOOL=1(requirespwshon PATH) - Read-only bash commands with glob patterns (e.g.
ls *.ts) and commands starting withcd <project-dir> &&no longer trigger a permission prompt - Suggest the closest matching subcommand when
claude <word>is invoked with a near-miss typo (e.g.claude udpate→ "Did you meanclaude update?") - Plan files are now named after your prompt (e.g.
fix-auth-race-snug-otter.md) instead of purely random words - Improved
/setup-vertexand/setup-bedrockto show the actualsettings.jsonpath whenCLAUDE_CONFIG_DIRis set, seed model candidates from existing pins on re-run, and offer a "with 1M context" option for supported models /skillsmenu now supports sorting by estimated token count — presstto toggleCtrl+Unow clears the entire input buffer (previously: delete to start of line); pressCtrl+Yto restoreCtrl+Lnow forces a full screen redraw in addition to clearing the prompt input- Transcript view footer now shows
[(dump to scrollback) andv(open in editor) shortcuts - The "+N lines" marker for truncated long pastes is now a full-width rule for easier scanning
- Headless
--output-format stream-jsonnow includesplugin_errorson the init event when plugins are demoted for unsatisfied dependencies - Added
OTEL_LOG_RAW_API_BODIESenvironment variable to emit full API request and response bodies as OpenTelemetry log events for debugging - Suppressed spurious decompression, network, and transient error messages that could appear in the TUI during normal operation
- Reverted the v2.1.110 cap on non-streaming fallback retries — it traded long waits for more outright failures during API overload
- Fixed terminal display tearing (random characters, drifting input) in iTerm2 + tmux setups when terminal notifications are sent
- Fixed
@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 - Fixed LSP diagnostics from before an edit appearing after it, causing the model to re-read files it just edited
- Fixed tab-completing
/resumeimmediately resuming an arbitrary titled session instead of showing the session picker - Fixed
/contextgrid rendering with extra blank lines between rows - Fixed
/cleardropping the session name set by/rename, causing statusline output to losesession_name - Improved plugin error handling: dependency errors now distinguish conflicting, invalid, and overly complex version requirements; fixed stale resolved versions after
plugin update;plugin installnow recovers from interrupted prior installs - Fixed Claude calling a non-existent
commitskill and showing "Unknown skill: commit" for users without a custom/commitcommand - Fixed 429 rate-limit errors on Bedrock/Vertex/Foundry referencing status.claude.com (it only covers Anthropic-operated providers)
- Fixed feedback surveys appearing back-to-back after dismissing one
- Fixed bare URLs in bash/PowerShell/MCP tool output being unclickable when the terminal wraps them across lines
- Windows:
CLAUDE_ENV_FILEand SessionStart hook environment files now apply (previously a no-op) - Windows: permission rules with drive-letter paths are now correctly root-anchored, and paths differing only by drive-letter case are recognized as the same path
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 16, 2026
2.1.110
Claude Code adds /tui fullscreen rendering, mobile push notifications, cleaner transcript and focus controls, better plugin and doctor workflows, smarter resume and Remote Control support, plus a long list of fixes for MCP, sessions, editor actions, and performance.
Added
- Added
/tuicommand andtuisetting — run/tui fullscreento switch to flicker-free rendering in the same conversation - Added push notification tool — Claude can send mobile push notifications when Remote Control and "Push when Claude decides" config are enabled
- Changed
Ctrl+Oto toggle between normal and verbose transcript only; focus view is now toggled separately with the new/focuscommand - Added
autoScrollEnabledconfig to disable conversation auto-scroll in fullscreen mode - Added option to show Claude's last response as commented context in the
Ctrl+Gexternal editor (enable via/config) - Improved
/pluginInstalled tab — items needing attention and favorites appear at the top, disabled items are hidden behind a fold, andffavorites the selected item - Improved
/doctorto warn when an MCP server is defined in multiple config scopes with different endpoints --resume/--continuenow resurrects unexpired scheduled tasks/context,/exit, and/reload-pluginsnow work from Remote Control (mobile/web) clients- Write tool now informs the model when you edit the proposed content in the IDE diff before accepting
- Bash tool now enforces the documented maximum timeout instead of accepting arbitrarily large values
- SDK/headless sessions now read
TRACEPARENT/TRACESTATEfrom the environment for distributed trace linking - Session recap is now enabled for users with telemetry disabled (Bedrock, Vertex, Foundry,
DISABLE_TELEMETRY). Opt out via/configorCLAUDE_CODE_ENABLE_AWAY_SUMMARY=0.
Fixed
- Fixed MCP tool calls hanging indefinitely when the server connection drops mid-response on SSE/HTTP transports
- Fixed non-streaming fallback retries causing multi-minute hangs when the API is unreachable
- Fixed session recap, local slash-command output, and other system status lines not appearing in focus mode
- Fixed high CPU usage in fullscreen when text is selected while a tool is running
- Fixed plugin install not honoring dependencies declared in
plugin.jsonwhen the marketplace entry omits them;/plugininstall now lists auto-installed dependencies - Fixed skills with
disable-model-invocation: truefailing when invoked via/<skill>mid-message - Fixed
--resumesometimes showing the first prompt instead of the/renamename for sessions still running or exited uncleanly - Fixed queued messages briefly appearing twice during multi-tool-call turns
- Fixed session cleanup not removing the full session directory including subagent transcripts
- Fixed dropped keystrokes after the CLI relaunches (e.g.
/tui, provider setup wizards) - Fixed garbled startup rendering in macOS Terminal.app and other terminals that don't support synchronized output
- Hardened "Open in editor" actions against command injection from untrusted filenames
- Fixed
PermissionRequesthooks returningupdatedInputnot being re-checked againstpermissions.denyrules;setMode:'bypassPermissions'updates now respectdisableBypassPermissionsMode - Fixed
PreToolUsehookadditionalContextbeing dropped when the tool call fails - Fixed stdio MCP servers that print stray non-JSON lines to stdout being disconnected on the first stray line (regression in 2.1.105)
- Fixed headless/SDK session auto-title firing an extra Haiku request when
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorCLAUDE_CODE_DISABLE_TERMINAL_TITLEis set - Fixed potential excessive memory allocation when piped (non-TTY) Ink output contains a single very wide line
- Fixed
/skillsmenu not scrolling when the list overflows the modal in fullscreen mode - Fixed Remote Control sessions showing a generic error instead of prompting for re-login when the session is too old
- Fixed Remote Control session renames from claude.ai not persisting the title to the local CLI session
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 15, 2026
2.1.109
Claude Code improves the extended-thinking indicator with a rotating progress hint.
- Improved the extended-thinking indicator with a rotating progress hint
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 14, 2026
2.1.108
Claude Code adds 1-hour and forced 5-minute prompt caching controls, a session recap feature, and Skill tool access to built-in slash commands. It also improves resume, model switching, errors, and memory use while fixing a wide range of login, session, transcript, and plugin bugs.
Changes
- Added
ENABLE_PROMPT_CACHING_1Henv var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (ENABLE_PROMPT_CACHING_1H_BEDROCKis deprecated but still honored), andFORCE_PROMPT_CACHING_5Mto force 5-minute TTL - Added recap feature to provide context when returning to a session, configurable in /config and manually invocable with /recap; force with
CLAUDE_CODE_ENABLE_AWAY_SUMMARYif telemetry disabled. - The model can now discover and invoke built-in slash commands like
/init,/review, and/security-reviewvia the Skill tool /undois now an alias for/rewind- Improved
/modelto warn before switching models mid-conversation, since the next response re-reads the full history uncached - Improved
/resumepicker to default to sessions from the current directory; pressCtrl+Ato show all projects - Improved error messages: server rate limits are now distinguished from plan usage limits; 5xx/529 errors show a link to status.claude.com; unknown slash commands suggest the closest match
- Reduced memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand
- Added "verbose" indicator when viewing the detailed transcript (
Ctrl+O) - Added a warning at startup when prompt caching is disabled via
DISABLE_PROMPT_CACHING*environment variables - Fixed paste not working in the
/logincode prompt (regression in 2.1.105) - Fixed subscribers who set
DISABLE_TELEMETRYfalling back to 5-minute prompt cache TTL instead of 1 hour - Fixed Agent tool prompting for permission in auto mode when the safety classifier's transcript exceeded its context window
- Fixed Bash tool producing no output when
CLAUDE_ENV_FILE(e.g.~/.zprofile) ends with a#comment line - Fixed
claude --resume <session-id>losing the session's custom name and color set via/rename - Fixed session titles showing placeholder example text when the first message is a short greeting
- Fixed terminal escape codes appearing as garbage text in the prompt input after
--teleport - Fixed
/feedbackretry: pressing Enter to resubmit after a failure now works without first editing the description - Fixed
--teleportand--resume <id>precondition errors (e.g. dirty git tree, session not found) exiting silently instead of showing the error message - Fixed Remote Control session titles set in the web UI being overwritten by auto-generated titles after the third message
- Fixed
--resumetruncating sessions when the transcript contained a self-referencing message - Fixed transcript write failures (e.g., disk full) being silently dropped instead of being logged
- Fixed diacritical marks (accents, umlauts, cedillas) being dropped from responses when the
languagesetting is configured - Fixed policy-managed plugins never auto-updating when running from a different project than where they were first installed
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 14, 2026
2.1.107
Claude Code shows thinking hints sooner during long operations.
- Show thinking hints sooner during long operations
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 14, 2026
2.1.105
Claude Code adds worktree switching, PreCompact hook blocking, background plugin monitors, and a smoother `/proactive` alias while improving reliability with better stream, network, MCP, and plugin handling plus a wide set of UI, terminal, and session fixes.
Added
- Added
pathparameter to theEnterWorktreetool to switch into an existing worktree of the current repository - Added PreCompact hook support: hooks can now block compaction by exiting with code 2 or returning
{"decision":"block"} - Added background monitor support for plugins via a top-level
monitorsmanifest key that auto-arms at session start or on skill invoke /proactiveis now an alias for/loop
Improved
- Improved stalled API stream handling: streams now abort after 5 minutes of no data and retry non-streaming instead of hanging indefinitely
- Improved network error messages: connection errors now show a retry message immediately instead of a silent spinner
- Improved file write display: long single-line writes (e.g. minified JSON) are now truncated in the UI instead of paginating across many screens
- Improved
/doctorlayout with status icons; pressfto have Claude fix reported issues - Improved
/configlabels and descriptions for clarity - Improved skill description handling: raised the listing cap from 250 to 1,536 characters and added a startup warning when descriptions are truncated
- Improved
WebFetchto strip<style>and<script>contents from fetched pages so CSS-heavy pages no longer exhaust the content budget before reaching actual text - Improved stale agent worktree cleanup to remove worktrees whose PR was squash-merged instead of keeping them indefinitely
- Improved MCP large-output truncation prompt to give format-specific recipes (e.g.
jqfor JSON, computed Read chunk sizes for text)
Fixed
- Fixed images attached to queued messages (sent while Claude is working) being dropped
- Fixed screen going blank when the prompt input wraps to a second line in long conversations
- Fixed leading whitespace getting copied when selecting multi-line assistant responses in fullscreen mode
- Fixed leading whitespace being trimmed from assistant messages, breaking ASCII art and indented diagrams
- Fixed garbled bash output when commands print clickable file links (e.g. Python
rich/logurulogging) - Fixed alt+enter not inserting a newline in terminals using ESC-prefix alt encoding, and Ctrl+J not inserting a newline (regression in 2.1.100)
- Fixed duplicate "Creating worktree" text in EnterWorktree/ExitWorktree tool display
- Fixed queued user prompts disappearing from focus mode
- Fixed one-shot scheduled tasks re-firing repeatedly when the file watcher missed the post-fire cleanup
- Fixed inbound channel notifications being silently dropped after the first message for Team/Enterprise users
- Fixed marketplace plugins with
package.jsonand lockfile not having dependencies installed automatically after install/update - Fixed marketplace auto-update leaving the official marketplace in a broken state when a plugin process holds files open during the update
- Fixed "Resume this session with..." hint not printing on exit after
/resume,--worktree, or/branch - Fixed feedback survey shortcut keys firing when typed at the end of a longer prompt
- Fixed stdio MCP server emitting malformed (non-JSON) output hanging the session instead of failing fast with "Connection closed"
- Fixed MCP tools missing on the first turn of headless/remote-trigger sessions when MCP servers connect asynchronously
- Fixed
/modelpicker on AWS Bedrock in non-US regions persisting invalidus.*model IDs tosettings.jsonwhen inference profile discovery is still in-flight - Fixed 429 rate-limit errors showing a raw JSON dump instead of a clean message for API-key, Bedrock, and Vertex users
- Fixed crash on resume when session contains malformed text blocks
- Fixed
/helpdropping the tab bar, Shortcuts heading, and footer at short terminal heights - Fixed malformed keybinding entry values in
keybindings.jsonbeing silently loaded instead of rejected with a clear error - Fixed
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICin one project's settings permanently disabling usage metrics for all projects on the machine - Fixed washed-out 16-color palette when using Ghostty, Kitty, Alacritty, WezTerm, foot, rio, or Contour over SSH/mosh
- Fixed Bash tool suggesting
acceptEditspermission mode when exiting plan mode would downgrade from a higher permission level
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 11, 2026
2.1.101
Claude Code releases a broad update with team onboarding guides, stronger remote-session setup, smarter brief and focus modes, better plugin and MCP handling, and major reliability fixes across resume, auth, settings, and editor workflows, plus security and memory improvements.
- Added
/team-onboardingcommand to generate a teammate ramp-up guide from your local Claude Code usage - Added OS CA certificate store trust by default, so enterprise TLS proxies work without extra setup (set
CLAUDE_CODE_CERT_STORE=bundledto use only bundled CAs) /ultraplanand other remote-session features now auto-create a default cloud environment instead of requiring web setup first- Improved brief mode to retry once when Claude responds with plain text instead of a structured message
- Improved focus mode: Claude now writes more self-contained summaries since it knows you only see its final message
- Improved tool-not-available errors to explain why and how to proceed when the model calls a tool that exists but isn't available in the current context
- Improved rate-limit retry messages to show which limit was hit and when it resets instead of an opaque seconds countdown
- Improved refusal error messages to include the API-provided explanation when available
- Improved
claude -p --resume <name>to accept session titles set via/renameor--name - Improved settings resilience: an unrecognized hook event name in
settings.jsonno longer causes the entire file to be ignored - Improved plugin hooks from plugins force-enabled by managed settings to run when
allowManagedHooksOnlyis set - Improved
/pluginandclaude plugin updateto show a warning when the marketplace could not be refreshed, instead of silently reporting a stale version - Improved plan mode to hide the "Refine with Ultraplan" option when the user's org or auth setup can't reach Claude Code on the web
- Improved beta tracing to honor
OTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_DETAILS, andOTEL_LOG_TOOL_CONTENT; sensitive span attributes are no longer emitted unless opted in - Improved SDK
query()to clean up subprocess and temp files when consumersbreakfromfor awaitor useawait using - Fixed a command injection vulnerability in the POSIX
whichfallback used by LSP binary detection - Fixed a memory leak where long sessions retained dozens of historical copies of the message list in the virtual scroller
- Fixed
--resume/--continuelosing conversation context on large sessions when the loader anchored on a dead-end branch instead of the live conversation - Fixed
--resumechain recovery bridging into an unrelated subagent conversation when a subagent message landed near a main-chain write gap - Fixed a crash on
--resumewhen a persisted Edit/Write tool result was missing itsfile_path - Fixed a hardcoded 5-minute request timeout that aborted slow backends (local LLMs, extended thinking, slow gateways) regardless of
API_TIMEOUT_MS - Fixed
permissions.denyrules not overriding a PreToolUse hook'spermissionDecision: "ask"— previously the hook could downgrade a deny into a prompt - Fixed
--setting-sourceswithoutusercausing background cleanup to ignorecleanupPeriodDaysand delete conversation history older than 30 days - Fixed Bedrock SigV4 authentication failing with 403 when
ANTHROPIC_AUTH_TOKEN,apiKeyHelper, orANTHROPIC_CUSTOM_HEADERSset an Authorization header - Fixed
claude -w <name>failing with "already exists" after a previous session's worktree cleanup left a stale directory - Fixed subagents not inheriting MCP tools from dynamically-injected servers
- Fixed sub-agents running in isolated worktrees being denied Read/Edit access to files inside their own worktree
- Fixed sandboxed Bash commands failing with
mktemp: No such file or directoryafter a fresh boot - Fixed
claude mcp servetool calls failing with "Tool execution failed" in MCP clients that validateoutputSchema - Fixed
RemoteTriggertool'srunaction sending an empty body and being rejected by the server - Fixed several
/resumepicker issues: narrow default view hiding sessions from other projects, unreachable preview on Windows Terminal, incorrect cwd in worktrees, session-not-found errors not surfacing in stderr, terminal title not being set, and resume hint overlapping the prompt input - Fixed Grep tool ENOENT when the embedded ripgrep binary path becomes stale (VS Code extension auto-update, macOS App Translocation); now falls back to system
rgand self-heals mid-session - Fixed
/btwwriting a copy of the entire conversation to disk on every use - Fixed
/contextFree space and Messages breakdown disagreeing with the header percentage - Fixed several plugin issues: slash commands resolving to the wrong plugin with duplicate
name:frontmatter,/plugin updatefailing withENAMETOOLONG, Discover showing already-installed plugins, directory-source plugins loading from a stale version cache, and skills not honoringcontext: forkandagentfrontmatter fields - Fixed the
/mcpmenu offering OAuth-specific actions for MCP servers configured withheadersHelper; Reconnect is now offered instead to re-invoke the helper script - Fixed
ctrl+],ctrl+\, andctrl+^keybindings not firing in terminals that send raw C0 control bytes (Terminal.app, default iTerm2, xterm) - Fixed
/loginOAuth URL rendering with padding that prevented clean mouse selection - Fixed rendering issues: flicker in non-fullscreen mode when content above the visible area changed, terminal scrollback being wiped during long sessions in non-fullscreen mode, and mouse-scroll escape sequences occasionally leaking into the prompt as text
- Fixed crash when
settings.jsonenv values are numbers instead of strings - Fixed in-app settings writes (e.g.
/add-dir --remember,/config) not refreshing the in-memory snapshot, preventing removed directories from being revoked mid-session - Fixed custom keybindings (
~/.claude/keybindings.json) not loading on Bedrock, Vertex, and other third-party providers - Fixed
claude --continue -pnot correctly continuing sessions created by-por the SDK - Fixed several Remote Control issues: worktrees removed on session crash, connection failures not persisting in the transcript, spurious "Disconnected" indicator in brief mode for local sessions, and
/remote-controlfailing over SSH when onlyCLAUDE_CODE_ORGANIZATION_UUIDis set - Fixed
/insightssometimes omitting the report file link from its response - [VSCode] Fixed the file attachment below the chat input not clearing when the last editor tab is closed
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 9, 2026
2.1.98
Claude Code ships a broad release with a Vertex AI setup wizard, stronger Bash and sandbox safety, new Monitor tooling, improved tracing and LSP support, and major fixes across resume, permissions, terminal behavior, voice mode, plugins, and managed settings.
- Added interactive Google Vertex AI setup wizard accessible from the login screen when selecting "3rd-party platform", guiding you through GCP authentication, project and region configuration, credential verification, and model pinning
- Added
CLAUDE_CODE_PERFORCE_MODEenv var: when set, Edit/Write/NotebookEdit fail on read-only files with ap4 edithint instead of silently overwriting them - Added Monitor tool for streaming events from background scripts
- Added subprocess sandboxing with PID namespace isolation on Linux when
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBis set, andCLAUDE_CODE_SCRIPT_CAPSenv var to limit per-session script invocations - Added
--exclude-dynamic-system-prompt-sectionsflag to print mode for improved cross-user prompt caching - Added
workspace.git_worktreeto the status line JSON input, set whenever the current directory is inside a linked git worktree - Added W3C
TRACEPARENTenv var to Bash tool subprocesses when OTEL tracing is enabled, so child-process spans correctly parent to Claude Code's trace tree - LSP: Claude Code now identifies itself to language servers via
clientInfoin the initialize request - Fixed a Bash tool permission bypass where a backslash-escaped flag could be auto-allowed as read-only and lead to arbitrary code execution
- Fixed compound Bash commands bypassing forced permission prompts for safety checks and explicit ask rules in auto and bypass-permissions modes
- Fixed read-only commands with env-var prefixes not prompting unless the var is known-safe (
LANG,TZ,NO_COLOR, etc.) - Fixed redirects to
/dev/tcp/...or/dev/udp/...not prompting instead of auto-allowing - Fixed stalled streaming responses timing out instead of falling back to non-streaming mode
- Fixed 429 retries burning all attempts in ~13s when the server returns a small
Retry-After— exponential backoff now applies as a minimum - Fixed MCP OAuth
oauth.authServerMetadataUrlconfig override not being honored on token refresh after restart, affecting ADFS and similar IdPs - Fixed capital letters being dropped to lowercase on xterm and VS Code integrated terminal when the kitty keyboard protocol is active
- Fixed macOS text replacements deleting the trigger word instead of inserting the substitution
- Fixed
--dangerously-skip-permissionsbeing silently downgraded to accept-edits mode after approving a write to a protected path via Bash - Fixed managed-settings allow rules remaining active after an admin removed them, until process restart
- Fixed
permissions.additionalDirectorieschanges not applying mid-session — removed directories lose access immediately and added ones work without restart - Fixed removing a directory from
additionalDirectoriesrevoking access to the same directory passed via--add-dir - Fixed
Bash(cmd:*)andBash(git commit *)wildcard permission rules failing to match commands with extra spaces or tabs - Fixed
Bash(...)deny rules being downgraded to a prompt for piped commands that mixcdwith other segments - Fixed false Bash permission prompts for
cut -d /,paste -d /,column -s /,awk '{print $1}' file, and filenames containing% - Fixed permission rules with names matching JavaScript prototype properties (e.g.
toString) causingsettings.jsonto be silently ignored - Fixed agent team members not inheriting the leader's permission mode when using
--dangerously-skip-permissions - Fixed a crash in fullscreen mode when hovering over MCP tool results
- Fixed copying wrapped URLs in fullscreen mode inserting spaces at line breaks
- Fixed file-edit diffs disappearing from the UI on
--resumewhen the edited file was larger than 10KB - Fixed several
/resumepicker issues:--resume <name>opening uneditable, filter reload wiping search state, empty list swallowing arrow keys, cross-project staleness, and transient task-status text replacing conversation summaries - Fixed
/exportnot honoring absolute paths and~, and silently rewriting user-supplied extensions to.txt - Fixed
/effort maxbeing denied for unknown or future model IDs - Fixed slash command picker breaking when a plugin's frontmatter
nameis a YAML boolean keyword - Fixed rate-limit upsell text being hidden after message remounts
- Fixed MCP tools with
_meta["anthropic/maxResultSizeChars"]not bypassing the token-based persist layer - Fixed voice mode leaking dozens of space characters into the input when re-holding the push-to-talk key while the previous transcript is still processing
- Fixed
DISABLE_AUTOUPDATERnot fully suppressing the npm registry version check and symlink modification on npm-based installs - Fixed a memory leak where Remote Control permission handler entries were retained for the lifetime of the session
- Fixed background subagents that fail with an error not reporting partial progress to the parent agent
- Fixed prompt-type Stop/SubagentStop hooks failing on long sessions, and hook evaluator API errors showing "JSON validation failed" instead of the real message
- Fixed feedback survey rendering when dismissed
- Fixed Bash
grep -f FILE/rg -f FILEnot prompting when reading a pattern file outside the working directory - Fixed stale subagent worktree cleanup removing worktrees that contain untracked files
- Fixed
sandbox.network.allowMachLookupnot taking effect on macOS - Improved
/resumefilter hint labels and added project/worktree/branch names in the filter indicator - Improved footer indicators (Focus, notifications) to stay on the mode-indicator row instead of wrapping at narrow terminal widths
- Improved
/agentswith a tabbed layout: a Running tab shows live subagents, and the Library tab adds Run agent and View running instance actions - Improved
/reload-pluginsto pick up plugin-provided skills without requiring a restart - Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers
- Improved Vim mode:
j/kin NORMAL mode now navigate history and select the footer pill at the input boundary - Improved hook errors in the transcript to include the first line of stderr for self-diagnosis without
--debug - Improved OTEL tracing: interaction spans now correctly wrap full turns under concurrent SDK calls, and headless turns end spans per-turn
- Improved transcript entries to carry final token usage instead of streaming placeholders
- Updated the
/claude-apiskill to cover Managed Agents alongside Claude API - [VSCode] Fixed false-positive "requires git-bash" error on Windows when
CLAUDE_CODE_GIT_BASH_PATHis set or Git is installed at a default location - Fixed
CLAUDE_CODE_MAX_CONTEXT_TOKENSto honorDISABLE_COMPACTwhen it is set. - Dropped
/compacthints whenDISABLE_COMPACTis set.
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 9, 2026
2.1.97
Claude Code adds a major release with Focus view, stronger permissions and sandbox handling, richer status line and no-flicker UI, better resume and transcript reliability, improved Bash and MCP stability, and updated agent, image, and completion workflows.
Added focus view toggle (
Ctrl+O) inNO_FLICKERmode showing prompt, one-line tool summary with edit diffstats, and final responseAdded
refreshIntervalstatus line setting to re-run the status line command every N secondsAdded
workspace.git_worktreeto the status line JSON input, set when the current directory is inside a linked git worktreeAdded
● N runningindicator in/agentsnext to agent types with live subagent instancesAdded syntax highlighting for Cedar policy files (
.cedar,.cedarpolicy)Fixed
--dangerously-skip-permissionsbeing silently downgraded to accept-edits mode after approving a write to a protected pathFixed and hardened Bash tool permissions, tightening checks around env-var prefixes and network redirects, and reducing false prompts on common commands
Fixed permission rules with names matching JavaScript prototype properties (e.g.
toString) causingsettings.jsonto be silently ignoredFixed managed-settings allow rules remaining active after an admin removed them until process restart
Fixed
permissions.additionalDirectorieschanges in settings not applying mid-sessionFixed removing a directory from
settings.permissions.additionalDirectoriesrevoking access to the same directory passed via--add-dirFixed MCP HTTP/SSE connections accumulating ~50 MB/hr of unreleased buffers when servers reconnect
Fixed MCP OAuth
oauth.authServerMetadataUrlnot being honored on token refresh after restart, fixing ADFS and similar IdPsFixed 429 retries burning all attempts in ~13 seconds when the server returns a small
Retry-After— exponential backoff now applies as a minimumFixed rate-limit upgrade options disappearing after context compaction
Fixed several
/resumepicker issues:--resume <name>opening uneditable, Ctrl+A reload wiping search, empty list swallowing navigation, task-status text replacing conversation summary, and cross-project stalenessFixed file-edit diffs disappearing on
--resumewhen the edited file was larger than 10KBFixed
--resumecache misses and lost mid-turn input from attachment messages not being saved to the transcriptFixed messages typed while Claude is working not being persisted to the transcript
Fixed prompt-type
Stop/SubagentStophooks failing on long sessions, and hook evaluator API errors displaying "JSON validation failed" instead of the actual messageFixed subagents with worktree isolation or
cwd:override leaking their working directory back to the parent session's Bash toolFixed compaction writing duplicate multi-MB subagent transcript files on prompt-too-long retries
Fixed
claude plugin updatereporting "already at the latest version" for git-based marketplace plugins when the remote had newer commitsFixed slash command picker breaking when a plugin's frontmatter
nameis a YAML boolean keywordFixed copying wrapped URLs in
NO_FLICKERmode inserting spaces at line breaksFixed scroll rendering artifacts in
NO_FLICKERmode when running inside zellijFixed a crash in
NO_FLICKERmode when hovering over MCP tool resultsFixed a
NO_FLICKERmode memory leak where API retries left stale streaming stateFixed slow mouse-wheel scrolling in
NO_FLICKERmode on Windows TerminalFixed custom status line not displaying in
NO_FLICKERmode on terminals shorter than 24 rowsFixed Shift+Enter and Alt/Cmd+arrow shortcuts not working in Warp with
NO_FLICKERmodeFixed Korean/Japanese/Unicode text becoming garbled when copied in no-flicker mode on Windows
Fixed Bedrock SigV4 authentication failing when
AWS_BEARER_TOKEN_BEDROCKorANTHROPIC_BEDROCK_BASE_URLare set to empty strings (as GitHub Actions does for unset inputs)Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers (e.g.
LANG=C rm foo,timeout 5 mkdir out)Improved auto mode and bypass-permissions mode to auto-approve sandbox network access prompts
Improved sandbox:
sandbox.network.allowMachLookupnow takes effect on macOSImproved image handling: pasted and attached images are now compressed to the same token budget as images read via the Read tool
Improved slash command and
@-mention completion to trigger after CJK sentence punctuation, so Japanese/Chinese input no longer requires a space before/or@Improved Bridge sessions to show the local git repo, branch, and working directory on the claude.ai session card
Improved footer layout: indicators (Focus, notifications) now stay on the mode-indicator row instead of wrapping below
Improved context-low warning to show as a transient footer notification instead of a persistent row
Improved markdown blockquotes to show a continuous left bar across wrapped lines
Improved session transcript size by skipping empty hook entries and capping stored pre-edit file copies
Improved transcript accuracy: per-block entries now carry the final token usage instead of the streaming placeholder
Improved Bash tool OTEL tracing: subprocesses now inherit a W3C
TRACEPARENTenv var when tracing is enabledUpdated
/claude-apiskill to cover Managed Agents alongside the Claude API
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 8, 2026
2.1.96
Claude Code fixes Bedrock 403 auth failures caused by a regression in 2.1.94.
- Fixed Bedrock requests failing with
403 "Authorization header is missing"when usingAWS_BEARER_TOKEN_BEDROCKorCLAUDE_CODE_SKIP_BEDROCK_AUTH(regression in 2.1.94)
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 8, 2026
2.1.94
Claude Code adds Amazon Bedrock support powered by Mantle, raises the default effort level for more users, and improves plugin, Slack, resume, and VS Code workflows. This release also fixes many bugs across login, rendering, transcripts, search, and multibyte text handling.
- Added support for Amazon Bedrock powered by Mantle, set
CLAUDE_CODE_USE_MANTLE=1 - Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with
/effort) - Added compact
Slacked #channelheader with a clickable channel link for Slack MCP send-message tool calls - Added
keep-coding-instructionsfrontmatter field support for plugin output styles - Added
hookSpecificOutput.sessionTitletoUserPromptSubmithooks for setting the session title - Plugin skills declared via
"skills": ["./"]now use the skill's frontmatternamefor the invocation name instead of the directory basename, giving a stable name across install methods - Fixed agents appearing stuck after a 429 rate-limit response with a long Retry-After header — the error now surfaces immediately instead of silently waiting
- Fixed Console login on macOS silently failing with "Not logged in" when the login keychain is locked or its password is out of sync — the error is now surfaced and
claude doctordiagnoses the fix - Fixed plugin skill hooks defined in YAML frontmatter being silently ignored
- Fixed plugin hooks failing with "No such file or directory" when
CLAUDE_PLUGIN_ROOTwas not set - Fixed
${CLAUDE_PLUGIN_ROOT}resolving to the marketplace source directory instead of the installed cache for local-marketplace plugins on startup - Fixed scrollback showing the same diff repeated and blank pages in long-running sessions
- Fixed multiline user prompts in the transcript indenting wrapped lines under the
❯caret instead of under the text - Fixed Shift+Space inserting the literal word "space" instead of a space character in search inputs
- Fixed hyperlinks opening two browser tabs when clicked inside tmux running in an xterm.js-based terminal (VS Code, Hyper, Tabby)
- Fixed an alt-screen rendering bug where content height changes mid-scroll could leave compounding ghost lines
- Fixed
FORCE_HYPERLINKenvironment variable being ignored when set viasettings.jsonenv - Fixed native terminal cursor not tracking the selected tab in dialogs, so screen readers and magnifiers can follow tab navigation
- Fixed Bedrock invocation of Sonnet 3.5 v2 by using the
us.inference profile ID - Fixed SDK/print mode not preserving the partial assistant response in conversation history when interrupted mid-stream
- Improved
--resumeto resume sessions from other worktrees of the same repo directly instead of printing acdcommand - Fixed CJK and other multibyte text being corrupted with U+FFFD in stream-json input/output when chunk boundaries split a UTF-8 sequence
- [VSCode] Reduced cold-open subprocess work on starting a session
- [VSCode] Fixed dropdown menus selecting the wrong item when the mouse was over the list while typing or using arrow keys
- [VSCode] Added a warning banner when
settings.jsonfiles fail to parse, so users know their permission rules are not being applied
- April 2026
- No date parsed from source.
- First seen by Releasebot:Apr 4, 2026
2.1.92
Claude Code adds stronger policy controls, a Bedrock setup wizard, richer cost insights, and a more interactive release-notes picker, while improving remote control defaults, prompt-cache hints, and sandbox support. This release also speeds up large-file writes and fixes a wide range of CLI and session issues.
- Added
forceRemoteSettingsRefreshpolicy setting: when set, the CLI blocks startup until remote managed settings are freshly fetched, and exits if the fetch fails (fail-closed) - Added interactive Bedrock setup wizard accessible from the login screen when selecting "3rd-party platform" 6 guides you through AWS authentication, region configuration, credential verification, and model pinning
- Added per-model and cache-hit breakdown to
/costfor subscription users /release-notesis now an interactive version picker- Remote Control session names now use your hostname as the default prefix (e.g.
myhost-graceful-unicorn), overridable with--remote-control-session-name-prefix - Pro users now see a footer hint when returning to a session after the prompt cache has expired, showing roughly how many tokens the next turn will send uncached
- Fixed subagent spawning permanently failing with "Could not determine pane count" after tmux windows are killed or renumbered during a long-running session
- Fixed prompt-type Stop hooks incorrectly failing when the small fast model returns
ok:false, and restoredpreventContinuation:truesemantics for non-Stop prompt-type hooks - Fixed tool input validation failures when streaming emits array/object fields as JSON-encoded strings
- Fixed an API 400 error that could occur when extended thinking produced a whitespace-only text block alongside real content
- Fixed accidental feedback survey submissions from auto-pilot keypresses and consecutive-prompt digit collisions
- Fixed misleading "esc to interrupt" hint appearing alongside "esc to clear" when a text selection exists in fullscreen mode during processing
- Fixed Homebrew install update prompts to use the cask's release channel (
claude-codestable,claude-code@latestlatest) - Fixed
ctrl+ejumping to the end of the next line when already at end of line in multiline prompts - Fixed an issue where the same message could appear at two positions when scrolling up in fullscreen mode (iTerm2, Ghostty, and other terminals with DEC 2026 support)
- Fixed idle-return "/clear to save X tokens" hint showing cumulative session tokens instead of current context size
- Fixed plugin MCP servers stuck "connecting" on session start when they duplicate a claude.ai connector that is unauthenticated
- Improved Write tool diff computation speed for large files (60% faster on files with tabs/
&/$) - Removed
/tagcommand - Removed
/vimcommand (toggle vim mode via/configEditor mode) - Linux sandbox now ships the
apply-seccomphelper in both npm and native builds, restoring unix-socket blocking for sandboxed commands