What probably matters to youSection of the release
What
Session state gained a new hostScheduledRun boolean field (alongside existing childSession, claudecode, coworkFrameArtifacts flags), defaulting to false.
A new CLAUDE_CODE_HOST_SCHEDULED_RUN environment variable sets this flag; it's read into app state and passed through several env-passthrough allowlists so it survives subprocess spawns. When set to 1, it allows a locally-declared fireReason (limited to 1-32 lowercase letters/underscores) on a scheduled-trigger task delivery to be honored.
Session-start telemetry now records this flag.
Scheduled-trigger task notifications, including a sanitized fireReason field, are now only sent when the process is a genuine host-scheduled run — not a child session and not an interactive claude session.
Why
This prevents a regular interactive or child session from claiming to be a "scheduled run" and firing scheduled-trigger notifications it shouldn't be able to send; only a process the host explicitly started for a scheduled run can claim that status.