Npx passproof install: agent can't say tests passed unless the runner printed Passproof, a new open-source tool released under the MIT license, blocks AI coding agents from claiming tests passed unless the test runner's output appears in the same chat turn. The tool, installable via `npx passproof install`, hooks into Cursor and Claude Code to enforce this rule, and is distinct from donegate and no-vibes. If it says the tests passed, the runner output has to be in the same turn. Does not run your tests. Blocks the claim. agent: All tests passed. passproof: blocked. no runner output in this turn. $ pytest -q 3 passed in 0.12s agent: All tests passed. passproof: ok. npx passproof install That copies one file into the repo and wires Cursor stop + afterShellExecution and Claude Code Stop + PostToolUse on Bash . Chat is free. “Done” is free. “All tests passed” without pytest/jest/vitest/cargo/go output in that turn is not. npx passproof install --global npx passproof uninstall - Not donegate https://github.com/intrepideai/donegate . It does not re-run your suite when the agent stops. - Not no-vibes https://github.com/waitdeadai/no-vibes . It does not police the word “done”. - Not a prompt. CLAUDE.md will not save you. This is a hook. npx passproof demo node --test MIT