Interactive demo

Silent when passing. Specific when failing.

Every AI agent edit triggers tailtest. It generates production-like scenarios, runs them, and surfaces only what fails. If everything passes, you never see it.

Claude edits --> tailtest runs --> result surfaced
claude code
tailtest -- PostToolUse

simulated demo -- no code runs in your browser

How it works

Two trigger models. Same test cycle.

Claude Code, Cursor, and Codex CLI use host-native hooks. Cline uses an MCP server. Both end at the same place: tests written, run, and surfaced.

01 -- hook fires
hooks/hooks.json
"hook": "PostToolUse"
"matcher": "Edit|Write"
"command": "python hook.py"

Claude Code's PostToolUse, Cursor's afterFileEdit, and Codex's Stop hooks all call tailtest on every file edit. No commands, no prompts.

02 -- scenarios run
checkout.py new-file
Generating scenarios...
8 scenarios written
pytest -q tests/test_checkout.py
8 passed 0.3s

Scenarios are generated for what your AI just built and run immediately against your test runner.

03 -- only failures surface
additionalContext:
// all pass → nothing injected
// or, on failure:
tailtest: 2 scenarios failed
stacked FREE + 10% → -$2.40
Want me to fix these?

Failures are injected into the AI's next turn via the host's context channel. When everything passes, nothing is injected -- the AI emits a brief confirmation and moves on.

Get started in 60 seconds

Add tailtest to your AI coding workflow

Pick your editor. Same R1-R15 rule layer + adversarial test mode in all four variants.

Not sure which? Compare the variants (1-minute read).