Gate the turn, don't take its word
"All checks pass" in a summary is a claim, not a result. On a run nobody watched, the question is whether Claude ran the checks at all.
Stop being the one who remembers to ask. A Stop hook fires when Claude wants to end its turn, and it can refuse. Wire the queries project's type check into that gate, so a turn cannot end while the project is broken and the failure goes straight back to Claude to fix.
This exercise is part of the course
Claude Code in Action
Exercise instructions
- Start Claude Code with
claude. - Ask Claude to add a
Stophook to.claude/settings.jsonthat runsnpx tsc --noEmit. - Have the hook refuse to end the turn when the check fails, so the failure is fed back to Claude rather than to you.
- Type
/exitto exit Claude Code.
Hands-on interactive exercise
Turn theory into action with one of our interactive exercises
Start Exercise