When your Claude Code agent starts doing the wrong thing, the first suspect is always your CLAUDE.md.

But there's a conflict most developers miss: your global CLAUDE.md and your project-level CLAUDE.md can actively fight each other — and Claude will silently pick one, or blend both in unpredictable ways.

Here's what that looks like in practice:

~/.claude/CLAUDE.md # global: "always use TypeScript strict mode"

./CLAUDE.md # project: "use loose types for prototyping"