Group of 3 Under the hood
No documentation found
Claude Code now explains why an interrupted turn is being automatically resumed, and links it to the original turn
What
- Streaming partial-message frames can now carry a
resume_reasonfield explaining why the current turn is an automatic re-run of one interrupted by a worker restart:host_draining,checkpoint_restore,container_recreated, or a fallbackinterrupted_turn. This ties to theCLAUDE_CODE_RESUME_INTERRUPTED_TURN/CLAUDE_CODE_RESUME_REASONmechanism. - The SDK/headless turn-result schema gains the same optional
resume_reasonstring, plus an optionalresult_indexinteger, in both the streamed and final result message shapes. - When Claude Code auto-resumes an interrupted turn at session restart, the reconstructed prompt now includes a
resumeReasonand, when available, aresumedTurnUserMessageUuidpointing back to the original interrupted turn's user message.
Why This makes it clear, both in the UI/streaming output and in SDK results, why a turn was automatically re-run after an interruption (such as the worker host draining or a container being recreated), and links the resumed turn back to the original one it replaced.
Names in the bundleresumeReason