Release notes
If you ask Claude to inspect a batch of changes but want to keep chatting, /code-review now hands the job to a background subagent, a separate helper working alongside the conversation. Chained slash commands still point at that review. /ultrareview now accepts wording such as “review my auth changes”: it reviews the current branch and attaches those words as a note. In non-interactive runs, /code-review ultra now truly starts a cloud review instead of silently falling back to a local one, and bad arguments return useful feedback. It is like sending a document to an editor while you keep writing at your desk; the editor still knows which document to read.
When editing in --ax-screen-reader mode, deleting a word or line with Option+Delete, Ctrl+W, or Ctrl+U now makes the screen reader announce what disappeared. At the end of the input, VoiceOver reports a typed space instead of wrongly saying “new line.” In the plugin and settings panels, terminal focus now follows the row selected with arrow keys, so screen readers and magnifiers can locate it. It is like having someone read a draft aloud while pointing to the words you just erased and the line you are currently reading.
Pasting several lines into certain terminals used to turn their newline encoding, Ctrl+J, into literal j characters and squash everything into one line. The pasted line breaks are now preserved. Pressing Left Arrow immediately after editing no longer silently discards the whole conversation; Claude asks for confirmation first. If you enter agent view, the screen for work running in the background, Esc returns you to the conversation it backgrounded. It is like pasted paragraphs staying as paragraphs, with someone asking before an accidental elbow bump throws your letter away.
When an external tool suddenly will not work, claude mcp list and /mcp now show the HTTP status and error text instead of merely saying it could not connect. MCP, the Model Context Protocol for connecting AI to outside tools, also warns when a configuration value has invisible whitespace at its beginning or end; those spaces can break an otherwise identical URL or key. The startup notice about MCP servers needing authentication no longer counts claude.ai connectors that are not connected there. It is like support telling you whether a phone number is wrong or busy, then removing ghost contacts from the list.
For Windows users, a path such as C:\Users\unicorn could have its \u segment mistaken for Unicode encoding and turned into CJK characters, making the file unreachable as if its address had changed. The original path is now kept intact. A long selection from an IDE also no longer becomes mojibake when it is cut in the middle of an emoji, and a tool-executor error is no longer silently lost. It is like a postal worker finally delivering to the address written on the envelope, rather than treating \u as a secret code and pretending a torn envelope never arrived.
After compacting a long conversation, /context no longer reports the old pre-compaction token count, the text units AI processes and bills for. Interrupted tools no longer leave a false “Request interrupted by user” message or half a tool_use record, and prompt history is less likely to lose or duplicate entries when writes collide or fail. A context-overflow retry with a large thinking budget stops resending the same doomed request. Backgrounded and headless or SDK fork sessions also retain their lineage after compaction, while malformed delta attachments no longer doom every resumed turn. It is like an account book that stops duplicating or losing entries and still shows where each receipt came from after rebinding.
When using models through Bedrock, gateway spend metering now charges application-inference-profile ARNs and other IDs mapped to an upstream model at the configured model’s rate, rather than pricing them incorrectly because the identifier differs. Pull-request events are less likely to vanish if a session ends right after creating or linking a PR, a request to merge a set of code changes. The Bedrock setup wizard can also verify assume-role profiles in partitioned AWS regions and proxy-only networks. Turn durations no longer rarely become negative or wrong after a system clock change. It is like a taxi switching to a dependable meter, so fares, receipts, identity checks, and trip time do not drift when the dashboard clock jumps.
Auto mode no longer opens a permission dialog for every dangerous rm, background &, or suspicious Windows path; its safety classifier decides instead. In plan mode, Bash commands the static analyzer cannot prove read-only go to that classifier too, reducing needless interruptions. Sandbox restrictions, the boundaries that confine a program, are stronger for IDE interactions. Trust dialogs now name the repository root they cover, while hooks, small programs triggered by events, in agent frontmatter require the agent file’s own folder to be trusted. Benign feature and cost toggles in server-managed settings no longer request approval every time. It is like an entry desk that distinguishes an ordinary visitor, a dangerous parcel, and which building a pass actually opens.
When you want a quick answer, Claude no longer starts /deep-research on its own and stretches the process out; it begins only when you invoke the command manually. Conversely, if switching models through /config model=<x> or Remote Control changes fast mode, the mode that prioritizes quicker responses, Claude now announces that change. You no longer have to assume the speed setting is what it was a moment ago. It is like a coffee shop not upgrading your takeaway order to a slow hand brew without asking, while clearly flipping a sign if the bar and serving speed change.
When writing Markdown settings for an agent or skill, an agent name containing : is now rejected because that character is reserved for plugin namespacing, the prefix system that distinguishes plugin sources. This prevents future name collisions. A skill frontmatter, the settings block at the top of the file, with context: fork now runs in the background by default; add background: false to keep it in front. Boolean values no longer need to be only true or false: case-insensitive yes, no, on, off, 1, and 0 work too. It is like setting rules for community mailboxes: colons reserve address zones, delivery has a clear default, and several natural ways of saying on or off are understood.
In a project with watched folders nested many layers deep, deleting or moving the whole directory tree could make Claude crash from excessive call depth. Rendering an equally deep UI tree could fail too. Both cases are fixed. This adds no new button for an ordinary project, but it makes reorganizing a large, deeply nested one less likely to end in a sudden failure. It is like moving a tower of stacked storage boxes without the mover fainting at the bottom layer or the display rack collapsing at its deepest shelf.
Original changelog
Original changelogCode reviews move to the background and stay on target
Changed `/code-review` to run as a background subagent, so review work no longer fills your conversation and keeps stacked slash commands as its review target
Fixed `/ultrareview` failing on descriptive arguments like "review my auth changes" — they now run a review of your current branch with the text applied as a note to the findings
Fixed `/code-review ultra` silently running a local review in non-interactive sessions — it now launches the cloud review
Improved `/ultrareview` error feedback so Claude can correct an invalid argument instead of retrying it unchanged
Original changelogScreen readers now follow deletions and focus
Added screen-reader announcements of deleted text for word and line deletions (`Option+Delete`, `Ctrl+W`, `Cmd+Backspace`, `Ctrl+U`, `Ctrl+K`) in `--ax-screen-reader` mode
Fixed VoiceOver reading "new line" instead of echoing the typed space at the end of the input in `--ax-screen-reader` mode
Fixed plugin and settings panels not moving the terminal cursor to the focused row, so screen readers and magnifiers can follow arrow-key navigation
Original changelogMultiline pastes stay intact and a left-arrow slip is recoverable
Fixed the left arrow key discarding the conversation with no undo: presses right after editing now ask to confirm, and Esc in the agent view returns to the conversation it backgrounded
Fixed multi-line paste collapsing into one line with `j` in place of newlines in terminals that encode pasted newlines as Ctrl+J
Original changelogMCP connection failures now explain themselves
Added HTTP status and error text to `claude mcp list` and `/mcp` when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace
Fixed the "N MCP servers need authentication" startup notice over-counting claude.ai connectors that aren't connected in claude.ai
Original changelogWindows paths and long selections no longer become garbled
Fixed Windows paths with `\u`-prefixed segments (like `C:\Users\unicorn`) being corrupted into CJK characters in tool inputs, which made those files inaccessible
Fixed mojibake when a long IDE selection was truncated mid-emoji, and a case where a tool executor error could be silently dropped
Original changelogConversation history and background work lose their ghost states
Fixed `/context` reporting stale pre-compact token usage after compacting from the message picker
Fixed an engine teardown race that could start and abandon a phantom turn, and made input pushed after close consistently rejected
Fixed spurious "[Request interrupted by user]" messages after interrupted tool calls, and an unpaired `tool_use` block left in the transcript when a tool aborted mid-response
Fixed prompt history entries being dropped or duplicated when history writes raced or failed
Fixed a retry loop that re-sent identical doomed requests after a context-overflow error with a large thinking budget; `Ctrl+B` backgrounding now applies the same background-shell caps as other paths
Fixed fork-session lineage being lost after compaction in headless and SDK sessions
Fixed a resumed session failing every turn, or crashing on resume, when its history held a malformed delta attachment
Fixed remote sessions continuing to send heartbeats after their worker was replaced, which left long-lived desktop and IDE processes retrying a rejected request every few seconds forever
Original changelogCloud model billing, PRs, and AWS setup become more reliable
Fixed gateway spend metering to price Bedrock application-inference-profile ARNs and other config-mapped upstream model IDs at the configured model's rates
Fixed pull request events occasionally being lost when a session exited immediately after creating or linking a PR
Fixed the Bedrock setup wizard failing profile verification for assume-role profiles in partitioned AWS regions and on proxy-only networks
Fixed rare negative or incorrect turn duration measurements after a system clock adjustment by timing turns with a monotonic clock
Original changelogAuto mode interrupts less and makes trust boundaries clearer
Fixed agent frontmatter hooks running from untrusted folders: hooks now require the agent file's own folder to have accepted workspace trust
Improved auto mode: the dangerous-rm, background-`&`, and suspicious-Windows-path checks no longer open permission dialogs; the auto-mode classifier adjudicates them instead
Improved sandbox command restrictions for IDE interactions
Improved trust dialogs to name the repository root the grant covers
Changed plan mode with auto to no longer prompt for Bash commands the static analyzer can't prove read-only; the auto-mode classifier judges them instead
Changed server-managed settings so benign feature and cost toggles no longer trigger the settings-approval prompt
Original changelogYou now start deep research, and model switches announce themselves
Changed `/deep-research` to start only when invoked manually; Claude no longer launches it on its own
Added an announcement when fast mode changes as a result of switching models via `/config model=<x>` or Remote Control
Original changelogAgent and skill settings accept more forms and avoid name clashes
Changed agent markdown files to reject agent names containing `:`, which is reserved for plugin namespacing
Changed skills with `context: fork` to run in the background by default; opt out per skill with `background: false`
Added `yes`/`no`/`on`/`off`/`1`/`0` (case-insensitive) as accepted values for skill and plugin frontmatter booleans, alongside `true`/`false`
Original changelogMoving deep folder trees no longer crashes the interface
Fixed crashes (maximum call stack exceeded) when a deeply nested watched directory tree was deleted or moved, and when rendering deeply nested UI trees