How do I catch a regression in a Claude Agent SDK agent?
There’s no built-in regression feature; you assemble one from two things the SDK already gives you. A PostToolUse or Stop hook runs your own check at the end of a turn and can record a pass or fail without touching the agent’s prompt, and a session can be resumed or forked, which means a fixed case can be replayed from the exact state it started in against a changed prompt, tool set, or model, rather than a fresh run that might diverge for unrelated reasons.
Keep a small set of cases as sessions worth re-forking, run each one through the hook before and after a change, and compare the pass rate rather than eyeballing individual transcripts. A drop names which case regressed, the same discipline any agent needs to catch a regression, just built from the SDK’s own hooks and forkable sessions instead of a separate harness.
sources
- Claude Docs: Agent SDK overview fetched