Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Turn HandlingArea: what it touches
Internal ChangesKind: in v2.1.277,
Bug FixesSection of the release
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.