Why Your CLAUDE.md File Might Be Costing You More Tokens Than It Saves

•By Blacdisk Team

Why Your CLAUDE.md File Might Be Costing You More Tokens Than It Saves

CLAUDE.md is one of the best habits a Claude Code user can build: a file describing your project's conventions, commands, and gotchas, read automatically at the start of every session so you don't have to re-explain them each time. It's genuinely useful. It's also easy to over-build, and past a certain point, the file that was supposed to save you tokens starts quietly costing you more than it saves.

Here's how that happens, and how to tell if it's happening to you.

The trade you're actually making

Every CLAUDE.md file gets loaded into context at the start of a session, whether or not any given task needs most of what's in it. That's the core trade: you're paying a fixed context cost on every single session in exchange for not having to re-explain things in the sessions where they'd actually come up.

That trade is a clear win when the file is short and the information in it is genuinely needed often, your test command, your directory structure, the one non-obvious constraint that trips people up constantly. It stops being a clear win when the file grows to cover everything you can think of, on the theory that more context can only help. It can't, every line is competing for space with the actual task at hand, and a bloated CLAUDE.md shows up as the same kind of degradation as any other bloated context: slower responses, missed details, occasional confusion about what's actually relevant right now.

Signs your CLAUDE.md has crossed the line

What actually belongs in it

The highest-value content is short, stable, and applies broadly:

Notice what's not on that list: exhaustive style guides, full architectural documentation, a history of past decisions and why they were made, anything that's really a wiki page rather than a briefing.

What belongs somewhere else

A lot of what ends up in an over-stuffed CLAUDE.md isn't wrong to write down, it's just misplaced:

A good pattern: keep CLAUDE.md itself lean, and let it point to other files for anything detailed, "see docs/deployment.md for the full release process" costs a line, versus inlining the whole process and paying for it in every unrelated session.

A rough test

Before adding something to CLAUDE.md, ask: would I want this loaded into context for a session that has nothing to do with it? If the honest answer is no, it probably belongs in a more targeted place, a linked doc, a comment in the relevant code, or just something you mention when it's actually relevant, rather than in the file that gets read every single time.

CLAUDE.md earns its keep by being the small set of things that are almost always worth knowing. The moment it starts trying to be everything worth knowing, it stops being a shortcut and starts being its own kind of overhead.