Event types
Every adapter maps its harness's raw events to this shared, canonical set. Each carries metadata and hashes only — never your notification title or body.
The canonical set
| event type | status | meaning |
|---|---|---|
| session_started | starting | a new agent session began |
| session_resumed | running | a session resumed after a pause |
| needs_input | waiting_for_input | the agent is waiting on you |
| approval_required | waiting_for_approval | the agent needs your approval |
| agent_idle | idle | the agent is idle / waiting |
| agent_completed | completed | the agent finished its turn |
| agent_failed | failed | the agent run errored |
| subagent_completed | running | a subagent finished (tracked in the session) |
| test_failed | failed | a test beep / run failed |
See claude code, codex, opencode, and cursor for each harness's raw-event → canonical-type mapping.