How to Prevent CLAUDE.md Rot: Treat Rules Like Code

After running Claude Code on production projects for 18 months, u/mm_cm_m_km identified the single most common failure point: the CLAUDE.md file rots. Not because Claude ignores it, but because developers keep adding rules without ever cleaning them up. The result is a bloated 500-line file that costs tokens every turn and drifts out of sync with the actual codebase.
1. CLAUDE.md as an Index, Not a Manual
Keep CLAUDE.md to 30–50 lines. It should act as a table of contents pointing to specific files for specific concerns — not a wall of every preference you have ever set. Claude rereads the file on every turn; short files are cheap, long files waste tokens and attention.
2. Every Section Answers One of Two Questions
- What behavior do you want? (the rule) — belongs in
CLAUDE.md. - Where do you find the current truth? (the source) — belongs as a fetchable URL or file path Claude can re-read at task time.
Mixing rules and sources is how files grow without bound. Keep the rule short, the source external.
3. Audit Before Merge, Not After
Rules silently drift as you rename things, refactor hooks, or drop features. The fix is not "be more careful" — it is a CI step. The author built a GitHub App called agentlint (agentlint.net) that audits the rules surface on every PR: contradictions across files, references to deleted paths, rules describing harness features your version does not support.
4. Delete More Than You Add
Almost every CLAUDE.md gains one new rule per week and deletes zero. After six months you have a Frankenstein. The discipline: for every new rule, find one to delete. This has kept the author's file under 100 lines.
The core pattern: treat your rules surface like code. Code has tests, review, and drift detection. Rules need the same.
📖 Read the full source: r/ClaudeAI
👀 See Also

Claude Code Visual: Practical Notes on Hooks, Subagents, MCP, and CLAUDE.md
A developer shares practical experience using Claude Code Visual, covering MCP hook syntax, CLAUDE.md for project context, subagent delegation patterns, and the /loop command for recurring tasks.

11 Deep Claude Tips from an 18-Month Daily User
A senior developer shares 11 non-obvious Claude tips after 18 months of daily use, including Projects, Custom Styles, Memory, Sonnet 4.6 vs Opus 4.7, Haiku 4.5 for batch work, Claude Code subagents, and Artifacts calling the API.

Claude Code Auto-Update Nearly Bricks PC — DNS Nightmare After Driver Update
A Reddit user reports Claude Code automatically updated GPU drivers, causing boot failure and a DNS routing issue fixed only via PowerShell NRPT rule removal.

Writing Effective SOUL.md Files for AI Coding Agents
A Reddit post from r/openclaw demonstrates the difference between vague and specific SOUL.md instructions, showing that specific prompts yield more useful AI agent behavior.