Documentation menu

Lifecycle Observation profile

Status: Working Draft — draft. This optional profile is described independently of implementation language and runtime.

An implementation claims the profile only for event types it supports. A harness emits an event to a backend only when an observe subscription contains that exact event name. It emits observations as hooks/observe JSON-RPC notifications with no request ID. A receiver sends no JSON-RPC response. Delivery is non-blocking and best effort.

Supported event types are tool.before, tool.after, tool.error, session.start, and session.end. Tool completion events reuse the original callId; an interception denial does not produce tool.error.