What can a Claude Agent SDK hook check?

Far more than a tool call: session start and end, a prompt before the model sees it, compaction, subagent completion, a model switch, and a permission decision. Beyond PreToolUse and PostToolUse around a tool’s own arguments and result, the SDK exposes hooks for each of these, firing at its own named point in the agent’s loop instead of one generic callback.

Most of these are TypeScript-only today; the Python SDK currently ships PreToolUse, PostToolUse, PostToolUseFailure, UserPromptSubmit, Stop, SubagentStart, SubagentStop, PreCompact, PermissionRequest, and Notification. A callback can block, rewrite, or just observe: a PreCompact hook can archive the full transcript before it gets summarized away, and a PermissionRequest hook can hand back its own allow, deny, or ask decision instead of the built-in prompt, the same decision point an OpenAI Agents SDK guardrail trips on, just gated by your own code instead of a separate check.

sources

keep reading

More on this.

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y