Sending messages and steering
Every message you send is delivered one of two ways, and the server decides which:
- As a job: a new chat job is created and queued. This is the normal case.
- As a steer: the message is folded into the turn already running, so the agent changes course without restarting. Only possible while a run has an open steer channel, which today means Anthropic sessions only. Codex has no channel into a running turn, so a message sent to one starts an ordinary turn.
The response tells you which happened. You never choose.
If a job is already in progress and cannot be steered, the request is refused with 409
and code JOB_IN_PROGRESS. If the run you meant to steer was stopped on purpose, the
refusal carries JOB_STOPPED instead, because starting a fresh turn is the opposite of
what the stop asked for.