What
These changes affect programs that drive Claude Code through the SDK or the streaming JSON protocol, rather than people typing in the terminal. Such a program is called a host.
Two messages Claude Code sends to the host carry more detail:
- The message saying a command has started now includes
wakeup_source, set toloop_wakeuporschedule_wakeup, andscheduled_for. A host can tell a run that/loopor a scheduled task woke up apart from a prompt a person sent. - The reply to an interrupt now includes
put_back, a list of the prompt IDs the interrupt returned to the queue. This happens for prompts sent withrequeue_if_interrupted_within_ms, which asks Claude Code to queue a prompt again if it is interrupted within that many milliseconds.
Claude Code announces support for these in the system message it sends when a session starts.
Why
Hosts that keep an idle session open so /loop can wake it get a precise signal for why a run began, and can see which prompts an interrupt did not throw away.