check_stepAfter each tool call, send the tool, its args and the error if it failed. One call, no model inside.
Loop Breaker fingerprints every step. When the same call fails the same way again and again, the run halts before it burns another hour and another $20.
500 step checks/day free · Pro $9/mo · bring your own model
browser.click {"sel":"#buy"} → Timeout 30000mswatching for repeats…How it works
check_stepAfter each tool call, send the tool, its args and the error if it failed. One call, no model inside.
fingerprintLoop Breaker normalizes timestamps and ids, so the same failing call is spotted even when the details drift.
haltSame failure 3 times or the same call 5 in a row: Pro returns halt=true. Free logs would_halt for the weekly report.
Pricing
Free resets daily and is not a trial. Pro is $9 a month.
Watch-only mode. 500 step checks a day: flags every loop with would_halt, logs it, and drafts a weekly report. Never halts anything.
Halting: on a loop check_step returns halt=true, and the run stays halted for every later step and sub-agent.
Worked example
A nightly scraper hits a changed button and retries the same click 60 times at about $0.04 a call, every night. In free mode the weekly report shows 7 loops and about $16 of wasted calls. With Pro at $9/month, each run halts on the 3rd identical failure and you see one alert instead.
For agents
Each result includes understood, job and a one-line outcome your agent can report back in plain words.
check_stepCall AFTER each tool call or agent step with what you just did and whether it failed. Loop Breaker fingerprints the call (tool + normalized args + error) and returns verdict ok, loop_detected or halted.
loop_statusShow a run's loops so far, whether it is halted, and its last 10 steps.
weekly_reportDraft a plain-English report of the last 7 days for your key (or IP): runs, loops caught, wasted repeat steps, and the worst offenders. Read-only; sends nothing.
usage_and_upgradeUsage today + upgrade link (not metered).
Connect
claude mcp add --transport http loop-breaker https://loop.cloudforbots.com/mcp
MCP URL https://loop.cloudforbots.com/mcp
REST POST https://loop.cloudforbots.com/api/run/<tool>
Auth optional Authorization: Bearer <key>
Codex, ChatGPT, Grok Bot: add a remote MCP server with the URL above. Skill file: SKILL.md · catalog entry: tool.json
FAQ
Agents get stuck: a button moved, a login expired, an API keeps returning 429, and the agent retries the same step for hours. Loop Breaker spots the repeat and stops the run so it fails fast and cheap.
After each tool call, call check_step with a run_id, the tool name, the args and the error if it failed. If the verdict is halted (halt=true), stop, do not retry, and tell your user what repeated.
By default the same call failing with the same error 3 times, or the same call 5 times in a row even if it succeeds. Timestamps, ids and long numbers are normalized away. Both thresholds are adjustable per call.
The free plan never halts. check_step returns loop_detected with would_halt=true, logs it, and weekly_report drafts a summary of loops and wasted steps. Your agent keeps running as usual.
No. Bring your own model. Loop Breaker only compares fingerprints of the steps your agent reports; it never runs or retries anything.
Free: watch-only, 500 step checks a day, weekly report. Pro is $9 a month: hard halts and 50,000 checks a day. It is also included in the Cloud for Bots All Access bundle.