{"version":"2.1.219","anchor":"shutdown-synthesized-tool-results-no-longer-resolve-an-inter","canonical_anchor":"shutdown-synthesized-tool-results-no-longer-resolve-an-inter","heading":"Shutdown-synthesized tool results no longer resolve an interrupted turn","tier":"soon","area":"Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219\/e\/shutdown-synthesized-tool-results-no-longer-resolve-an-inter","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219","markdown":"### Shutdown-synthesized tool results no longer resolve an interrupted turn\n\nResuming a turn interrupted by shutdown now correctly sees the tool call as still pending instead of faked-answered.\n\n**What**\n\nWhen history is rebuilt to resume an interrupted turn, tool results that were only synthesized by a shutdown are no longer treated as answers, so the underlying tool call is seen as still pending.\n\n**Details**\n\n- the unwind pass is called with a new option `shutdownUnwindResultsDoNotResolve: !0`\n- the affected messages are user messages with `interruptedByShutdown === !0` that contain a tool_result block; these no longer resolve their tool_use and are dropped from the rebuilt list\n- the transcript scan for an unresolved tool_use skips those same messages, so a synthesized result cannot mask a genuinely unresolved tool use\n- that scan was split into a pure over-messages helper, `findUnresolvedToolUseInTranscript`, with I\/O, warn logging and try\/catch left in the async wrapper\n- consecutive user messages are no longer merged if either was interrupted by shutdown, and the tail-scan for the last live turn skips shutdown-interrupted content\n- the user-rejected tool denial path now records `interruptedByShutdown` from the abort signal\n- the whole path is reached only under the `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` environment variable\n\n**Evidence**\n\n`shutdownUnwindResultsDoNotResolve`, `findUnresolvedToolUseInTranscript`, `interruptedByShutdown`\n\n- Area: Sessions\n- Names: `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}