When a Nested CLAUDE.md Actually Loads
A monorepo has this layout:
repo/
├── CLAUDE.md
└── services/
└── billing/
└── CLAUDE.md
An engineer runs cd repo && claude and, as their very first message in
the brand-new session, asks Claude to summarize the rules in
services/billing/CLAUDE.md — before Claude has read or edited any
file under services/billing/.
At the exact moment that first message is sent (before Claude acts on
it), is services/billing/CLAUDE.md already loaded into context?
The correct answer is "No — it loads only once Claude reads a file under that dir."
Nested CLAUDE.md files are not part of the launch-time load. Only the
files at the top of the directory-walk from the filesystem root down to
the working directory — plus the managed, user, project, and local
scopes — are loaded automatically at session start. A CLAUDE.md sitting
in a subdirectory below the working directory is picked up on demand:
it enters context the moment Claude reads a file that actually lives in
that subdirectory, not before. So at the instant the engineer's first
message is sent, services/billing/CLAUDE.md has not yet been
loaded — Claude would need to touch a file under services/billing/
(which, in this scenario, happens moments later as it works out how to
answer) before that file's content is actually in its context window.
The distractors describe plausible-sounding but incorrect mechanisms:
nested CLAUDE.md files are not all loaded at launch regardless of
directory; a mention of the services/ path in the root file doesn't
force a subdirectory's CLAUDE.md to load early; and loading a nested
file doesn't require a manual /memory action — it happens
automatically, just later than launch, triggered by an actual file read
in that subtree.
Share this question