Sweep 19 Sep 2026 · 02:36Z Build v2.1.278 500 read Stable v2.1.267 Latest v2.1.278 Next v2.1.278 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.277 ·

Turns now record a turnOrigin/initiator describing what started them

User turns now carry a turnOrigin/initiator value recording what started them, such as a person versus a scheduled task, validated on resume

TierUnder the hoodhow much it should matter to you
Useful1my rating, 1 to 5
Signal1worth watching, 1 to 5
AreaTurn Handlingwhat it touches
KindInternal Changesin v2.1.277,
Group of 4 Under the hood No documentation found

User turns now carry a turnOrigin/initiator value recording what started them, such as a person versus a scheduled task, validated on resume

What

  • After a query result is built, the relevant user message is now stamped with a turnOrigin, computed from the message's origin, its isMeta flag, the wakeup source, the prompt source, and the host initiator, if it isn't already set.
  • A new optional initiator field records what started a turn, for example a desktop app's scheduled task or a sleep/auto-resume, versus a person, for usage attribution; it does not change how the turn runs. This is threaded through elsewhere as hostInitiator, in turn context and message equality checks.
  • When resuming a session, user messages now have their turnOrigin field validated against a known set of valid values and stripped if unrecognized, alongside the existing permissionMode sanitization.

Why

This lets Claude Code, and anyone reviewing usage, tell whether a turn was started by a person or by something automated like a scheduled task, without changing how the turn actually runs.

Read from
Names in the bundleturnOrigin

See this entry in the whole of v2.1.277 →