# Stop Bloating Your CLAUDE.md: Progressive Disclosure for AI Coding Tools



Yesterday I spent an hour debugging a Nuxt Content gotcha with Claude. We figured it out together—you need to use `stem` instead of `slug` in page collection queries. Today? Claude made the same mistake. Yesterday's session was gone.

<Alert type="info">
The examples in this post come from my [Second Brain](https://second-brain-nuxt.vercel.app/)—a personal wiki built with Nuxt and Nuxt Content that uses Zettelkasten-style wiki-links for knowledge management. You can see the actual [CLAUDE.md file](https://github.com/alexanderop/second-brain-nuxt/blob/main/CLAUDE.md) on GitHub.
</Alert>

That's the constraint. **Your context is just an array of tokens**—a sliding window that forgets everything the moment the conversation ends.[^1]

<Alert type="info">
The percentages shown in these visualizations are illustrative examples—not real measurements. Actual system prompt overhead varies by tool version and configuration. The key insight is the relative proportions, not the exact numbers.
</Alert>

There's no hidden memory. No database of past conversations. Just this array, rebuilt fresh every session.

Dex Horthy calls this "context engineering"—since LLMs are stateless, the only way to improve output is optimizing input.[^6] The array is all you have. Everything outside it doesn't exist to the model.

But that array has a size limit. Fill it with noise, and you're working in what Dex calls the "dumb zone"—where performance degrades because irrelevant context competes for attention.

Most developers respond to this by putting every lesson learned into their `CLAUDE.md` file. I've seen files balloon to 2000 lines. Style guides, architectural decisions, war stories from that one bug that took three days to fix.

This makes things worse.

## Bloated CLAUDE.md Makes Things Worse

When Claude makes a mistake, the instinct is to add a rule: "Never use `slug` in page collection queries—use `stem` instead."

Then another mistake, another rule. Then another.

Before long, your CLAUDE.md looks like this:

```markdown