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, itsisMetaflag, the wakeup source, the prompt source, and the host initiator, if it isn't already set. - A new optional
initiatorfield 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 ashostInitiator, in turn context and message equality checks. - When resuming a session, user messages now have their
turnOriginfield validated against a known set of valid values and stripped if unrecognized, alongside the existingpermissionModesanitization.
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.
Names in the bundleturnOrigin
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding does not say what turnOrigin is used for downstream, such as display, logging, or behavior changes.