Budget estimates include US inference premium, with immediate stop on quota depletion
When setting strict budgets, knowing exactly what you are spending and when limits reset is essential. Now when running /cost, checking the status line, or passing --max-budget-usd 10.0, workspaces with data residency requirements automatically factor in the 1.1× US-only inference surcharge. If your monthly spend limit is reached, the warning dialog explicitly tells you when your session or weekly limit resets. Furthermore, persistent retry mode with CLAUDE_CODE_RETRY_WATCHDOG=1 now exits immediately on organization spending caps or out-of-credit errors rather than waiting forever. The "View usage" button in VSCode has also been shifted inline with the alert text.
BUGFIX
Proxy billing duplication fixed, stabilizing Bedrock and web connections
Connecting through corporate proxies to reach Claude is now much safer and smoother. Previously, when using Bedrock behind proxies that stripped response Content-Type headers, the client mistakenly assumed streaming failed and secretly re-ran turns non-streaming, silently doubling API costs; this double-billing glitch is now completely resolved. Furthermore, when using Bedrock with SSO profiles and awsAuthRefresh, startup credential checks properly honor export HTTPS_PROXY="http://proxy.corp.com:8080", eliminating startup freezes. In web sessions, requests from Bash or other tools to non-API anthropic.com domains also route through the session proxy to enforce organizational allowlists.
BUGFIX
Teammate visibility in agent lists, with cross-session messaging on Windows
Multi-agent coordination and session messaging are now fully refined. Running ListAgents or typing /list-agents displays active teammates alongside subagents and other sessions, so reachable peers never look absent. A session now discovers its own peer-facing address via ListAgents, and sending a SendMessage to your own name explicitly informs you that it is yourself rather than claiming the agent does not exist. Titles starting with / are no longer rendered as "(untitled)" or broken in routing, and Windows users now enjoy cross-session messaging on equal footing with macOS and Linux.
BUGFIX
Non-intrusive background goals, with goal restoration and container keep-alive
Running background tasks no longer interrupts your workflow with non-stop pings. When using /goal for long-running jobs, check-in prompts now back off progressively (from 30 minutes, to 1 hour, to every 2 hours) instead of constantly buzzing you every 30 minutes. Resuming a session with claude --resume automatically restores its active goal. For remote and cloud sessions, executing lengthy SessionStart or Setup hooks (scripts triggered on events) continuously sends keep-alive heartbeats to keep the hosting container from being reaped mid-hook. Cloud workers restarting after being idle also cleanly preserve their active plan mode.
FEATURE
Remote Control sync rate-limiting, mobile image paths, and Chrome cleanup
Controlling Claude from your mobile device or via Remote Control is significantly more polished. When two processes share a background task, title synchronizations to Remote Control are deduplicated and rate-limited to stop runaway loops. Images uploaded from mobile into remote sessions now include their saved local file paths, enabling Claude to copy them directly into newly created project files. When Remote Control is not enabled for your account, claude doctor provides much clearer guidance. Additionally, in Chrome integration, running /clear closes the session's tab group, while /resume and clean exits tidy up lingering empty groups.
BUGFIX
Session titles preserved past 64KB, with smart path matching and deleted directory fallback
Naming your conversations keeps your workspace organized, but long sessions used to lose their custom titles. Renaming a session now keeps its title in /resume even after the conversation grows beyond ~64 KB. Path matching in claude -c and /resume properly distinguishes directories that differ only by _, -, or . separators instead of accidentally loading foreign chats. Merely touching or reopening a session file no longer falsely marks it as updated or disrupts its display order. In all-projects mode, if a session's previous directory (such as a removed worktree) no longer exists, Claude resumes safely in your current directory rather than asking you to cd into a ghost folder.
FEATURE
Fullscreen mode on cloud platforms, focus misclick protection, and dark theme contrast
Fullscreen terminal rendering is now much smoother across Bedrock, Vertex, Foundry, and previously excluded setups. Setups on Bedrock, Vertex, Foundry, and previously excluded environments now receive the one-time fullscreen offer, with fresh installs defaulting to fullscreen. If your terminal cannot answer the setup prompt, the inquiry automatically ceases after three launches rather than nagging indefinitely. Clicking into an unfocused terminal window only restores focus and no longer accidentally submits permissions or activates interactive buttons. Under the dark-ansi theme, expanded tool output text is no longer rendered invisibly in the same color as the background.
BUGFIX
Scrollable fullscreen forms, pinned panels, and workflow dialog fixes
Opening tall forms or configuration panels in fullscreen mode no longer clips essential buttons or buries recent messages. When an MCP elicitation form exceeds terminal height, it neatly fits the viewport with scrollable fields while the Accept and Decline buttons remain pinned and visible at all times. Slash-command panels like /config and /model keep the active conversation pinned above them instead of covering your latest messages. Opening the /workflows dialog while Claude is actively streaming a response also properly constrains window dimensions, ensuring dialogue headers never scroll out of view.
BUGFIX
Readline keybindings align with Bash, fixing text selections and search deletion
Terminal power users will find cursor navigation and line editing much more natural. Configuring {"keybindingFlavor": "readline"} in ~/.claude/settings.json matches Bash word manipulation exactly: Alt+F and Ctrl/Option+→ jump to word boundaries, Alt+D deletes forward to word ends (restorable with Ctrl+Y), and punctuation acts as word dividers. In search boxes, Ctrl+Backspace deletes entire words instead of single characters. Text selections extended with Shift+Arrow keys are reliably grabbed by selection:copy. Deleting text with Ctrl+W, Ctrl+U, Option+Backspace, Option+D, or vim df/dt while inside [Pasted text #N] placeholders no longer leaves corrupted placeholder markers. In agent view with vim mode active, pressing Escape switches cleanly to NORMAL mode while preserving typed text.
BUGFIX
Masked input leak protection and browser terminal mouse noise filtering
Entering credentials or moving the mouse in web terminals used to risk leaking sensitive secrets or injecting stray text. Masked fields like login verification codes no longer leak into prompt history or let cleared secrets be pasted via Ctrl+Y after double-pressing Esc. Browser-based terminals no longer leak fragmented mouse tracking strings like "35;150;7M" into your input prompt when mouse reports arrive across multiple writes.
When switching to shell mode with an exclamation mark (!) and pressing Tab to autocomplete executable scripts, commands now execute seamlessly. Previously, Tab completion on a ./script path dropped the leading ./ prefix, leaving a bare command name that the underlying shell could not resolve or run; completion now faithfully retains ./.
BUGFIX
Cloud plugin synchronization isolation and marketplace plugin root resolution
Managing plugins across local environments and cloud accounts is now completely conflict-free. In cloud sessions, plugins synced from claude.ai are designated with a name@synced suffix, can be independently controlled with claude plugin enable <name>@synced or claude plugin disable <name>@synced, and will never overwrite local custom plugins sharing the same name. In plugin marketplaces, configuring {"metadata": {"pluginRoot": "packages"}} now properly resolves bare package source names under that subdirectory as documented.
BUGFIX
Remote MCP servers automatically recover from transient 5xx reconnect errors
Remote MCP (protocols connecting AI to external tools) servers recover gracefully from transient connection drops. When reconnecting mid-session in cloud environments or reconfiguring servers dynamically via the SDK's setMcpServers(), encountering a momentary 5xx server error no longer leaves the remote MCP server permanently broken; it automatically recovers and resumes tool availability.
BUGFIX
Worktree sandbox fixes, missing directory fallback, and symlink exclusions
Cleaning up temporary project directories or managing complex Git ignore patterns is now error-free. Launching Claude Code from a deleted working directory prints a helpful diagnostic message instead of throwing an unhandled stack trace. If the session working directory disappears mid-session, hooks (event-driven helper scripts) automatically fall back to executing from the project root or home directory rather than failing with ENOENT errors. In Git worktrees (parallel repository working copies), .worktreeinclude patterns starting with **/ successfully match paths inside gitignored folders, and in repositories with extensions.worktreeConfig set, Linux sandboxes no longer break git commands when .git/config.worktree is missing. Adding rule exclusions:
{"claudeMdExcludes": [".claude/rules"]}
cleanly excludes symlinked rule files when referencing the link name or parent directory.
FEATURE
Automated Python SDK migration to 1.x via `/claude-api upgrade`
Modernizing older Python codebases is now straightforward. The new /claude-api upgrade command migrates your Python project's anthropic SDK from 0.x to 1.x automatically, updating the skill's Python reference and API patterns for 1.x conventions (such as configuring timeouts with anthropic.Timeout rather than httpx.Timeout).
BUGFIX
Alpine Linux native add-ons load for clipboard, image paste, and audio
In lightweight Alpine Linux environments built on the musl standard C library, Claude Code now loads dedicated musl-compiled native add-ons instead of glibc binaries rejected by the runtime. Developers running inside Alpine containers can now enjoy native clipboard access, native image pasting, and audio capture without compatibility hitches.
BUGFIX
UTF-8 BOM support for agents, skills, and custom commands
Creating configuration docs in certain text editors often introduces invisible header bytes that caused custom behaviors to fail silently. Markdown .md definitions for declarative agents, skills, and custom commands that begin with a UTF-8 BOM (byte order mark) were previously ignored without warning. Claude Code now parses and activates them reliably.
BUGFIX
Startup tip silenced when voice dictation is enabled via settings
Enabling voice dictation now keeps your terminal startup interface clean and uncluttered. If you have already enabled voice dictation by adding the following snippet to ~/.claude/settings.json:
{"voice": {"enabled": true}}
Claude Code properly recognizes your configuration on startup, permanently silencing the redundant /voice onboarding tip.
BUGFIX
Clean `/insights` formatting without extraneous XML message tags
Running /insights to analyze conversation history and generate codebase usage trends now yields cleaner reports. When querying certain underlying models, literal <message> tags previously leaked into the generated insights output; they are now stripped before the report is shown.
BUGFIX
Custom theme color overrides respected for effort and ultracode status badges
Custom theme styling for terminal badges is now fully supported. Configuration overrides for the effort and ultracode status badge colors were previously ignored by the interface renderer; Claude Code now honors your custom theme colors across all status indicators.
FEATURE
Tool-use rows truncate long file paths in the middle
Monitoring tool activity in deep directory structures is significantly cleaner. When Claude invokes tools like Edit, View, or Bash, excessively long file paths on tool-use rows are now truncated in the middle with ellipses (such as src/.../utils.ts). This ensures tool output rows fit neatly on a single terminal line without awkward line wraps scrambling your display.
Pipeline execution now cleanly avoids unintended request duplicates. Pressing Esc with a prompt queued no longer triggers a race condition that prematurely idles the session and causes resubmissions to repeat prior actions. Requests rejected by organizational policy checks are no longer re-sent before the rejection reason is displayed. Context compaction reminders have also been updated to ensure skill arguments are not accidentally re-executed as fresh user requests.
BUGFIX
JetBrains terminal edit pauses resolved and WebFetch memory release
Editing files within IDEs and fetching web resources no longer suffers from unexpected pauses or memory leaks. In JetBrains IDE terminals, a 5-second pause during Edit and Write tool calls when connected to the Claude Code plugin has been resolved. Furthermore, WebFetch cache entries properly expire and free up system memory after 15 minutes as intended, rather than hoarding memory for the remainder of the session.
BUGFIX
OpenTelemetry trace continuity for hook-deferred tool executions
Observing tool execution flows with OpenTelemetry while using custom interception hooks is now reliable and unbroken. Previously, tool executions deferred by a PreToolUse hook started a brand-new trace, fragmenting telemetry data into disconnected chunks; deferred tool calls now properly resume within the parent turn's original OpenTelemetry trace.
Original changelog
Original changelogBudget estimates include US inference premium, with immediate stop on quota depletion
Cost estimates (`/cost`, status line, `--max-budget-usd`) now include the 1.1× US-only-inference premium for data-residency workspaces
The usage-limit message shown when your monthly spend limit is already used up now also says when your session or weekly limit resets
Persistent retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`) now fails immediately on organization spend-limit and out-of-credits errors instead of waiting indefinitely for a reset
[VSCode] "View usage" in the usage-limit banner now sits inline with the warning text instead of floating mid-banner
Original changelogProxy billing duplication fixed, stabilizing Bedrock and web connections
Fixed Bedrock streaming behind proxies that strip the response Content-Type header, which silently doubled billed API calls by re-running every turn non-streaming
Fixed Claude Code hanging at startup behind an HTTPS proxy when using Bedrock with an SSO profile and `awsAuthRefresh` — the credential pre-check now honors `HTTPS_PROXY`
Claude Code on the web: requests from Bash and other tools to non-API anthropic.com hosts (e.g. www, docs) now go through the session's network proxy, so your environment's allowed domains apply
Original changelogTeammate visibility in agent lists, with cross-session messaging on Windows
Fixed sessions whose title starts with `/` being unaddressable by `SendMessage` and shown as "(untitled)" in `ListAgents`
`ListAgents` now tells a session its own name (the one peers use to message it), and `SendMessage` to your own name says so instead of "no agent named …"
`ListAgents` and `/list-agents` now list your live teammates (previously only subagents and other sessions appeared, so a reachable teammate looked absent)
Windows: cross-session messaging is now available, so Claude Code sessions across your machines can message each other with `SendMessage` and find each other with `ListAgents`, as on macOS and Linux
Original changelogNon-intrusive background goals, with goal restoration and container keep-alive
Fixed cloud sessions (Claude Code on the web, desktop and mobile apps) resuming out of plan mode after an idle worker restart
Remote sessions keep sending keep-alives while a long `SessionStart` or `Setup` hook runs, so the container is not idle-reaped mid-hook
`/goal`: repeat check-ins on long-running background work now back off (30 min, then 1 h, then every 2 h) instead of repeating every 30 minutes
`/goal`: resuming a session from the `claude --resume` picker now restores its active goal
Original changelogRemote Control sync rate-limiting, mobile image paths, and Chrome cleanup
Fixed runaway session-title syncing to Remote Control when two Claude Code processes shared one background job's state (2.1.232 regression); title updates are now deduplicated and rate-limited
Claude in Chrome: `/clear` now closes the session's Chrome tab group, and empty groups are closed on `/resume` and when Claude Code exits
Remote sessions: images uploaded from mobile now include their saved file path, so Claude can copy them into files it creates
Remote Control: clearer message and `claude doctor` wording when Remote Control isn't enabled for your account
Original changelogSession titles preserved past 64KB, with smart path matching and deleted directory fallback
Fixed custom session titles disappearing from `/resume` after more than ~64 KB of conversation was written following the rename
Fixed `claude -c`/resume picking up sessions from a different directory whose path differed only by characters like `_`, `-`, or `.`
Fixed `/resume` and the agents view showing a session as recently changed (and reordering it) when only its file was touched or it was merely reopened
Fixed `/resume` in all-projects mode telling you to `cd` into a deleted directory (e.g. a removed worktree); such sessions now resume in the current directory
Original changelogFullscreen mode on cloud platforms, focus misclick protection, and dark theme contrast
Added the one-time fullscreen renderer offer on Bedrock, Vertex, Foundry and other previously excluded setups; new installs there now start in fullscreen
Fixed the `dark-ansi` theme rendering expanded tool results in fullscreen mode with text the same color as the background
Fixed the fullscreen renderer prompt reappearing on every launch when it could never be answered; it now stops after being shown on three launches
Fixed fullscreen mode answering a permission prompt or pressing a button when you clicked the terminal window only to bring it back into focus
Original changelogScrollable fullscreen forms, pinned panels, and workflow dialog fixes
Fixed MCP elicitation forms taller than the terminal being clipped in fullscreen mode: the form now fits the window, with hidden fields reachable by scrolling and Accept/Decline always visible
Fixed slash-command panels (e.g. `/config`, `/model`) in fullscreen mode covering the latest messages; the conversation now stays pinned above the panel
Fixed the `/workflows` detail dialog overflowing the terminal and losing its header off-screen when opened while Claude is still responding
Original changelogReadline keybindings align with Bash, fixing text selections and search deletion
Fixed vim mode in the agent view: Escape now switches to NORMAL mode and keeps your text instead of clearing the prompt
Fixed the `selection:copy` keybinding silently dropping a text selection that had been extended with Shift+Arrow keys
Fixed Ctrl+W, Ctrl+U, Ctrl+K, Option+Backspace, Option+D and vim `df`/`dt` leaving a broken `[Pasted text #N]` placeholder when the cursor was inside it
Fixed Ctrl+Backspace deleting one character instead of a word in search boxes
`keybindingFlavor: "readline"` now also matches Bash for word keys: Alt+F and Ctrl/Option+→ stop at the end of the word, Alt+D deletes to it (Ctrl+Y pastes it back), and punctuation separates words
Original changelogMasked input leak protection and browser terminal mouse noise filtering
Fixed mouse movement in browser-based terminals inserting text like `"35;150;7M"` into the prompt when a mouse report arrived split across writes
Fixed masked (password-style) inputs such as the login code field letting their text be pasted back with Ctrl+Y elsewhere or saved to prompt history when cleared with double Esc
Original changelogShell mode Tab completion preserves `./` path prefixes
Fixed shell-mode (`!`) Tab completion dropping the `./` from a `./script` path, which left a command the shell couldn't run
Original changelogCloud plugin synchronization isolation and marketplace plugin root resolution
Cloud sessions: plugins synced from claude.ai now show as `name@synced`, work with `claude plugin enable/disable <name>@synced`, and never override a same-named plugin you installed
Fixed marketplace `metadata.pluginRoot` having no effect: bare plugin source names now resolve under it as the docs describe
Original changelogRemote MCP servers automatically recover from transient 5xx reconnect errors
Fixed remote MCP servers staying failed after a transient 5xx on a mid-session reconnect in cloud sessions or via SDK `setMcpServers()`
Original changelogWorktree sandbox fixes, missing directory fallback, and symlink exclusions
Fixed a raw crash dump when starting Claude Code from a directory that no longer exists; it now prints a clear message
Fixed `.worktreeinclude` patterns starting with `**/` silently matching nothing when the target lived in a gitignored directory
Fixed the Linux sandbox making a nonexistent `.git/config.worktree` unreadable, which broke every sandboxed git command in repos with `extensions.worktreeConfig` set
Fixed hooks failing with "posix_spawn ENOENT" after the session's working directory was deleted; they now run from the project root or home directory instead
Fixed `claudeMdExcludes` not excluding a symlinked `.claude/rules` file when the pattern names the rules directory or the symlink rather than its target
Original changelogAutomated Python SDK migration to 1.x via `/claude-api upgrade`
Added `/claude-api upgrade` to migrate Python projects from `anthropic` 0.x to 1.x, and updated the skill's Python reference for 1.x (timeouts use `anthropic.Timeout`, not `httpx.Timeout`)
Original changelogAlpine Linux native add-ons load for clipboard, image paste, and audio
Alpine/musl builds: native image paste, clipboard, and audio-capture add-ons now load (musl-built binaries instead of glibc ones refused by the runtime)
Original changelogUTF-8 BOM support for agents, skills, and custom commands
Fixed agents, skills, and commands whose `.md` file starts with a UTF-8 BOM being silently ignored
Original changelogStartup tip silenced when voice dictation is enabled via settings
Fixed the `/voice` startup tip still appearing after voice dictation was enabled via the `voice.enabled` setting
Original changelogClean `/insights` formatting without extraneous XML message tags
Fixed `/insights` echoing literal `<message>` tags in its response on some models
Original changelogCustom theme color overrides respected for effort and ultracode status badges
Fixed custom theme overrides for the effort/ultracode status badge colors being ignored
Original changelogTool-use rows truncate long file paths in the middle
Long file paths on tool-use rows now truncate in the middle to stay on one line
Original changelogRequest pipeline race fix, policy resend prevention, and compaction reminder refinement
Fixed a race where pressing Esc with a prompt queued could let the next turn finish early, leaving the session idle while Claude was still working and letting a later resubmit repeat actions
Fixed a request rejected by an organization policy check being re-sent before the rejection was shown
Improved the reminder shown after compaction so a skill's original arguments are not re-run as a new request
Original changelogJetBrains terminal edit pauses resolved and WebFetch memory release
Fixed Edit and Write calls pausing for about 5 seconds in JetBrains IDE terminals when the Claude Code plugin is connected
Fixed WebFetch retaining expired page content in memory for the whole session instead of the intended 15 minutes
Original changelogOpenTelemetry trace continuity for hook-deferred tool executions
Fixed OpenTelemetry trace fragmentation: tool executions deferred by a `PreToolUse` hook now resume in the original turn's trace instead of starting a new trace