What
Programs and remote apps that drive Claude Code can send an interrupt request to stop what Claude is doing. That request can now do something else instead:
- New fields: the interrupt request gains two internal fields.
send_nowasks that waiting messages from you reach the model now, either by moving the blocking work to the background or by stopping the turn.message_uuidnames the queued message that was pressed. - Advertised: support is announced by the
interrupt_send_now_v1capability in thesystem/initmessage. - Handling: when Claude Code runs without its own screen and gets an interrupt naming a pressed queued message, it now pushes that message through instead of stopping the turn.
- Combining requests: when two interrupt requests are merged,
send_nowis kept only if the earlier one set it,message_uuidis kept only when both refer to the same message, andcancel_queuedis carried through as before. - Recognition: a request counts as send-now when
send_nowis true andcancel_queuedis not. - Removed: the old paths that answered an interrupt early during a file download, and a turn handoff early, are gone. Messages are now held until the start or result message has been written (
writeAfterInit).
Why
This makes a "send now" action possible in remote apps and SDK hosts: a message you queued can reach Claude mid-turn without ending the session.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
It is not clear whether anything in this release acts on the new `send_now` field yet.