Release notes

FEATURE

Subagents get more honest status reports and better lifecycle controls

Have you ever dispatched a long-running task to the background only to find your agent's status unclear or restarting itself? Now subagents behave much better. Claude no longer fabricates final results while an agent is still working, and manually killed background sessions will not respawn or replay old tasks. If you want to include subagent thoughts and texts in stream-json output, that is when to append --forward-subagent-text or set the environment variable. It is like hiring a reliable helper—they report their actual status instead of lying, and stay stopped when you let them go.

BUGFIX

Security gaps patched to block malicious input overrides

Are you sure your environment is safe from sneaky command execution? A set of critical security gaps has been closed. Attackers previously tried using zero-width characters (invisible characters acting like fake quotes) to visually trick you into approving bad actions, but the review screen now strips them out. In auto mode, when a hook specifies an ask prompt, the system will respect that. Finally, "always allow" rules are now saved at your repository root, keeping permissions active across a worktree (a parallel folder copy) without asking again. It is like security guards putting on special glasses that expose invisible ink and locking passes at the front gate.

BUGFIX

Upload checks relaxed and screenshots saved correctly

Have you ever had your uploads block or Chrome extension hang at startup? Files ending with a dot or DOS-reserved suffixes like .prn are now accepted, while double-linked files are correctly rejected. The CLI will no longer freeze if you have the Chrome extension enabled but Chrome is closed. When you need to keep a record of your web screen, that is when to execute save_to_disk during screenshot actions, which now correctly saves the image to your disk and returns the path. It is like a post office expanding its parcel policies to accept irregular names and ensuring pictures are printed.

BUGFIX

Parallel sessions stay logged in and MCP servers auto-reconnect

Are you tired of finding your terminal windows logged out or plugins disconnected after your computer wakes from sleep? The sleep-wake recovery bugs are now solved. Sessions sharing one credential store (where logins are saved) will not trigger simultaneous logouts when waking up. In addition, idle web sessions will now auto-reconnect to MCP servers (tool integration servers) right away. Background jobs using LLM gateway tokens stay authorized when the daemon restarts, and Windows headless processes will not crash if stdin goes dry. It is like staff returning to their desks—IDs are intact and partner phones reconnect.

FEATURE

Async panel delays and odd UI bugs fixed

Does switching panels or running /clear feel a bit sluggish? This update sweeps away UI lags and annoying quirks. The 300ms delay before loading Settings and Stats views is gone, and terminal rendering is faster. Entering a single question mark in the command prompt will not open the shortcuts panel by mistake anymore. When you run /clear to reset the current session, the cost counter will start fresh. The statusline (the bar showing info at the bottom) also resets to $0. It is like a dashboard where shifting screens is instant, and resetting your trip meter actually resets it to zero.

FEATURE

Precision token billing and smarter memory indexing

Want to save on recurring tokens but worried that cache slips are costing you extra? We have patched credit calculations to prevent double billing. Prompt caching (saving past prompts to lower token use) on Bedrock or Vertex will no longer bill the trailing system block as fresh inputs on every request. If repository models are configured explicitly, Claude won't trigger default configurations or spurious fallback alerts at startup. It is like a produce scale that only weighs the vegetables you buy, without charging you for the heavy plastic wrapping.

Original changelog

Original changelogSubagents get more honest status reports and better lifecycle controls
Added `--forward-subagent-text` flag and `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` environment variable to include subagent text and thinking in stream-json output
Fixed subagents spawned with an explicit model override reverting to the parent's model when resumed or sent a follow-up message
Fixed reopening a just-stopped background session from the agents view starting a blank conversation under the same session id
Fixed `/loop` hiding the session from `/resume` after a single use
Fixed `claude agents` jobs becoming permanently undeletable when git no longer recognizes their worktree — the row now shows why the delete was refused instead of silently reappearing
Fixed background session titles in the agents view showing the naming model's refusal text when the prompt contains a link
Fixed background agents killed by the user auto-respawning, and revived agents re-running stale prompts from old sessions
Fixed routines with no schedule reporting a next run time in the year 1
Improved background agent result reporting — Claude now reports the status of still-running agents and waits for the real completion instead of fabricating results
Original changelogSecurity gaps patched to block malicious input overrides
Fixed permission previews relayed to chat channels not neutralizing bidirectional-override, zero-width, and look-alike quote characters, so tool inputs cannot visually alter the approval message
Fixed auto mode overriding a PreToolUse hook's `ask` decision for unsandboxed Bash — a hook `ask` now floors the decision at a prompt
Fixed nested `.claude/rules/*.md` files loading even when setting sources exclude project settings
Changed "always allow" permission rules to save at the repository root, so approvals granted in a git worktree persist across sessions and worktrees
Original changelogUpload checks relaxed and screenshots saved correctly
Fixed file upload validation: filenames ending in a DOS device suffix (`.prn`) or trailing dot are now accepted, and files with multiple hard links are refused
Fixed file uploads to Claude in Chrome from remote and CLI sessions
Fixed a startup hang when the Claude in Chrome extension is enabled but Chrome is not running
Fixed Claude in Chrome setup pages failing to open in the browser on Windows
Claude in Chrome: hardened file-upload path validation
Claude in Chrome: `save_to_disk` on screenshot actions now writes the image to disk and returns the path; previously it did nothing
Original changelogParallel sessions stay logged in and MCP servers auto-reconnect
Fixed parallel Claude Code sessions all logging out simultaneously after wake-from-sleep when many sessions share one credential store
Fixed plugin MCP servers not reconnecting after an idle web session woke, leaving MCP calls failing until the next message
Fixed background jobs on LLM gateway auth (`ANTHROPIC_AUTH_TOKEN` + `ANTHROPIC_BASE_URL`) coming back "Not logged in" after the daemon respawns them
Fixed headless print-mode sessions on Windows crashing or silently exiting when stdin is unreadable
Hardened synced skill/plugin directory naming on Windows and kept CCR web fetch/search proxies working after `/clear`
Original changelogAsync panel delays and odd UI bugs fixed
Fixed edits that leave the input as "?" being silently swallowed and toggling the shortcuts panel
Fixed a 300ms delay revealing async content (Settings tabs, Stats, diff views, and other loading states)
Fixed screen reader users losing the audible terminal bell after `/terminal-setup` or onboarding terminal setup
Fixed `/clear` not resetting the session cost counter — the statusline's cost now starts at $0 after `/clear`
Improved terminal layout and rendering performance
Updated integer environment variables (timeouts, token budgets, retry counts) to accept scientific notation and digit-separator spellings like `1e6` and `64_000`
Updated documentation links to the current docs sites
Changed Vim mode `s` and `S` (substitute char/line) to work in NORMAL mode, matching vim behavior
[VSCode] Updated the Remote Control banner to describe what it does
Original changelogPrecision token billing and smarter memory indexing
Fixed Claude Code on Vertex and Bedrock attempting the default Opus model at startup and printing a spurious fallback notice when a model is explicitly configured
Improved the memory index over-limit warning to measure only loaded content, excluding frontmatter and HTML comments
Changed `/usage-credits` to ask for confirmation before sending a request to organization admins
Fixed a prompt-caching regression on Bedrock, Vertex, Mantle, and Foundry that billed the trailing system context block as fresh input tokens on every request.