Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.265 ·

Resumed sessions handle unresolved and interrupted tool calls via answeredToolUseIds

Session resume now tracks and fabricates results for tool calls left hanging by an interruption, via a new answeredToolUseIds field

TierYou'll noticehow much it should matter to you
Useful2my rating, 1 to 5
Signal1worth watching, 1 to 5
AreaSessionswhat it touches
KindImprovementsin v2.1.265,
Group of 3 You'll notice

Session resume now tracks and fabricates results for tool calls left hanging by an interruption, via a new answeredToolUseIds field

What

  • A new function synthesizes fabricated tool_result blocks (marked with toolDenialKind: "interrupted") for tool_use calls that were left unresolved when a session was interrupted, tracked via a new outTrailingUnresolvedToolUseIds set. These are surfaced through a new answeredToolUseIds field returned from the resume-message-building pipeline and threaded through to the headless runner.
  • Session state serialization now carries this answeredToolUseIds field alongside the existing supersededToolUseIds/supersededToolNames fields in several places.
  • When resuming after an interrupted turn, every id in answeredToolUseIds is now also added to the set of tool-use ids treated as already-answered, so they won't be re-prompted (previously only ids from the resumed-turn tool list and a currently-parked permission were included).

Why Without this, resuming a session after an interruption could leave tool calls dangling with no result, or could re-prompt for permissions that were already effectively resolved. Tracking answeredToolUseIds end to end keeps resumed conversations consistent with what actually happened before the interruption.

See this entry in the whole of v2.1.265 →

Feedback