Skip to main content
reticle report reads this project’s most recent session from .reticle/ and says how many of its claims held, how many failed, how many came back unknown and who can act on each, and how many proved nothing. It reads the journal on disk, so no daemon has to be running.

Arguments and flags

What it prints

The report ends with one more line, an invitation to talk to the founder or leave an email. A session with no claims prints no claims this session, so nothing was verified. An unknown is never counted as held. It is Reticle saying it could not tell, and the owner beside it says what to do next.

As a Claude Code Stop hook

With --hook it prints nothing when a claim held or nothing in the tree changed, and otherwise one line, such as Reticle: not verified. 3 claims: 1 failed, 2 unknown, followed by the same invitation line. It prints Claude Code’s systemMessage shape and always exits 0, so you see the line when the agent stops. It blocks the stop in one case only: a Harness drive that the agent started is still running (for at most 30 minutes from its start). Then it prints { "decision": "block", "reason": … }, and the reason tells the agent to poll the drive until it ends. reticle init --hooks adds it for you, merged into whatever .claude/settings.json already holds. By hand:
A session last written more than an hour ago does not count as this turn, so a morning drive cannot answer for an afternoon edit. If you want the stop blocked until the change is verified, use reticle gate --hook instead.
Last modified on October 25, 2026