Anthropic cut 80% of Claude Code's prompt. I cut my CLAUDE.md by 90% the same day.

Every Claude Code session I started in twenty repositories opened by being told it was working on AGENT-11, "a documentation-based project with no build system".
None of them were. Trader-7 is Python, with a pytest suite and a deploy pipeline. The scanner is a Node app with a package.json. Not one of them is a documentation project and not one of them lacks a build.
All of them were handed that sentence before they read a single line of code, and had been for months.
I found it while auditing my own instruction files. The same day, Boris Cherny sat down at Y Combinator and said Anthropic had deleted over 80% of Claude Code's system prompt for Opus 5.
The timing was luck. The reason both files needed cutting is not.
What an audit of 116 files actually found
I thought I had about forty instruction files. My own project page said "~40". A script that walks the tree and counts them found 116, of which 77 are in scope for any standard at all. The rest are backups, mirrors, archives and template payloads.
Out by 76. You cannot maintain what you have never counted.
The worst offender was ~/DevProjects/CLAUDE.md, the file that loads into every session started anywhere below it. 709 lines. At some point it had been copied from the agent-11 repository's own instruction file and left at the tree root, and agent-11 had since moved on. So the root of my whole development tree was a fossil of one project, read aloud at the start of every session in twenty others.
Three things inside it were worse than wasteful.
Sixty lines described a "FILE PERSISTENCE BUG" dated January 2025, with a mandatory verification protocol built on top of it. Nineteen months old. Every session was paying for that in caution, in tokens, and in an extra check nobody needed.
Another passage stated flatly that subagents cannot create or modify files and have no write access. That is not true of Claude Code and has not been. Any session that believed it would refuse to delegate work it could have delegated.
And the bulk of the file described the architecture, squad roster and mission protocol of a project that wasn't the one being worked on. Correct once, for one repo. Wrong now, for all of them.
I cut it to 72 lines. Two things stayed: the secret-handling rule that came out of a real key leak, and the tracking discipline that keeps work visible. Every removed section was checked against the agent-11 repo first and still lives there. Nothing was lost, only stopped being shouted at twenty repos that didn't need it.
The defects you cannot see by reading
Bloat is the visible failure. Open a long file, think "this is long", and you are most of the way there. The audit found three failures that reading would never have caught.
Two AGENTS.md files had never been read by anything. Claude Code loads CLAUDE.md. It does not load AGENTS.md. Both files looked like instructions, sat in the right folder, and reached nothing. One carried a safety scope-guard about executors and decrypted registers, which is exactly the kind of rule you want loaded and exactly the kind you would never notice wasn't.

One pair was byte-identical. A root CLAUDE.md and its .claude/CLAUDE.md, 453 lines each, both loading into every session started in that folder. The same 453 lines. Twice. Every time.
Thirty of my folders carry two instruction files on purpose: a framework layer in .claude/ and a product layer at the root. That is a deliberate layout, not drift. Twenty-one of them said so in a sentence at the top. Nine didn't, which left nine sessions to work out on their own which file owned what.
My first defect list had 42 entries. It settled at 9 once I stopped treating a two-file layout as broken by default. Getting the rule right mattered more than running the check.
Judgement is not the method. Ablation is.
Here is the part I got wrong, and Cherny's interview is what showed me.
I trimmed on judgement. I read each line and asked whether it earned its place. That is opinion, and it was the best I had.
Anthropic doesn't do that. They delete the entire system prompt, then bring it back line by line and measure what each one changes. Cherny calls it an ablation: an eval where you delete things to find out what each of them was doing. They run it at every model release, because an instruction written to correct an older model's failure becomes dead weight the moment the model stops making it.

The order matters more than it looks. Delete. Then use it. Then, when you watch the model stumble on the same thing repeatedly, write the line. Write the line first and you never find out whether you needed it.
His advice to people who use Claude Code rather than build on it was blunt: every six months, delete your CLAUDE.md, delete your skills, delete your hooks, and see what the model does. For Opus 5 specifically, he recommends trying it.
There is a cheap probe as well. CLAUDE_CODE_SIMPLE=1 is an undocumented environment variable that strips all the system prompts, tool prompts included. Anthropic uses it as exactly this kind of ablation. Cherny says the model is slightly more intelligent without them, and that the prompts are there to make it behave like a usable product, not to make it cleverer.
Sit with that. The instructions are a tax you pay for predictable behaviour. Most of us write them as though they were free.
What to do with your own
Count them first. I would have bet money on forty. A script that walks your project tree and lists every CLAUDE.md and AGENTS.md with its line count and last-modified date takes ten minutes to write, and the number it returns will not be the number in your head.
Then check the three things reading will not catch: files that load nowhere, files that load twice, and files describing a project you no longer have. Dates are the tell. Anything untouched for a year is correcting a model that has been retired.
Then delete rather than trim. Use it. Let the failures tell you what to write back. My next pass runs at the next model release rather than on a calendar, because that is when the assumptions actually expire.
The uncomfortable version of all this: for months I paid, in every single session, to tell a capable model a false thing about its own abilities and a wrong thing about the project it was sitting in. Nothing was ever going to flag it. The file just sat there, being read.
When did you last open yours?