Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.225 ·

Headless sessions expire held peer messages instead of holding forever

Headless runs no longer hang forever on a peer message that needs an approval nobody can give.

You'll notice New Features
JSON All of v2.1.225
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
0Signal: worth watching, 1 to 5
Cross-Session MessagingArea: what it touches
New FeaturesKind: in v2.1.225,
New FeaturesSection of the release
What

In non-interactive mode a held peer message whose hold cause is a mode mismatch now gets a deadline, so a headless run no longer blocks indefinitely waiting for an approval that can never arrive.

Details
  • The expiry uses an unref'd timer, so it does not keep the process alive on its own.
  • On expiry the message is dropped and a cancelled receipt is issued to the sender.
  • The drop is logged with the reason that no approval surface exists.
Evidence

[cross-session-inbound] headless: held peer message expired (no approval surface) — dropped with an expired receipt

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.225 →

Feedback