Session event types
⚠️
Preview — this feature is being built; the design below is the spec.
A session’s history is a list of events. Events from the session describe what the agent did; events from you steer it. Each event has an id (evt_...), a type, a created_at time and, when the agent delegated work, a thread_id.
| Event | Direction | Meaning |
|---|---|---|
status.changed | from the session | The session’s status changed. |
message.delta | from the session | A fragment of the agent’s reply as it is written. |
message.completed | from the session | The agent’s full reply for one message. |
tool_call.started | from the session | The agent called a tool. |
tool_call.progress | from the session | Partial output from a long-running tool, such as a command on a self-hosted runner. |
tool_call.completed | from the session | A Syntic-run tool finished. |
approval.required | from the session | A tool on the agent’s approval list wants to run. |
usage.updated | from the session | Running token and cost totals after each model call. |
error | from the session | Something failed inside the turn. |
resource.added | from the session | A file, repository or memory store was mounted into the session. |
resource.removed | from the session | A resource was unmounted. |
thread.started | from the session | The agent delegated work to a sub-agent in a new thread. |
thread.completed | from the session | A delegate thread ended. |
user.message | from you | Say something to the agent. |
user.tool_result | from you | Return the result of a tool your code ran. |
user.approval | from you | Approve or reject a tool call that needs approval. |
user.interrupt | from you | Stop the current turn. |
Was this page helpful?