Skip to main content

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.