
RunVouch
The watchdog for unattended AI agents
3 followers
The watchdog for unattended AI agents
3 followers
Proof your scheduled AI agents did the job — and an alert the moment they don't, or start spending. RunVouch is the watchdog for agents that run while you sleep: Claude Code Routines, headless claude -p, OpenClaw, n8n, cron. Under the hood: dead man's switch, cost cap, outcome check. Eight detectors: MISSED, FAILED, NO_EVIDENCE (green ≠ done), RETRY_STORM, BUDGET, DRIFT, STALLED. Two lines around any job, Claude Code plugin, Python/Node clients, MCP server. Fails open. Free for 3 agents, MIT.




Free Options
Launch Team

Customer.ioAutomate Messaging Everywhere — Startups Get 12 Months Free
Promoted
Two public cases pushed us to build this: $1,800 in two nights of overnight Claude Code runs (issue #37686) and a $437 loop on one missing file. Both looked green in the logs.
We ran autonomous agents and a crypto trading bot unattended for two years. Every expensive failure was quiet: a routine that "succeeded" with an empty report, a loop that called the same tool 41 times, a bill that doubled overnight while the dashboard lagged a day.
Ping monitors (Healthchecks, Cronitor) know a job ran. Tracing platforms (Langfuse, LangSmith) need an SDK and a team. RunVouch is the missing middle for people who run agents unattended:
• MISSED / STALLED: the clock lives outside the agent, so silence is an alert
• NO_EVIDENCE: a run only counts as done when a file changed, a URL returns 200, or your assertion passes. Anthropic's own docs say green ≠ succeeded.
• RETRY_STORM: same tool plus identical input 8× in one run
• BUDGET: per-run and per-day cost caps, read from Claude Code transcripts
• DRIFT: output size or duration off its 7-run baseline
Two lines around any job (rv run NAME -- your-command), a Claude Code plugin, Python/Node clients, and an MCP server in the official registry so your agents can check on each other. Fails open: if RunVouch is down, your job still runs. Free for 3 agents, no card; MIT self-host.
Which failure mode are we missing? Tell us and that's what we build next.