Sweep 19 Sep 2026 · 02:36Z Build v2.1.278 500 read Stable v2.1.267 Latest v2.1.278 Next v2.1.278 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.269 ·

Inbound message handling gets an explicit disposable queueing handle

Inbound message paths, including the session.receive hook, now use a disposable queueing handle to track whether a message was actually enqueued

TierUnder the hoodhow much it should matter to you
Useful1my rating, 1 to 5
Signal1worth watching, 1 to 5
AreaPlugin Hookswhat it touches
KindInternal Changesin v2.1.269,
Group of 2 Under the hood No documentation found

Inbound message paths, including the session.receive hook, now use a disposable queueing handle to track whether a message was actually enqueued

What

  • The peer-messaging and bridge:repl inbound-message handlers now hold onto a queueing object returned alongside the message content. It's declared with using (a pattern that runs cleanup automatically), and the handler calls .queued() once the message is actually enqueued; if the handler returns early without enqueueing, the cleanup logic fires instead.
  • The session.receive hook dispatch path now always returns a queueing field too: a no-op placeholder when no hook is registered, or a real one tied to an arrival-tracking mechanism when a hook consumes or holds onto the message.

Why

This ensures that whenever a message is received, there's a reliable, explicit way to know whether it was actually queued or dropped, so cleanup happens correctly in both cases instead of relying on implicit behavior.

Read from
Names in the bundlesession.receive

See this entry in the whole of v2.1.269 →