the awkward page
What Claude Code already does for free.
Every verification tool in this category is one afternoon away from a reader opening the vendor docs and finding out that half the pitch is a feature they already have. So here is that list, written by us, first.
We cut two claims off this site the week we learned they had gone native. One of them was a headline feature on the pricing page. It is a worse pitch and a true one, and given what we sell, we do not get to choose the other thing.
Proving a rules file actually loaded
already freeThere is a hook that fires whenever a CLAUDE.md or .claude/rules/*.md file enters context, and you can filter it by why it loaded. There is also a slash command that lists the memory files in the current session. If somebody sells you "proof your rules were loaded" as a headline feature, they are selling you a hook you already have.
“Use the InstructionsLoaded hook to log exactly which instruction files are loaded, when they load, and why.”Claude Code — memory docs →
Your root CLAUDE.md surviving a compaction
already freeThis used to be the loudest complaint in the category, and it is fixed. We had a whole feature built around it. We cut the claim rather than keep selling it.
“Project-root CLAUDE.md survives compaction: after /compact, Claude re-reads it from disk and re-injects it into the session.”Claude Code — memory docs →
Nested and path-scoped rules surviving a compaction
partly freeThe root file comes back. The rest does not, until something happens to trigger it. In a monorepo, "the rest" is most of your rules, and nothing tells you they are missing. This one is still real, and it is narrow — we would rather say narrow-and-true than broad-and-stale.
“Nested CLAUDE.md files in subdirectories and rules with paths: frontmatter are not re-injected automatically; they reload the next time Claude reads a file in that subdirectory or a file matching the rule’s patterns.”Claude Code — memory docs →
Blocking a dangerous command
already freePreToolUse hooks exist, they are free, and a community catalogue of them exists too. If all you want is "never let it force-push", write the hook — genuinely, go and do that. What we add is compiling them out of the rules you already wrote, and keeping a record of what fired.
“To block an action regardless of what Claude decides, use a PreToolUse hook instead.”Claude Code — hooks →
Telling you your ruleset is too big
already freeThere is a checkup command that proposes trims to a checked-in CLAUDE.md. Our ruleset health does a different job — duplicates, contradictions, rules too vague to ever check — but the size problem is handled and you should use theirs.
Claude Code — commands →Whether the model actually obeyed a rule, rule by rule, with the quote
nobody does thisNothing native does this, and the docs are candid about where they stop — when an instruction is not followed, the guidance is to look at how you wrote it. That is reasonable advice and it is not an answer. This is the only thing we would ask you to pay for, and it is the whole product.
“Claude reads it and tries to follow it, but there’s no guarantee of strict compliance, especially for vague or conflicting instructions.”Claude Code — memory docs →
A per-rule track record across weeks
nobody does thisNothing native, and nothing we found in any competitor. Rules here are identified by a hash of their normalised text, so a rule keeps its identity when you reword it — which is what makes "this rule has failed 6 of your last 40 audits" a sentence anyone can say.
How it works →So what are we actually for?
One sentence: which of your rules did it actually obey — rule by rule, with the quote. Everything else we do is in service of that, or is free above and we say so.
Docs quoted verbatim and linked, checked 8 August 2026. Vendors ship fast; if you find something here that has since gone native and we have not moved it, tell us and we will — that is the entire point of the page.