A rule in ~/.claude/CLAUDE.md conflicts with one in ./CLAUDE.md. What happens?
Why D is the answer
Both are in context, so the conflict should be removed
Files are concatenated rather than overriding each other. Claude sees both rules, so remove the conflict rather than relying on order.
In detail
- CLAUDE.md files are concatenated rather than overriding each other.
- Claude sees both rules, so a conflict leaves it with contradictory guidance.
- Remove the conflict instead of relying on which file loads first.
- When output is inconsistent, check all instruction files for conflicts.
Use case
An illustrative scenario, not a real incident.
A developer's user file says "use tabs" while the project says "use spaces". Both reach Claude, so results vary. Removing one of the rules gives consistent output.
See it in different ways
flowchart TD A["Managed policy"] --> E["Session context"] B["User file"] --> E C["Project file, in git"] --> E D["Local file, personal"] --> E
mindmap
root((Instructions))
Project CLAUDE.md
Shared through Git
User CLAUDE.md
One person, every project
CLAUDE.local.md
One person, one project
Skills
Loaded when usedflowchart LR S0["User file"] --> S1["Project file"] --> S2["Joined in context"] --> S3["Claude sees both rules"]
Key point: CLAUDE.md files add up, so remove conflicts.
Why the other options are wrong
- A. The project file replaces the user file completely
- Neither file replaces the other. Both stay in context.
- B. The user file replaces the project file completely
- The user file does not replace the project file either.
- C. Claude Code stops and asks you to resolve the conflict first
- Claude Code does not stop to ask you. It loads both.

