Release notes

BUGFIX

Background agents no longer stall, hang, or silently restart

Once you hand a job to a background agent (a feature that lets Claude keep working on a task while you go do something else), you can now actually walk away. It used to have a pile of quirks: opening or switching sessions on macOS could stall for 15–20 seconds, an expired internal session token (the temporary pass the system uses to recognize you) could leave a session permanently unresponsive, and returning to the list view could silently kill half-finished subagents and restart them from scratch. All of these are fixed, and dropped sessions now reconnect on their own. It's like a laundry service that used to occasionally lose your clothes or rewash a half-done load; now every item's progress is tracked, and whenever you come back, it all checks out.

FEATURE

The agents list now shows colored status words and one-line summaries

Open the claude agents task list and you can now tell at a glance what every agent is up to. Rows used to show raw tool-call text that told you nothing; now each shows a colored state word (like "working" or "needs input") plus an auto-written one-line headline, the status column stretches across the full terminal width instead of truncating, and any PR (pull request, the request form for merging your changes into the main code) an agent touched is linked right there. It's like a package-tracking page upgrading from cryptic logistics codes to "your parcel has reached the local depot" in plain words.

BUGFIX

/doctor is now a full checkup that can also fix what it finds

When Claude Code feels off, one /doctor now runs a full checkup — and it doesn't just diagnose, it can fix what it finds; /checkup works as an alias. The checkup also covers more ground: it can propose trimming an overweight CLAUDE.md (the project memo Claude reads before every work session) by cutting anything Claude could figure out from the code itself, and Homebrew installs now get their update check compared against the right release channel. It's like a health clinic upgrading from "here's your report" to "let's pull that wisdom tooth right now."

FEATURE

You get a heads-up before your login expires — and expired logins stop masquerading as model errors

Claude Code now warns you before your login expires, so you can re-authenticate before background sessions get cut off. Worse before: once the login actually expired, every request failed with a misleading "There's an issue with the selected model" error, sending you hunting for a model problem that didn't exist; now it plainly tells you to run /login. It's like a building guard reminding you to renew your keycard before it dies, instead of letting you get locked out and telling you "the door is broken."

PERF

Faster and lighter: streaming stops redrawing the whole screen, updates use ~400 MB less memory

This round trims several old performance drains at once. Long streaming responses (answers appearing word by word as they generate) no longer redraw the whole screen, so typing and scrolling stay smooth; the context-usage indicator used to re-scan the entire transcript after every single turn, burning memory and CPU for nothing — not anymore; the binary slimmed down by about 7 MB and uses about 7 MB less memory at startup; and auto-update downloads now stream to disk instead of piling up in memory, cutting peak usage by roughly 400 MB. It's like swapping in LED bulbs and fixing a dripping faucet in the same week — each change is small, but the bill notices.

FEATURE

Auto mode gains three guardrails, including a pause before risky deletes

Auto mode (the mode where Claude acts without asking you step by step) gains three new guardrails. First, tampering with session transcript files is blocked — the paper trail stays untouchable. Second, before running rm -rf on a variable it can't resolve (a delete command whose target is unclear), it now stops and asks you. Third, background task notifications explicitly state that no human input has occurred, so a fabricated "the user approved this" line planted in a transcript can't trick the system. Like a self-driving car gaining three sensors: a locked black box, slowing down when the road is unclear, and a dashboard nobody can tape a fake green light onto.

BUGFIX

Windows: removing a worktree can no longer delete files outside it

Windows users, this one's for you: removing a worktree (a git feature that gives one project several parallel working copies) used to follow any NTFS junction or directory symlink (a Windows shortcut that points a folder at another location) hiding inside it and delete real files outside the worktree; that's fixed, and removal now touches only the worktree's own files. Like a demolition crew that used to follow the plumbing into the neighbor's house — now it strictly tears down only your unit.

BUGFIX

MCP servers got sturdier: timeouts are honored, one hiccup no longer forces re-login

If you run MCP servers (Model Context Protocol, the socket standard that lets Claude plug into outside tools), two fixes this round. First, the per-server timeout you set (request_timeout_ms) used to be ignored — fresh sessions cut every call off at the default 60 seconds, beheading long-running tools; it now honors your setting. Second, OAuth-based servers (which delegate sign-in to the original service) used to demand a full manual re-login after a single failed token refresh; small hiccups now retry and reconnect on their own. Like a power strip that claimed a 10 kg rating but tripped at 6 — now it holds exactly what the label says.

FEATURE

/commit-push-pr stops double-checking pushes to your configured remote

When you run the one-stop /commit-push-pr, the push step (git push, uploading your changes to the remote repository) no longer throws an extra confirmation. It used to auto-allow pushes only to origin (the customary name for the default remote), stopping to ask about the push remote you'd actually configured; now any destination named in your repo's config sails through too. Like a gated community's plate reader that only knew your old car — now every car you've registered opens the gate.

BUGFIX

The /model picker no longer shows the wrong model's price

When you open /model to pick a model, price tags no longer land on the wrong row. The list could print one model's price next to another model's name, letting you "switch to something cheaper" that wasn't; it also stops quoting first-party list prices for third-party providers that don't bill by them at all. Like a menu that used to print the steak's price next to the pasta — every dish now wears its own tag, and consignment dishes stop borrowing another shop's price list.

Original changelog

Original changelogBackground agents no longer stall, hang, or silently restart
Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196). Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically. Fixed returning to `claude agents` silently stopping running subagents and re-running the prompt from scratch — their work now carries over. Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path. Fixed a background daemon auto-upgrade failure silently killing all running background sessions. (2.1.203)
Original changelogThe agents list now shows colored status words and one-line summaries
Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions. Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in `claude agents`. Improved agents view: status column now uses full terminal width instead of truncating at 64 characters. Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice. (2.1.205–2.1.206)
Original changelog/doctor is now a full checkup that can also fix what it finds
`/doctor` is now a full setup checkup that can diagnose and fix issues; `/checkup` is its alias. (2.1.205) Added a `/doctor` check that proposes trimming checked-in `CLAUDE.md` files by cutting content Claude could derive from the codebase. Fixed `/doctor`'s update check to compare Homebrew installs against their cask's channel instead of the settings channel. Fixed `/status` listing the same broken-install warning twice. (2.1.206)
Original changelogYou get a heads-up before your login expires — and expired logins stop masquerading as model errors
Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted. (2.1.203) Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run `/login`. (2.1.206)
Original changelogFaster and lighter: streaming stops redrawing the whole screen, updates use ~400 MB less memory
Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen. Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it. Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn. (2.1.203) Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB. (2.1.205)
Original changelogAuto mode gains three guardrails, including a pause before risky deletes
Added an auto mode rule that blocks tampering with session transcript files. Improved auto mode to ask before running `rm -rf` on a variable it can't resolve from context. Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on. (2.1.205)
Original changelogWindows: removing a worktree can no longer delete files outside it
Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it. (2.1.205)
Original changelogMCP servers got sturdier: timeouts are honored, one hiccup no longer forces re-login
Fixed MCP servers configured via `--mcp-config` or `.mcp.json` ignoring a per-server `request_timeout_ms`, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions. Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh. (2.1.206)
Original changelog/commit-push-pr stops double-checking pushes to your configured remote
`/commit-push-pr` now auto-allows `git push` to the repo's configured push remote (`remote.pushDefault`, or the sole remote when only one is configured) in addition to `origin`. (2.1.206)
Original changelogThe /model picker no longer shows the wrong model's price
Fixed `/model` picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them. Fixed server-provided model rows being misplaced in the `/model` picker when an entitlement or allowlist restriction drops the row they were positioned against. (2.1.206)