User repository on GitHub
Claude Code Stop hook that blocks an unverified done: reads the transcript for evidence, asks Jev once, fails open on everything else
- Forks
- 6
- Last pushed
- Updated Oct 2026
Repo stats from the GitHub API, cached Oct 2026.
Jev directory
User repository on GitHub
Claude Code Stop hook that blocks an unverified done: reads the transcript for evidence, asks Jev once, fails open on everything else
Repo stats from the GitHub API, cached Oct 2026.
Claude Code says "Done, tests pass." jev-belay checks whether anything ran before it lets that stand. A Stop hook. It reads the turn's transcript locally, and only when files changed and no check has passed since does it spend one Jev call, four questions, $0.00005, on whether the closing message is an unverified "done". If it is, the turn does not end: Claude gets the reason and goes back to run the suite. Every other stop costs nothing. Every error path lets the turn end.
Quoted from the project's README. Read the full README.
{
"env": { "TYPESAFE_API_KEY": "YOUR_API_KEY" },
"hooks": { "Stop": [{ "hooks": [{ "type": "command", "command": "node ~/src/jev-belay/belay.mjs", "timeout": 25 }] }] }
}Watch out
MIT-licensed. Needs Node 20+, Claude Code 2.1.196 or newer, and a TypeSafe API key; every error path lets the turn end.
Short answers drawn from the linked project or page.
Posts, threads, and videos about this entry from around the web.
X: Vercel's fx safety reviewer, measured at 18× faster
Reddit: Early experiments wiring Jev into Pi as a safety layer and model router.
YouTube: Ray Amjad puts Jev inside an agentic coding loop and looks at what it costs to run.
YouTube: RoboNuggets puts Jev to work inside Claude Code.
Original write-ups on what this entry is for.
Posts from builders shipping with Jev right now.