Unclear It is not known whether CLAUDE_CODE_RESUME_INTERRUPTED_TURN is set by default in remote sessions.
What
A turn is one round of Claude working on your request. These changes cover what happens when a turn is interrupted, mostly in remote sessions that are picked up again by another worker.
- When a remote session resumes and the turn was interrupted at a prompt with no pending action, the worker reads
running_foreground_agentsfrom the saved state. Foreground agents are helper agents (subagents) Claude was waiting on. The worker works out which of those calls were cut off, adds a note about them to the conversation, and then clears the list. Notices about orphaned background tasks now list these agents too. Before, onlyrunning_background_tasksand orphaned and finished background tasks were restored. - When you stop a turn that is waiting on a permission prompt, the client is not told the turn is over until the records of the Stop are confirmed stored. If they are not, a warning is logged and the next worker may run the turn again. Before, the turn ended for the client whenever the lane had
parkedStopRetires. Permission answers left without a turn can now carry a note. - The
cancelledlist in an interrupt result now also includes messages whose re-sent copies were set aside for a re-run of the interrupted turn. Each one is marked cancelled. Before, it listed only queued main-thread commands.
Why
Remote sessions that restart in the middle of a turn are less likely to lose track of subagents or of a Stop. Programs built on the SDK get the full list of what an interrupt cancelled.
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 known whether `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` is set by default in remote sessions.
Anthropic's release notes agree
Fixed a prompt starting with /, sent with the Agent SDK's verbatimPrompts option, running as a slash command when…