Claude Code 2.1.225 and 2.1.226: headless OAuth token bug fixed, claude agents now asks for trust

2.1.225 fixes a bug that broke headless sessions by silently swapping your long-lived OAuth token for a short-lived one, adds a workspace trust prompt to claude agents on untrusted directories, and patches several rough edges in the brand-new cross-session messaging. 2.1.226 is maintenance only. Here's what matters in these August 8 releases.

claude-code changelog oauth headless self-hosted-runner

Claude Code 2.1.225 and 2.1.226 shipped on August 8. 2.1.225 carries a real batch of fixes, including one that hits headless pipelines directly, plus a new trust guard on claude agents. 2.1.226 is maintenance only, with no changelog detail published. Here’s what matters.

The headless OAuth token that quietly pulled the rug out

If you run Claude Code headless (CI, a server, a scheduled script) with a long-lived CLAUDE_CODE_OAUTH_TOKEN, a transient 401 could get it silently replaced by the short-lived token from a stored login. Your headless session would then break, and stay broken until you restarted the process. Fixed in 2.1.225.

If a CI run has failed for no obvious reason in the past few weeks despite a perfectly valid token, this is likely why.

claude agents now asks for trust on unfamiliar directories

New muscle-memory item: claude agents now shows a workspace trust prompt on directories it hasn’t been approved for, matching what claude already does. If you script agent launches against directories you’ve never opened with Claude Code before, build that confirmation into your flow, since it’ll otherwise interrupt an automation that used to run straight through.

Two fewer auth and permission bugs

  • MCP OAuth on macOS: a keychain read timeout could make MCP OAuth servers fail in bursts of 401s, as if never authenticated at all. Fixed.
  • Auto mode: a safety-filter refusal of its own permission check was wrongly counted toward the consecutive-block limit. The action still gets denied, but the model is now told to move on instead of retrying in a loop.

Cross-session messaging, a day old, already getting patched

crossSessionInbound and dialogExpiry only landed in 2.1.224. 2.1.225 already closes one gap: cross-session messages that stayed parked with no notice and no expiry in headless sessions and during startup. On the SendMessage side, two additions matter if you drive Remote Control: you can now start a conversation with a Remote Control session by name (shown by ListAgents as name [ref]) instead of waiting for it to message you first, and a Remote Control recipient you’ve already confirmed is no longer silently swapped for a same-named local session when its own list couldn’t be checked.

What changes your day-to-day

  • claude self-hosted-runner: if it can’t create or write to --base-dir, it now fails cleanly at startup with a clear error, instead of failing every session one by one. Relevant if you just adopted this, also new in 2.1.224.
  • Gateway spend limits: the usage warning now names the cap, its reset time, and the operator’s message when a gateway spend limit is hit.
  • VSCode: the Focus view no longer folds away the latest to-do list, a pending question’s context, and answers already given; thinking-only blocks now show “Thought for Ns” and re-collapse once the turn completes.
  • Remote Control: photos attached from the Claude app are now shown to Claude directly, instead of being read back from disk through a separate tool call.

The rest, worth a skim

  • Conversation history breaking on Remote Control session resume after very large conversations were compacted: fixed.
  • Hovering over a session from another project in the agents list changing the directory the next agent starts in: fixed.
  • Claude Code on the web sessions misreported as stuck, resending a growing event backlog on every reconnect: fixed.
  • 2.1.226 (August 8): “bug fixes and reliability improvements” only, no further detail published. Pure maintenance, nothing to change in your workflow.

Should you update

Yes, especially if you run Claude Code headless with a stored OAuth token, just turned on self-hosted-runner, or already use cross-session messaging: all three benefit directly from real fixes in this release.

Source: official Claude Code changelog.

Pierre Rondeau

Pierre Rondeau

Developer and indie builder. I build products and automations with AI. Creator of Claude Hub.

LinkedIn