[VSCode] Fixed extension failing to activate on Windows
2.1.136
Added CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL to re-enable the session quality survey for enterprises capturing responses through OpenTelemetry
Added settings.autoMode.hard_deny for auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions
Fixed MCP servers configured in .mcp.json, plugins, and claude.ai connectors silently disappearing after /clear in the VS Code extension, JetBrains plugin, and Agent SDK
Fixed a rare login loop where a concurrent credential write could overwrite a freshly-rotated OAuth token and force re-login
Fixed MCP OAuth refresh tokens being lost when multiple servers refresh concurrently — users with several remote MCP servers should no longer need daily re-authentication
Fixed an API error (400) when extended thinking emitted a redacted thinking block after a tool call
Fixed --resume / --continue not finding sessions when the project path contains underscores
Fixed plan mode not blocking file writes when a matching Edit(...) allow rule exists
WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
Fixed plugin Stop/UserPromptSubmit hooks failing when cache cleanup deletes a version still in use by a running session
Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after
Fixed colors appearing at wrong positions in bash command output and markdown code blocks
Fixed ReasonML diffs rendering corrupted "undefined" text artifacts at word-diff boundaries
Fixed worktree exit dialog warning about uncommitted files in the wrong directory after worktree removal
Fixed @ file picker not matching files created mid-session in small non-git directories
Fixed @-mention file picker not finding files in directories with more than 100 entries
Fixed failed tool calls not being click-to-expand in fullscreen mode when their output was truncated
Fixed Backspace and Ctrl+Backspace getting swapped after using Ctrl+G to open an external editor on terminals with persistent extended-key modes
Fixed /usage weekly reset showing time of day instead of the calendar date
Fixed welcome banner ellipsis causing column overflow on CJK terminals
Fixed /insights crash when session history contains tool calls with malformed input fields
Fixed a renderer crash when a tool's collapsibility classification changes mid-session
Fixed a skills entry in plugin.json hiding the plugin's default skills/ directory, and listing a file path now shows an error instead of failing silently
Fixed IDE shell-integration lock files not respecting CLAUDE_CONFIG_DIR
Fixed trailing whitespace in copied terminal output during streaming
Fixed plugin uninstall and enable/disable not matching slugs case-insensitively
Fixed tool error truncation marker showing a negative count for surrogate-pair strings
Fixed env vars from CLAUDE_ENV_FILE SessionStart hooks going stale after /resume or /clear
Fixed /branch saving a multi-line session title when given a pasted multi-line name
Fixed a stray leading space on the second line of wrapped text at the column boundary
Fixed Esc not dismissing dialogs in /install-github-app, /desktop, /resume, and /web-setup
Fixed /doctor MCP schema errors not naming the missing field or showing the source file path
Fixed Bash permission prompts showing an internal parser diagnostic instead of a user-readable explanation
Fixed plugin slash commands with spaces (e.g. /myplugin review) not resolving to their namespaced form
Fixed AskUserQuestion discarding multi-select answers when supplied as an array
Fixed /clear <name> not labeling the cleared session for /resume
Fixed CronList output missing qualifiers and the scheduled prompt
Fixed "Jump to bottom" overlay leaving color artifacts on CJK characters in fullscreen mode
Fixed wide markdown tables leaving a stale bordered render in terminal scrollback while streaming
Fixed pasted text being silently dropped when a long prompt with a pasted-text placeholder was auto-truncated
Fixed /release-notes getting stuck on an old version after a failed changelog refresh
Fixed /mcp server list not scrolling when there are more servers than fit in the terminal
Fixed mid-input slash command autocomplete not working after an initial slash command
Fixed scrolling to bottom re-engaging auto-follow with autoScrollEnabled: false
Fixed prompt suggestions being auto-submitted by Enter on an empty input instead of requiring Tab or arrow to accept
Fixed keyboard shortcut hints not reflecting rebound keys from keybindings.json
Fixed /settings language change being reverted on Escape after confirming
Fixed /terminal-setup only appearing in autocomplete on exact name match instead of partial prefixes
Fixed "Chat about this" on an AskUserQuestion dialog erasing the question text
Fixed MCP tool results being invisible when the server returns content blocks
Improved error message when --worktree collides with an existing or stale worktree
Changed plugin marketplace removal key to d (matching delete elsewhere) instead of r which collided with retry
2.1.133
Added worktree.baseRef setting (fresh | head) to choose whether --worktree, EnterWorktree, and agent-isolation worktrees branch from origin/<default> or local HEAD. Note: the default fresh changes EnterWorktree's base back to origin/<default> (it has been local HEAD since 2.1.128) — set worktree.baseRef: "head" to keep unpushed commits in new worktrees
Added sandbox.bwrapPath and sandbox.socatPath managed settings (Linux/WSL) to specify custom bubblewrap and socat binary locations
Added parentSettingsBehavior admin-tier key ('first-wins' | 'merge') to let admins opt SDK managedSettings (parent tier) into the policy merge
Hooks now receive the active effort level via the effort.level JSON input field and the $CLAUDE_EFFORT environment variable, and Bash tool commands can read $CLAUDE_EFFORT
Improved focus mode behavior
Improved memory usage by releasing warm-spare background workers under memory pressure
Fixed parallel sessions all dead-ending at 401 after a refresh-token race wiped shared credentials
Fixed Edit/Write allow rules scoped to a drive root (C:\) or POSIX / matching incorrectly and always prompting
Fixed an unhandled rejection (ECOMPROMISED) when a history or session-log file lock is compromised by clock skew or slow disk
Fixed pressing Esc during conversation compaction showing a spurious "Error compacting conversation" notification
Fixed HTTP(S)_PROXY / NO_PROXY / mTLS not being respected for the full MCP OAuth flow including discovery, dynamic client registration, token exchange, and token refresh
Fixed Read/Write/Edit being denied on mapped network drives passed via --add-dir / SDK additionalDirectories
Fixed Remote Control stop/interrupt from claude.ai not fully canceling the CLI session the same way local Esc does, causing queued messages to never advance after interrupting a stuck tool or prompt
Fixed /effort in one session unexpectedly changing the effort level of other concurrent sessions, and a related issue where an IDE effort change could be silently dropped
Fixed subagents not discovering project, user, or plugin skills via the Skill tool
2.1.132
Added CLAUDE_CODE_SESSION_ID environment variable to the Bash tool subprocess environment, matching the session_id passed to hooks
Added CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 env var to opt out of the fullscreen alternate-screen renderer and keep the conversation in the terminal's native scrollback
Added a "Pasting…" footer hint while a Ctrl+V image paste is being read from the clipboard
Fixed external SIGINT (e.g. IDE stop button, kill -INT) not running graceful shutdown — terminal modes are now restored and the --resume hint is printed instead of an abrupt exit
Fixed an uncaught exception when the terminal is closed or SSH disconnects mid-session under the native build
Fixed --resume failing with no low surrogate in string when a tool error truncation split an emoji; pre-corrupted sessions are sanitized on load
Fixed --permission-mode flag being ignored when resuming a plan-mode session with -p --continue/--resume, and plan mode not being re-applied after ExitPlanMode within the same session
Fixed fullscreen mode showing a blank screen after laptop sleep/wake or Ctrl+Z/fg until the next keystroke or stream output
Fixed cursor landing mid-grapheme on Ctrl+E/A/K/U/arrow keys when an Indic conjunct or ZWJ emoji wraps across lines
Fixed vim operators corrupting text containing decomposed (NFD) accented characters
Fixed pasting text starting with / silently swallowing the input or triggering an unknown-command reply
Fixed pasting dumping stray escape sequences into the prompt when focus events or mouse-tracking reports interleave with the bracketed paste
Fixed mouse wheel scrolling being too fast in Cursor and VS Code 1.92–1.104 due to an upstream xterm.js bug
Fixed scroll-wheel handling in JetBrains IDE 2025.2 terminals (spurious arrow keys, wrong-direction events, runaway acceleration)
Fixed /usage Ctrl+S hanging when copying the stats screenshot to the clipboard on Linux/X11
Fixed /terminal-setup showing a contradictory error in Windows Terminal — Shift+Enter is natively supported there
Fixed /effort picker not reflecting the CLAUDE_CODE_EFFORT_LEVEL env var override
Fixed /status showing the wrong default model for some users
Fixed slash command autocomplete popup being capped at ~3–5 visible commands instead of scaling with terminal height
Fixed statusline token counts reflecting cumulative session totals instead of current context usage
2.1.131
Fixed VS Code extension failing to activate on Windows due to a hardcoded build path in the bundled SDK (createRequire polyfill bug)
Fixed Mantle endpoint authentication failing with missing x-api-key header
2.1.129
Added --plugin-url <url> flag to fetch a plugin .zip archive from a URL for the current session
Added CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 env var to force-enable synchronized output on terminals that auto-detection misses (e.g. Emacs eat)
Added CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE: when set on Homebrew or WinGet installations, Claude Code runs the upgrade command in the background and prompts to restart
Plugin manifests: themes and monitors should now be declared under "experimental": { ... }. Top-level declarations still work but claude plugin validate will warn
Gateway /v1/models discovery for the /model picker is now opt-in via CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 (was automatic in 2.1.126–2.1.128)
Ctrl+R history picker now defaults to searching all prompts across all projects, matching pre-2.1.124 behavior. Press Ctrl+S to narrow to the current project or session
Third-party deployments (Bedrock, Vertex, Foundry, or ANTHROPIC_BASE_URL gateway) no longer see spinner tips pointing at first-party Anthropic surfaces
skillOverrides setting now works: off hides from model and /, user-invocable-only hides from model only, name-only collapses description
The claude_code.pull_request.count OTel metric now counts PRs/MRs created via MCP tools, not just shell commands
Policy refusal error messages now include the API Request ID for easier support debugging
Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message
Fixed /clear not resetting the terminal tab title after a conversation
Fixed session title chip from /rename disappearing while a permission or other dialog is active
Fixed agent panel below the prompt being hidden when subagents are running (regression in 2.1.122)
Fixed external-editor handoff (Ctrl+G) blanking the conversation history above the prompt
Fixed /context dumping its rendered ASCII visualization grid into the conversation, wasting ~1.6k tokens per call
Fixed /agents Library list arrow-key navigation: the highlighted agent now stays visible when the list exceeds the viewport
Fixed /branch success message not including the new branch's session id for /resume
Fixed bold headers with keycap/ZWJ/skin-tone emoji losing trailing characters in fullscreen mode
2.1.128
Bare /color (no args) now picks a random session color
/mcp now shows the tool count for connected servers and flags servers that connected with 0 tools
--plugin-dir now accepts .zip plugin archives in addition to directories
--channels now works with console (API key) authentication — console orgs with managed settings must set channelsEnabled: true to enable
Updated /model picker: collapsed duplicate Opus 4.7 entries, and current Opus now shows as "Opus" instead of "Opus 4.7"
Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* environment variables, so OTEL-instrumented apps run via the Bash tool no longer pick up the CLI's own OTLP endpoint
MCP: workspace is now a reserved server name — existing servers with that name will be skipped with a warning
Reconnecting MCP servers no longer flood the conversation with full tool-name lists on every reconnect — re-announced tools are summarized by server prefix
SDK hosts now receive a persistent localSettings suggestion for Bash permission prompts, so "Always allow" writes to .claude/settings.local.json
EnterWorktree now creates the new branch from local HEAD as documented, instead of origin/<default-branch> — unpushed commits are no longer dropped
Auto mode: when the classifier can't evaluate an action, the error now includes a hint (retry, /compact, or run with --debug)
Fixed focus mode briefly dimming the previous response when submitting a new prompt
Fixed stray "4;0;" desktop notification on every /exit in Kitty and other terminals that interpret OSC 9 as a notification
Fixed Remote Control showing an empty "Opening your options…" message on rate limit instead of actionable upsell options
Fixed drag-and-drop image upload hanging on "Pasting text…" when the image read fails
Fixed crash loop when piping very large input (>10 MB) to claude -p via stdin
Fixed long URLs not being individually clickable on every wrapped row in fullscreen mode
Fixed /plugin Components panel showing "Marketplace 'inline' not found" for plugins loaded via --plugin-dir
Fixed MCP tool results dropping images when the server returns both structured content and content blocks
Fixed fenced code blocks inside list items carrying leading whitespace into the clipboard on copy-paste
Fixed tab navigation in stranding focus — the tab header now stays focused so arrows and Esc keep working
2.1.126
The /model picker now lists models from your gateway's /v1/models endpoint when ANTHROPIC_BASE_URL points at an Anthropic-compatible gateway
Added claude project purge [path] to delete all Claude Code state for a project (transcripts, tasks, file history, config entry) — supports --dry-run, -y/--yes, -i/--interactive, and --all
--dangerously-skip-permissions now bypasses prompts for writes to .claude/, .git/, .vscode/, shell config files, and other previously-protected paths (catastrophic removal commands still prompt as a safety net)
claude auth login now accepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers)
claude_code.skill_activated OpenTelemetry event now fires for user-typed slash commands and carries a new invocation_trigger attribute ("user-slash", "claude-proactive", or "nested-skill")
Auto mode: the spinner now turns red when a permission check stalls, instead of looking like the tool is running
Host-managed deployments (CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST) no longer auto-disable analytics on Bedrock/Vertex/Foundry
Windows: PowerShell 7 installed via the Microsoft Store, MSI without PATH, or .NET global tool is now detected
Windows: when the PowerShell tool is enabled, Claude now treats PowerShell as the primary shell instead of defaulting to Bash
Read tool: removed the per-file malware-assessment reminder that could cause spurious refusals and "this is not malware" commentary on legacy models
Security: Fixed allowManagedDomainsOnly / allowManagedReadPathsOnly being ignored when a higher-priority managed-settings source lacked a sandbox block
Fixed pasting an image larger than 2000px breaking the session — images are now downscaled on paste, and oversized images in history are automatically removed and the request retried
Fixed showing the login screen for "OAuth not allowed for organization" errors — now shows guidance to contact your admin
Fixed OAuth login failing with timeout on slow or proxied connections, in IPv6-only devcontainers, and when the browser callback can't reach localhost
Fixed a rare race where a concurrent credential write could clear a valid OAuth refresh token
Fixed API retry countdown sticking at "0s" instead of counting down between attempts
2.1.123
Fixed OAuth authentication failing with a 401 retry loop when CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 is set
2.1.122
Added ANTHROPIC_BEDROCK_SERVICE_TIER environment variable to select a Bedrock service tier (default, flex, or priority), sent as the X-Amzn-Bedrock-Service-Tier header
Pasting a PR URL into the /resume search box now finds the session that created that PR (GitHub, GitHub Enterprise, GitLab, and Bitbucket)
/mcp now shows claude.ai connectors hidden by a manually-added server with the same URL, with a hint to remove the duplicate
Clarified the /mcp message shown when an MCP server is still unauthorized after the browser sign-in flow
OpenTelemetry: numeric attributes on api_request/api_error log events are now emitted as numbers, not strings
OpenTelemetry: added claude_code.at_mention log event for @-mention resolution
Fixed /branch producing forks that fail with "tool_use ids were found without tool_result blocks" when the source session contained entries from rewound timelines
Fixed /model not showing the Effort option for Bedrock application inference profile ARNs, and those ARNs not receiving output_config.effort
Fixed Vertex AI / Bedrock returning invalid_request_error: output_config: Extra inputs are not permitted on session-title generation and other structured-output queries
Fixed Vertex AI count_tokens endpoint returning 400 errors for users behind proxy gateways
Fixed spinnerTipsOverride.excludeDefault not suppressing the time-based spinner tips
Fixed ToolSearch missing MCP tools that connected after session start in nonblocking mode
Fixed !exit / !quit in bash mode terminating the CLI instead of running as a shell command
Fixed images sent to newer models being resized to 2576px per side instead of the correct 2000px maximum
Fixed remote control session idle status redrawing twice per second, which could flood tmux -CC control pipes and pause the terminal
Fixed assistant messages appearing blank in some sessions due to a stale view preference
Fixed a malformed hooks entry in settings.json no longer invalidating the entire file
Voice mode: keybindings bound to Caps Lock now show an error since terminals don't deliver Caps Lock as a key event
2.1.121
Added alwaysLoad option to MCP server config — when true, all tools from that server skip tool-search deferral and are always available
Added claude plugin prune to remove orphaned auto-installed plugin dependencies; plugin uninstall --prune cascades
Added a type-to-filter search box to /skills so you can find a skill in long lists without scrolling
PostToolUse hooks can now replace tool output for all tools via hookSpecificOutput.updatedToolOutput (previously MCP-only)
Fullscreen mode: typing into the prompt no longer jumps scroll back to the bottom after you've scrolled up to read earlier output
Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen modes
Clicking any line of a long URL that wraps across rows in fullscreen mode now opens the full URL
SDK and claude -p: CLAUDE_CODE_FORK_SUBAGENT=1 now works in non-interactive sessions
--dangerously-skip-permissions no longer prompts for writes to .claude/skills/, .claude/agents/, and .claude/commands/
/terminal-setup now enables iTerm2's "Applications in terminal may access clipboard" setting so /copy works, including from tmux
MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected
The terminal tab session title is now generated in your configured language setting
Claude.ai connectors with the same upstream URL are now deduplicated instead of appearing as duplicates
Vertex AI: support X.509 certificate-based Workload Identity Federation (mTLS ADC)
Faster startup after upgrading: removed the Recent Activity panel from the release-notes splash
LSP diagnostic summaries now expand on click/ctrl+o and show the expand hint
SDK: mcp_authenticate now supports redirectUri for custom scheme completion and claude.ai connectors
OpenTelemetry: added stop_reason, gen_ai.response.finish_reasons, and user_system_prompt (gated behind OTEL_LOG_USER_PROMPTS) to LLM request spans
[VSCode] Voice dictation now respects the accessibility.voice.speechLanguage setting when no Claude Code language is configured
[VSCode] /context now opens a native token usage dialog
2.1.120
Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
Added claude ultrareview [target] subcommand to run /ultrareview non-interactively from CI or scripts — prints findings to stdout (--json for raw output) and exits 0 on completion or 1 on failure
Skills can now reference the current effort level with ${CLAUDE_EFFORT} in their content
Set AI_AGENT environment variable for subprocesses so gh can attribute traffic to Claude Code
Spinner tips that recommend installing the desktop app or creating skills/agents are now hidden when you already have them
Show a "use PgUp/PgDn to scroll" hint when the terminal sends arrow keys instead of scroll events
Faster session start when you have many claude.ai connectors configured but not authorized
The auto mode denial message now links to the configuration docs
claude plugin validate now accepts $schema, version, and description at the top level of marketplace.json and $schema in plugin.json
Auto-compact in auto mode now displays auto (lowercase, no token count) instead of a misleading token value
Fixed pressing Esc during a stdio MCP tool call closing the entire server connection (regression in 2.1.105)
Fixed /rewind and other interactive overlays not responding to keyboard input after launching with claude --resume
Fixed terminal scrollback duplication in non-fullscreen mode (resize, dialog dismiss, long sessions)
Fixed DISABLE_TELEMETRY / CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC not suppressing usage metrics telemetry for API and enterprise users
Fixed false-positive "Dangerous rm operation" permission prompts in auto mode for multi-line bash commands containing both a pipe and a redirect
Fixed long selection menus clipping below the terminal in fullscreen mode — the focused option now stays on screen as you scroll
Fixed Write tool output collapsing instead of expanding when clicking "+N lines" in fullscreen
Fixed slash command picker jumping while typing, and improved highlight to only match contiguous substrings in blue
Fixed /plugin marketplace failing to load when one entry uses an unrecognized source format — that entry is shown but installing it prompts you to update
[VSCode] /usage now opens the native Account & Usage dialog instead of returning plain-text session cost
2.1.119
/config settings (theme, editor mode, verbose, etc.) now persist to ~/.claude/settings.json and participate in project/local/policy override precedence
Added prUrlTemplate setting to point the footer PR badge at a custom code-review URL instead of github.com
Added CLAUDE_CODE_HIDE_CWD environment variable to hide the working directory in the startup logo
--from-pr now accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs
--print mode now honors the agent's tools: and disallowedTools: frontmatter, matching interactive-mode behavior
--agent <name> now honors the agent definition's permissionMode for built-in agents
PowerShell tool commands can now be auto-approved in permission mode, matching Bash behavior
Hooks: PostToolUse and PostToolUseFailure hook inputs now include duration_ms (tool execution time, excluding permission prompts and PreToolUse hooks)
Subagent and SDK MCP server reconfiguration now connects servers in parallel instead of serially
Plugins pinned by another plugin's version constraint now auto-update to the highest satisfying git tag
Vim mode: Esc in INSERT no longer pulls a queued message back into the input; press Esc again to interrupt
Slash command suggestions now highlight the characters that matched your query
Slash command picker now wraps long descriptions onto a second line instead of truncating
owner/repo#N shorthand links in output now use your git remote's host instead of always pointing at github.com
Security: blockedMarketplaces now correctly enforces hostPattern and pathPattern entries
OpenTelemetry: tool_result and tool_decision events now include tool_use_id; tool_result also includes tool_input_size_bytes
Status line: stdin JSON now includes effort.level and thinking.enabled
Fixed pasting CRLF content (Windows clipboards, Xcode console) inserting an extra blank line between every line
Fixed multi-line paste losing newlines in terminals using kitty keyboard protocol sequences inside bracketed paste
Fixed Glob and Grep tools disappearing on native macOS/Linux builds when the Bash tool is denied via permissions
Fixed scrolling up in fullscreen mode snapping back to the bottom every time a tool finishes
13% loaded — scroll for more
claude --help now lists --remote-control alongside --remote-control-session-name-prefix
[VSCode] Fixed claudeCode.claudeProcessWrapper failing with "Unsupported platform" when the extension build doesn't bundle a Claude binary
context_window
Fixed Alt+T (thinking toggle) not working on macOS terminals without "Option as Meta" enabled (iTerm2, Terminal.app defaults)
Fixed dead keyboard input on Windows after re-opening a background session from claude agents
Fixed unbounded memory growth (10GB+ RSS) when a stdio MCP server writes non-protocol data to stdout
Fixed MCP servers that connect but fail tools/list silently showing 0 tools — they now retry once and show "connected · tools fetch failed" in /mcp
Fixed unauthorized claude.ai MCP connectors showing as "failed" instead of "needs auth", and headless -p mode retrying non-transient 4xx connection failures
Improved visual consistency in slash command dialogs and /login, /upgrade, /extra-usage dialog spacing
Updated the /tui fullscreen startup banner to describe additional renderer benefits (lower memory usage, mouse support, auto-copy on select)
Fixed Bedrock and Vertex 400 errors when ENABLE_PROMPT_CACHING_1H is set
Fixed server-managed settings policy not applying for enterprise/team users whose stored OAuth credentials lacked the user:inference scope
Fixed OAuth refresh race after wake-from-sleep that could log out all running sessions
Fixed 1-hour prompt cache TTL being silently downgraded to 5 minutes
Fixed cache-miss warning appearing spuriously after /clear or compaction when changing /effort or /model
Fixed Bash(mkdir *), Bash(touch *) and similar allow rules not being honored for in-project paths
Fixed deniedMcpServers patterns with a *:// scheme wildcard not matching mixed-case hostnames
Fixed harmless WebSocket warning being logged as an error in --debug during voice mode
[VSCode] Fixed /clear not clearing the conversation context and displayed transcript
/config
Fixed markdown link labels being lost on terminals without OSC 8 hyperlink support — links now render as label (url) instead of just the URL
Fixed sessions on 1M-context models with a smaller autocompact window being falsely blocked with "Prompt is too long" before reaching the actual API limit
Fixed parallel shell tool calls: a failing read-only command (grep, git diff, ls) no longer cancels sibling calls
Fixed banner showing "with X effort" on models that don't support effort
Fixed /fast on 3P providers fuzzy-matching to an unrelated skill instead of showing "not available"
Fixed Bedrock default model resolving to global.* instead of the region-appropriate prefix
Fixed vim mode: Space in NORMAL mode now moves the cursor right, matching standard vi/vim behavior
Fixed terminal progress indicator (OSC 9;4) flickering off between tool calls — stays visible across the full turn
Fixed /rename without args failing on resumed sessions whose last entry is a compact boundary
Fixed stale "remote-control is active" status lines from prior sessions appearing after --resume/--continue
Fixed stale installed_plugins.json entries pointing at deleted cache directories polluting PATH
Fixed MCP stdio servers receiving corrupted arguments when CLAUDE_CODE_SHELL_PREFIX is set and an argument contains spaces or shell metacharacters
Fixed /plugin update never detecting new versions of npm-sourced plugins
Fixed sub-agent summaries firing repeatedly while a sub-agent's transcript is static, capping worst-case token cost on idle sub-agents
Headless --output-format stream-json: init.plugin_errors now includes --plugin-dir load failures in addition to dependency demotions
Fixed "Stream idle timeout" error after waking Mac from sleep mid-request
Fixed background and remote sessions falsely aborting with "Stream idle timeout" during long model thinking pauses
Fixed a hang where the assistant could finish thinking but show no output after a run of empty turns
Fixed overly fast trackpad scrolling in Cursor and VS Code 1.92–1.104 integrated terminals
Fixed claude.ai MCP connectors being suppressed by manual servers stuck in needs-auth state
Fixed Japanese/Korean/Chinese text rendering as garbled characters on Windows in no-flicker mode
Fixed Ctrl+L clearing the prompt input — it now only forces a screen redraw, matching readline behavior
Fixed deferred tools (WebSearch, WebFetch, etc.) not being available to skills with context: fork and other subagents on their first turn
Fixed plan-mode tools being unavailable in interactive sessions launched with --channels
Fixed /plugin Uninstall reporting "Enabled" instead of "Uninstalled"
Bounded total size of file-modified reminders when a linter touches many files at once
Fixed /remote-control retries appearing stuck on "connecting…" — each retry now shows its result
Fixed Remote Control failure notification not showing the error reason for initial connection failures
Windows: clipboard writes no longer expose copied content in process command-line arguments visible to EDR/SIEM telemetry; also fixes >22KB selections not reaching the clipboard
PowerShell tool: bare -- (e.g. git diff -- file) is no longer mis-flagged as the --% stop-parsing token
Fixed Agent SDK hang when the model emits a malformed tool name in a parallel tool call batch
Fixed unbounded memory growth (multi-GB RSS) when processing many images in a session
Fixed /usage leaking up to ~2GB of memory on machines with large transcript histories
Fixed memory leak when long-running tools fail to emit a clear progress event
Fixed Bash tool becoming permanently unusable when the directory Claude was started in is deleted or moved mid-session
Fixed --resume crashing on startup in external builds
Fixed --resume failing on large sessions when a transcript line was corrupted by an unclean shutdown — the corrupt line is now skipped
Fixed thinking.type.enabled is not supported error when using Bedrock application inference profile ARNs
Fixed Microsoft 365 MCP OAuth failing with duplicate or unsupported prompt parameter
Fixed scrollback duplication when pressing Ctrl+L or triggering a redraw in non-fullscreen mode on tmux, GNOME Terminal, Windows Terminal, and Konsole
Fixed claude.ai MCP connectors silently disappearing when the connector-list fetch hits a transient auth error at startup
Fixed "Always allow" rules for built-in tools in remote sessions not surviving worker restarts
Fixed NO_PROXY not being respected for all HTTP clients when set via managed-settings.json under the native build
Fixed managed settings approval prompt exiting the session even when accepted — now applies settings and continues
Fixed /usage returning "rate limited" after a stale OAuth token — now refreshes automatically
Fixed invalid legacy enum values in settings.json invalidating the entire settings file
Fixed /usage dialog content being clipped when no-flicker mode is off
Fixed /focus showing "Unknown command" when the fullscreen renderer is off — now explains how to enable it
Fixed embedded grep/find/rg shell wrappers failing when the running binary is deleted mid-session — now falls back to installed tools
Reduced peak file descriptor usage during find in the Bash tool on large directory trees
[VSCode] Voice dictation now respects the language setting in ~/.claude/settings.json
Fixed find in the Bash tool exhausting open file descriptors on large directory trees, causing host-wide crashes (macOS/Linux native builds)
Fixed MCP HTTP connections failing with "Invalid OAuth error response" when servers returned non-JSON bodies for OAuth discovery requests
Fixed Rewind overlay showing "(no prompt)" for messages with image attachments
Fixed auto mode overriding plan mode with conflicting "Execute immediately" instructions
Fixed async PostToolUse hooks that emit no response payload writing empty entries to the session transcript
Fixed spinner staying on when a subagent task notification is orphaned in the queue
Tool search is now disabled by default on Vertex AI to avoid an unsupported beta header error (opt in with ENABLE_TOOL_SEARCH)
Fixed @-file Tab completion replacing the entire prompt when used inside a slash command with an absolute path
Fixed a stray p character appearing at the prompt on startup in macOS Terminal.app via Docker or SSH
Fixed ${ENV_VAR} placeholders in headers for HTTP/SSE/WebSocket MCP servers not being substituted before requests
Fixed MCP OAuth client secret stored via --client-secret not being sent during token exchange for servers requiring client_secret_post
Fixed /skills Enter key closing the dialog instead of pre-filling /<skill-name> in the prompt
Fixed /agents detail view mislabeling built-in tools unavailable to subagents as "Unrecognized"
Fixed MCP servers from plugins not spawning on Windows when the plugin cache was incomplete
Fixed /export showing the current default model instead of the model the conversation actually used
Fixed verbose output setting not persisting after restart
Fixed /usage progress bars overlapping with their "Resets …" labels
Fixed plugin MCP servers failing when ${user_config.*} references an optional field left blank
Fixed list items containing a sentence-final number wrapping the number onto its own line
Fixed /plan and /plan open not acting on the existing plan when entering plan mode
Fixed skills invoked before auto-compaction being re-executed against the next user message
Fixed /reload-plugins and /doctor reporting load errors for disabled plugins
Fixed Agent tool with isolation: "worktree" reusing stale worktrees from prior sessions
Fixed disabled MCP servers appearing as "failed" in /status
Fixed TaskList returning tasks in arbitrary filesystem order instead of sorted by ID
Fixed spurious "GitHub API rate limit exceeded" hints when gh output contained PR titles mentioning "rate limit"
Fixed SDK/bridge read_file not correctly enforcing size cap on growing files
Fixed PR not linked to session when working in a git worktree
Fixed /doctor warning about MCP server entries overridden by a higher-precedence scope