Make your agentverify its own work
Not by asking it. Reticle opens the running app, walks the flow, and reads the network calls, the app's own state, and the console. The verdict is a fact your agent cannot talk its way around.
No credit card required.
- 818
- GitHub stars
- 24k+
- installs a month
- 86 / 88
- seeded bugs caught
- 2,500×
- cheaper per re-run
Engineers and QA teams use Reticle at

GrapevineSound familiar?
Three ways your agent says “done”and isn't
It fixed the bug and broke the feature
You hand it one ticket. It ships the fix and quietly takes out the flow that worked yesterday, because nothing re-ran that flow. You find out from a user.
receipt: fixed: cart total · broke: guest checkout
It said it was working. It was mock data
Hardcoded response, green checkmark, a confident summary of work it never did. The agent was optimising to look done, and looking done is easier than being done.
receipt: return MOCK_ITEMS · agent: “verified ✓”
You are the test suite
Every change, you click through it yourself, find the thing it missed, and paste the failure back into the chat. Then you do it again. That is a QA job, and you did not apply for it.
receipt: you → agent → you → agent → …
Different symptoms, same cause: nothing checks the agent's work except you. The tools that could check it only see what reaches the screen, and a confident agent looks correct on screen. Reticle sits inside the running app and reads what actually happened underneath.
Playwright runs before you ship. Reticle runs after every edit.
What it does
It checks your app the way you would, and it remembers how

It remembers every flow
The first time your agent verifies a flow, say checkout, Reticle records it. After that it re-checks that flow on every change, and nobody has to remember to ask.

Proof on every commit
Change one thing, break another. That is the bug that actually ships. Reticle re-runs every flow it remembers after each change and gets the same answer every time, which costs about 47 tokens for the whole set. That is cheap enough to run on every commit without thinking about it.

It understands your user's journey
Reticle checks the outcome you actually care about. Did the order get placed, did the card get charged once instead of twice. When it fails, it names the file and the line.
Evidence
See exactly why a check failed
A bare pass or fail does not tell an agent much. Reticle hands over the network trace, the app's own state at the moment it broke, and the line that did it, which is enough for the agent to reproduce the bug and then prove the fix. In our ablation that one change cut its fix-loop tool calls by 45%.


Re-run the whole suite for pennies
You do not have to send the agent back through every flow and pay for those tokens again. Reticle replays the recording directly, so it costs about 47 tokens and returns the same verdict every time.
Benchmark
Measured. Reproducible. Including where we lose
Every number here comes from a committed harness. Clone the repo, run pnpm bench, get the same numbers, losses included.
to re-run a 4-flow suite. Playwright spends ~120k, DevTools ~129k.
Critical bugs caught (of 26)
The bugs that corrupt data or hide a failure: silent 500s, UI-vs-store desync, dead handlers, double-submits. Across all 88 seeded bugs it is 86 vs 60. The gap is widest exactly where it hurts.
Every run, the same verdict. No sampling, no retries.
Reads the program, not the picture
Reticle asserts on DOM, network, state, and console. The others photograph the rendered surface and hope.
AI re-checking its own work is a fast-growing line on your AI invoice. Reticle makes each re-check roughly 2,500× cheaper. Measured, and reproducible from the harness above.
Where we lose: pixel regressions, sites you don't own, non-React frameworks, and cross-browser rendering. The full head-to-head, losses included, lives on the comparison pages.
The bottleneck
Your agent codes in minutes.
Then waits days for you
~120k tokens / run
The loop only moves as fast as its slowest step, and that step is checking every edit. Do it by hand and the release waits on you. Hand it to an LLM and every re-run shows up on your AI bill. Reticle replays the recording it already has, so the whole set costs about 47 tokens (roughly 2,500× cheaper) and gives the same verdict each time.
The platform is live
The engine is free. The car is open
The open source SDK is yours, and it stays that way. app.reticle.sh is what we built around it: runs, history and failures for your whole team, without you running any of it. Free to start, and you can be in it before you finish reading this page.
No credit card required. Read the docs or talk to us about enterprise.
What you get on the free plan
- Every run, kept. History that survives a restart and a laptop.
- The whole suite off your machine, so it is not one laptop's job.
- Failures grouped, so twenty red runs read as the one bug they are.
- Your team in one place, with the same verdicts in front of all of them.
Free to start. No credit card required.
Trust
Built to pass your security review
Reticle reads your running application, so we designed it for the person whose job is to say no to that.
Nothing leaves your machine
It sends us no code, no DOM, no network traffic, no console output and no file paths. The SDK is dev and preview only, tree-shaken out of production builds, and the bridge binds to 127.0.0.1 behind a token. The CLI does send anonymous usage events (which command ran, did a verdict pass) so we know what to build; turn it off for good with `reticle telemetry disable`.
Licensing is offline
Keys are signed with Ed25519 and verified locally. License checks never phone home, so an outage on our side cannot stop your build.
You can audit it yourself
The SDK is Apache-2.0 and the server is source-available. Go read the tree-shaking, the bind, and the license verify before you sign anything.
Your artifacts stay yours
Runs and flows are written to your disk under .reticle, with atomic writes and bounded retention. Export or delete them without asking us.
Talk to us
Some questions need a person
Most of what Reticle does you can find out in ten minutes without us. The rest is specific to your team, your suite and whoever has to approve it, and that is a conversation rather than a page.
You get one of the founders. No SDR, no qualification call before the call, and no deck unless you ask for one. If we are the wrong fit we will tell you on the call instead of booking a second one.
Pick any slot that works. Every email gets an answer.
Your suite outgrew one laptop
Runs that take an afternoon on one machine, a team waiting on them, and nobody sure which failures are the same failure.
Procurement needs answers we cannot put on a page
SSO, an audit trail, a signed agreement, a named engineer on the account. Bring the questionnaire, we will fill it in.
You want to see it on your own app first
Not a demo of our app. Yours, with your flows, before you decide anything.
Straight answers
- You don't own the app's source. Reticle lives inside the code.
- You're not on React/Next yet. Adapters are on the roadmap, and we won't pretend otherwise.
- You have a QA team you like. Reticle covers the gap between agent edits; your release process stays theirs.
- You want a dashboard for humans to watch. The agent is the user.
Still have a question? Ask us directly.
Catch your first false green today
Start free in the app, or install the open source SDK and run it on your own machine. Either way, nothing is stopping you today.