Blog
Published: October 6, 2026
The short answer: nothing shows that today, Claude Code included. Claude Code can show you which instruction files loaded, and when. A tool like Harbor can count, per rule, how often it was handed to an agent and how often an answer cited it. Neither proves the rule was followed.
What Claude Code shows you: what loaded #
/contextbreaks your context down by category. The files under Memory files are theCLAUDE.mdand rules files that loaded at launch. ACLAUDE.mdin a subfolder loads later, on demand, so it is not listed there.- The terminal prints a
Loadedline with the path when a subfolderCLAUDE.mdor a rule withpathsloads mid-session. You see the path, not the content. - The
InstructionsLoadedhook fires once for everyCLAUDE.mdor.claude/rulesfile that loads, with the file's path, its scope and the reason it loaded: session start, a subfolder, a matching path, an import or a compaction. It cannot block anything, and it does not fire for anAGENTS.mdClaude reads directly. /memorylists where your memory files live, including ones that do not exist yet, and opens them. It is a map, not a load report.
To keep a record across sessions, log the hook. This appends one line per file that loads:
// ~/.claude/settings.json
{
"hooks": {
"InstructionsLoaded": [
{
"hooks": [
{
"type": "command",
"command": "jq -c '{file_path, load_reason}' >> ~/.claude/instructions-loaded.log"
}
]
}
]
}
}
A rule with paths loads only when Claude reads, writes or edits a file that matches. If its Loaded line never appears, the rule never reached the model, and nothing about its wording matters yet.
What it cannot show: which rule was used #
Anthropic's own debugging guide draws the line. If /context shows a file loaded and Claude still is not following it, the problem is likely how the instruction is written, not whether it loaded. A CLAUDE.md is context, not enforced configuration.
Skills are the one place Claude Code counts use: /skill-doctor shows how often each skill is invoked, because a skill is a discrete call. CLAUDE.md lines and rules are always-on text, and nothing in Claude Code's docs counts them. /doctor prompt-audit reviews the files themselves, not what happened in a session.
The academic name for the gap is the attribution crisis: agents cite a fraction of what they read. The Always-On Agents survey, covering 400 works, lists “which stored information influenced a specific output” among the field's open problems. Not a solved dashboard. An open problem.
Two numbers you can count: served and cited #
ETH Zurich's result is the one to keep in your head. arXiv:2602.11988: a developer-written context file moved success 2.4 points, a gain the authors could not tell from noise, and cost about 20 percent more inference. The file was served on every run. Almost none of it can have been load-bearing, or the gain would not be that small. Nobody running that study had a count of which lines were which.
Harbor records both, per rule:
- Served is how many times Harbor handed the rule to an agent.
- Cited is how many times an answer referred back to it.
A rule served a hundred times and never cited is a rule to question, and the list of those is a list of rules you can probably delete. That is the product: subtraction with a denominator, not a retrieval score.
If a rule must hold, do not leave it to a count #
A count tells you what to cut. It does not make a rule stick. For anything that must never happen, such as a destructive command, use a hook or a deny rule that refuses it before it runs. The figures on the home page's ledger are sample data and labelled as such; we do not publish a benchmark of our own, and any percentage improvement attributed to Harbor did not come from Harbor.
Questions #
How do I see which CLAUDE.md files Claude Code loaded?
Run /context and look under Memory files for what loaded at launch. A subfolder CLAUDE.md or a rule with paths loads later, and the terminal prints a Loaded line with its path. The InstructionsLoaded hook fires for each one, with the reason it loaded.
Can Claude Code show which rules it followed?
No. Everything it shows is about what loaded. Anthropic's debugging guide says that if a file loaded and Claude still is not following it, the wording is the likely problem. Skills are the exception: /skill-doctor counts how often each one is used.
What does served vs cited mean?
Served is how many times a rule was handed to an agent. Cited is how many times an answer referred back to it. A rule served often and never cited is one to question. A cite is evidence a rule was used, not proof it was followed.