reference

Runner event reference

Exact public event names for operational activity, provider reasoning, agent progress, tools, tasks, and terminal results.

ProtocolbeginnerCurrent releases
Verified 2026-08-04View sourceReport a docs issue

Event envelope

Every public event carries canonical identity, ordering, timestamp, and correlation fields. Validate the complete envelope before use and order replay by protocol sequence/cursor.

Public event names

EventMeaning
run.startedThe runner accepted the run
run.progressOperational lifecycle and timing information; never conversational agent progress
run.model.reasoning.startedA labeled provider reasoning stream began
run.model.reasoning.deltaA live-only provider summary or visible-thinking delta; never raw or encrypted reasoning state
run.model.reasoning.completedThe current provider reasoning stream completed
run.model.reasoning.failedA visible provider reasoning attempt was interrupted
run.model.reasoning.unavailableThe provider returned no visible reasoning for the requested mode
run.agent_progressConcise agent-authored progress from an accepted, committed nonterminal decision
run.logStructured run log activity
run.consoleConsole activity produced during the run
run.tool.startedA tool call began
run.tool.completedA tool call completed
run.tool.failedA tool call failed
task.updatedA delegated task changed state
run.completedThe run completed and carries a terminal result
run.failedThe run failed and carries a terminal result
run.cancelledThe exact run was cancelled and carries a terminal result
runner.errorThe runner could not satisfy the request contract

Lifecycle and terminal events

run.started begins accepted work. Exactly one of the terminal events completes its run lineage. Waiting is a normalized result state, not a fabricated event name.

Output and progress events

Operational progress, provider reasoning, agent-authored progress, console/logs, and committed assistant output have different sources and retention rules.

Tool and external-effect events

Tool start/completion/failure records execution activity. External effects additionally require exact approval and effect-result evidence even when the underlying invocation is a tool.

Wait, recovery, and approval events

Pending-request, recovery-option, and approval details remain bound to their exact runtime/operator state. Consumers must not infer a decision from nearby assistant text.

Evaluation and budget events

Where exposed by a command/result contract, retain evaluation identity and allocation/ledger correlation separately from output. Do not invent event names not present in the exported list.

Consumer rules

  • Validate the event envelope before updating application state.
  • Correlate events with their session and run.
  • Render provider reasoning by its declared format and attempt; never label it raw reasoning.
  • Treat contentState: "not_retained" as metadata only and never expect a text delta.
  • Keep attempt IDs separate, mark interrupted attempts failed, and do not merge visible output across retries.
  • Persist run.agent_progress, but treat provider reasoning deltas as live-only unless a separate retention policy is explicitly enabled.
  • Treat operational progress, logs, provider reasoning, and agent progress as activity, not the final answer.
  • Read human-facing assistantText and structured data from the terminal result.
  • Waiting is a normalized run status, not a fabricated run.waiting event.
  • Persist the last accepted cursor atomically with consumer state and apply duplicates idempotently.
  • Preserve unknown future events safely and never reinterpret one as a known terminal outcome.