Skip to main content
The reticle CLI installs Reticle into a project and proves the install works (init), runs and diagnoses the daemon your app connects to (serve, status, doctor, kill, restart), and gates a build on verification in CI (verify, affected, gate). This page is the index; each command has its own page with real captured output and measured exit codes. The CLI is mostly for you, not your agent. Your agent talks MCP; you use these to set things up, work out why nothing connected, and wire verification into CI.
Always invoke it as npx @reticlehq/server <command>. The tables below name the commands as reticle <command>, because reticle is the bin this package installs and that is what the CLI prints about itself. It is not a package on npm: the bare name reticle belongs to an unrelated author, so putting npx in front of it downloads and runs their code instead of ours. Once @reticlehq/server is a dependency of your project, reticle <command> works from an npm script or with the bin on your PATH.
Every output block on this page was captured by running the command. Where an exit code is quoted, it was measured, not assumed. The CLI emits each structured line as one line of JSON; the blocks below are pretty-printed so you can read them, and long lists are trimmed where the label says so.

Setup and diagnosis

reticle init

Wires Reticle into the project in the current directory, then boots the app and proves a session connected. It exits non-zero if nothing connected, and prints what is left to do. It does not drive: proving a flow is the FIRST RUN, reticle verify <url> --explore --persona "<who does what>".
--env and --app are the answers the command cannot work out for itself: what the app needs to reach a usable state, and which app in a monorepo. Which journey proves what you care about is asked on the first run, as --persona. --files-only is what init did before it learned to boot the app: it still registers the MCP server and pre-approves Reticle’s tools, so it doubles as the upgrade path for an existing install.

Full walkthrough with real output

What it writes, and how to read its four status marks.

reticle doctor

The first thing to run when something is wrong. One command, the whole setup.
Exits 0. That parenthetical about the bridge port is doing a lot of work. Mixing it up with the dev-server port is the most common setup failure there is.

reticle status

Whether the daemon is up and which apps have connected.
Add --json for the same facts as one machine-readable event line. See reticle status for the fields. Exits 0. A session in the list is the install genuinely finished. Not a tick in a checklist, a connected app.

reticle telemetry [status|enable|disable]

Exactly what is collected

The complete list, and how to turn it off.

Running the app

A bare reticle with no arguments is not help. It is reticle serve.
reticle verify binds the bridge port itself, so it fails if a daemon is already listening, which is the normal state once your agent has started one. Stop the daemon first, or point it elsewhere with RETICLE_PORT. reticle mcp reuses a running daemon, and reticle drive attaches to one (see drive) rather than competing for the port.

Verification

reticle verify <url>

One-shot: drive the URL, replay the saved flows, exit 0 on pass. This is the command for CI when you do not want a model in the loop.
Options: --headed, --timeout N, --storage-state <file>. That last one is how you verify flows behind a login without scripting the login every time.

reticle affected

Which saved flows must re-verify for a set of changed files.
Both lists are trimmed here; the real run named 47 flows.
unknownProvenance lists flows Reticle could not map to source files, so it includes them to be safe. A flow recorded before provenance tracking existed has no file list, and Reticle would rather re-run it than skip it and miss a regression. A large unknownProvenance means your flows predate the feature. Re-record the ones you care about to get precise selection.

reticle gate

The CI gate. Exits non-zero unless passing artifacts cover the affected flows.
Measured exit code: 1, with the flow lists trimmed above. That run genuinely failed, with 0 of 47 flows covered, which is what a gate is supposed to do when you have not verified anything yet. quarantined flows are excluded from the pass/fail decision. Quarantine is for a flow that is known flaky and being fixed; it is not a place to hide failures, because the list is printed on every run.

reticle watch [url]

On save, report which saved flows must re-verify. The interactive companion to affected. Long-running; stop it with Ctrl+C.

reticle capsules

List the saved fail-to-pass bug capsules in .reticle/capsules. No flags. See capsules.

reticle hunt <dir>

Aggregate a directory of crawl reports into one false-green rate. See hunt.

Maintenance

rollback exists because an auto-updating dev tool that cannot go back is a dev tool that can ruin your afternoon. It restores the previous version and restarts in one step.

Feedback

The --agent form matters more than it looks: the setup that failed halfway is exactly the setup worth hearing about, and in that state the MCP tools do not exist yet.

How feedback is handled

What each kind means, and what happens when a report cannot be delivered.

reticle identify

Opt-in, and off by default:
Only useful if you want support or an enterprise trial. --forget removes it.
Last modified on September 23, 2026