conflict. The action you posted — a stop, or a turn — can’t
apply because the run is already finished: its status is a terminal
(answered, abstained, error, or stopped) and the ledger has settled. Nothing
was charged for this request.
The common case is POST …/stop on a run that ended on its own — a race you should
expect: stops and terminals are concurrent by nature, and losing that race is
harmless.
The shape
status is the terminal the run reached. (Run-scoped errors are slated to carry a
console_url deep link to the dashboard detail view — not yet emitted.)
How to fix
- Stopping: treat this as success — the run is not running. Read the terminal
from
statusand move on. - Turns: follow-up narrows, asks, and re-aims are valid on an answered
session — if a turn returned this error, check
status: the session ended some other way (or was redacted), and there is no corpus to follow up on. Start a new session, or refresh if you want the same question re-run. - Don’t infer state from your own bookkeeping;
GET /v1/sessions/{id}is the authority, derived from the durable record.
Reproduce it
Stop a session that already finished (anfn_test_ replay finishes on its own, $0):