You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
SDKArea: what it touches
ImprovementsKind: in v2.1.290,
ImprovementsSection of the release
What
A headless session is Claude Code running without its interactive screen, usually driven by another program through the SDK, the kit developers use to build on Claude Code. This release changes how such sessions describe an interrupted turn and its resumption. A turn is one round of you asking and Claude answering.
The receipt for an interrupt now includes a turn field describing the turn's state. Before, it held only still_queued and cancelled. A new headless_interrupt_turn event is also emitted.
When an interrupted turn is resumed, the queued command now carries resumedTurnUserMessageUuid, resumedTurnOpenerVouched and resumeReason.
The description of user_message_uuid was rewritten to match. A turn that carries resume_reason now stamps the interrupted turn's last user prompt "where that can be vouched for". A turn that continues after a permission answer may send the assistant message again without a stamp. The old description talked about a start-up rescue turn re-running a turn that a worker restart had cut off.
Why
Programs built on Claude Code can tell what state a turn was in when it was interrupted. They can also link a resumed turn back to the prompt that started it, and they know when that link cannot be trusted.