A local tool for Claude Code users who script loops
See why your agent loop went round again.
LoopLens runs a Claude Code loop on your own machine under hard limits and records every pass: the prompt it sent, the model that answered, each tool call, the quota Claude Code reported, and the stop check that decided whether to go again. Afterwards you can replay the run, and re-check it with a different stop condition, without spending quota.
Not public yet. Built and tested on Windows 11 with Node 24; macOS and Linux have not been tested.
A recorded six-pass run from a made-up invoicing app, re-checked with the what-if. Every run, file and figure on this page is fictional example data.
01
One iteration, laid out
Prompt sent. Your goal on the first pass, your continue prompt on every pass after it.
Model requested and model served. You ask for haiku; the card shows claude-haiku-4-5-20251001 answered, so a quiet fallback cannot hide.
Tool calls and results. Claude Code's own Read, Edit and Bash calls, with failures in red.
Quota. Each usage report Claude Code sends, shown as it arrives.
Stop check. The condition, its verdict, and what the loop did next: stop, or go round again.
02
What if it had stopped sooner?
A loop told to stop when the output ends in DONE keeps going when the model writes DONE. with a full stop. You only find out when the quota is gone.
Pick any recorded run and try a different stop condition, quota ceiling or cost cap. LoopLens re-checks every pass it recorded and tells you the pass it would have stopped at, and what the later passes used in tokens, estimated cost and time. No model is called.
In the example, the regex DONE$ ran all six passes. Checking for DONE anywhere shows the loop would have stopped at pass 2, four passes and just under US$0.02 sooner.
It only re-checks what was recorded. If a condition never matches, it says so rather than guessing how much longer the loop would have run.
03
Ceilings that stop a live loop
Set a quota ceiling and LoopLens stops the loop, including the request in flight, as soon as Claude Code reports usage at or above it. Set a cost cap and it stops after the pass that reaches it.
Every run also has an iteration limit, a time limit, a cap on the agent's own tool-use turns per pass, and a Stop button that ends the request in flight.
Cost is Claude Code's own estimate in US dollars. On a Pro or Max subscription it is not a bill.
A Mock-backend run. Its usage figures are simulated and labelled that way.
04
Runs on your machine
Where it runs
One Node process bound to 127.0.0.1, with nothing to install beyond Node. Transcripts are plain JSONL files in a folder you choose.
Whose login
The Claude backend runs the claude CLI you already use, signed in the way it already is. No API key and no gateway.
Who it answers
Only its own page. Requests from other websites are refused, prompts reach the CLI on standard input so text in a goal can never become a command-line option, and permission settings come only from your own environment.
What it is not
It is not made by or connected with Anthropic, and it is not a way around your plan's limits. You are responsible for using your subscription within Anthropic's terms.
05
Pricing Planned pricing
Everything is free during the beta. Payments are not switched on yet, and nothing on this page will charge you. Prices are in Australian dollars, per developer.
Free
A$0 for good
Claude Code and Mock backends, plus an unverified OmniRoute gateway backend
Live iteration view with the stop check on every pass
Iteration, time and inner-turn limits, and Stop
Recording and replay at 1x to 20x
3 what-if checks per recorded run
Pro
A$12 a month, or A$99 a year
Everything in Free
Unlimited what-if checks on recorded runs
Quota and cost ceilings that stop a live loop
Two recorded runs side by side: settings, outcome and every iteration
Export a recorded run as one HTML file, with paths, emails and keys redacted
Local licence key, no account and no cloud
During the beta, Pro features are open to everyone.