What changed
Claude Code 2.1.225 shipped on August 8, 2026. Most of it is about auth tokens and session state drifting apart in ways that quietly broke headless and Remote Control sessions. Alongside those, gateway spend limits now surface in the usage warning, claude agents gained a workspace trust prompt, and SendMessage can start a conversation with a Remote Control session on another machine instead of only replying to one.
New features
-
Gateway spend-limit support in the usage warning
When a gateway enforced a spend limit, the message you hit didn’t say what the cap was or when it would lift. Claude Code’s usage warning now supports gateway spend limits, and the limit-reached message names the cap, its reset time, and the operator’s message. It requires the gateway on 2.1.225.
-
Workspace trust prompt for
claude agentsclaudeprompted for workspace trust in untrusted directories;claude agentsdidn’t.claude agentsnow shows a workspace trust prompt for untrusted directories, matching the behavior ofclaude. -
Starting conversations with Remote Control sessions by name
SendMessage could only reply to Remote Control sessions on other machines after they messaged you first. It can now start a conversation with those sessions by name, and
ListAgentsshows them asname [ref].
Key improvements
-
Photos from the Claude app go straight to Claude
A photo attached in the Claude app had to be read back from disk with a separate tool call before Claude could see it. Remote Control now shows attached photos to Claude directly.
-
Safety-filter refusals stop counting toward the consecutive-block limit
Auto mode counted a safety-filter refusal of its own permission check toward the consecutive-block limit, pushing a session toward that limit over something that wasn’t a real block. The action is still denied, but the model is now told to move on rather than retry.
-
claude self-hosted-runnerfails fast on an unusable--base-dirThe runner registered even when
--base-dircouldn’t be created or written, then failed every session afterward. It now exits at startup with a clear error.
Bug fixes
Authentication
- A transient 401 replacing a long-lived
CLAUDE_CODE_OAUTH_TOKENwith a stored login’s short-lived token, breaking headless sessions until restart — fixed. - MCP OAuth servers on macOS intermittently failing with a burst of 401 errors, as if never authenticated, after a keychain read timed out — fixed.
Sessions & messaging
- Cross-session messages staying parked without a notice or expiry in headless sessions and during startup — fixed.
- Conversation history breaking on Remote Control session resume after very large conversations were compacted — fixed.
- Claude Code on the web sessions being misreported as stuck, re-sending a growing event backlog on every reconnect — fixed.
- A Remote Control recipient you already confirmed in SendMessage being swapped for a same-named session on this machine when its own list couldn’t be checked — fixed.
Agents list & editor
- Hovering over a session in another project in the agents list changing the directory the next agent starts in — fixed.
- [VSCode] Focus view folding away the latest to-do list, a pending question’s context, and settled answers — fixed; thinking-only folds show “Thought for Ns” and re-collapse when their turn completes.
Notes
- The spend-limit message needs both sides on 2.1.225 — upgrading Claude Code alone isn’t enough; it requires the gateway on 2.1.225.
- Headless setups get the most out of this one — the
CLAUDE_CODE_OAUTH_TOKENswap and the parked cross-session messages both surfaced in headless sessions. Worth upgrading if you run Claude Code in CI or automation. - A new prompt can appear in
claude agents— running it in an untrusted directory now shows a workspace trust prompt that wasn’t there before, which matters if you launch it from a script. - Auto mode’s consecutive-block limit itself is unchanged — only safety-filter refusals of its own permission check stop counting toward it. The action is still denied.