Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.225 Home All releases olderv2.1.224 v2.1.226newer

Held cross-session messages are now settled as expired at shutdown

You'll notice
Useful2 Signal0
Cross-Session Messaging

Quitting now settles pending peer messages as expired so the sending session gets a definite answer.

What

When Claude Code exits, peer messages that were being held in the cross-session inbound queue are answered as expired instead of being abandoned, so the sending session gets a definite result.

Details
  • A shutdown hook drains the hold buffer and settles every still-held peer message with an expired status, logging how many were settled
  • The drain is raced against a grace period of up to 750 ms before shutdown continues
  • Once shutdown has begun, a late peer message is refused rather than parked, recording peer_inbound_gate / shutdown_expired telemetry
  • Unix-socket messaging server teardown now also destroys open connections and unlinks the socket file before awaiting the drain
  • A new lookup lets the headless expiry path read a message's hold cause
Evidence

[cross-session-inbound] shutdown: settling ${e.length} still-held peer message(s) as expired, shutdown: settling , [cross-session-inbound] shutdown: not parking a late peer message \u2014 settled as expired:

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

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.225 →