Anthropic cut 80% of Claude Code's system prompt and replaced it with six new context rules
- Those "never do X" rules you've packed into CLAUDE.md and your skills are probably holding you back now: Anthropic cut more than 80% out of Claude Code's system prompt, and coding benchmarks showed no measurable loss
- Hard-coded rules used to be necessary because older models couldn't be trusted to judge for themselves — even knowing a rule was wrong for some cases, it had to stay. The old "default to no comments" line has been replaced with a single guiding principle: code should read like the code around it
- Adding one more constraint isn't free: the system prompt might say "keep docs when needed," a skill might say "no comments," and you might say "just do it the usual way" — all three can show up in the same request, and Claude has to reconcile the conflict before it can even start
- TodoWrite's tool description went from about 9,100 characters down to one sentence, a three-value enum, and one constraint. Want to trim your own skills and CLAUDE.md? Run
/doctorin a session
They cut 80% of Claude Code's system prompt
Thariq Shihipar (@trq212), a member of Anthropic's technical staff, posted a long thread on X about something they'd just done to Claude Code: for the new Opus 5 and Fable 5 generation of models, they cut more than 80% out of the system prompt. Coding benchmarks showed no measurable loss.
First, what actually got cut. When you send Claude a message, it reads far more than that one line: the system prompt, the skills you've installed, the project's CLAUDE.md, memories it's stored on its own, files you've @-referenced — all of it gets stitched into one big block, and the line you typed is just a small piece of it. Anthropic calls the discipline of organizing all that, and deciding when each piece shows up, context engineering.
A prompt is the one thing you're asking for. Context is the entire workbench you hand over.
There's a fundamental difference from writing a prompt: a prompt is one-off — you know exactly what you want this time. Context is general-purpose — it has to serve thousands of future requests whose content you can't know in advance, so it can't get too specific. That's the hard part: you're writing guidance for a problem that doesn't exist yet.
Rules that once had to be hard-coded can now be deleted
Take one real rule. Here's what Claude Code's early system prompt said about comments:
In code: default to writing no comments. Never write multi-paragraph docstrings or multi-line comment blocks — one short line max. Don't create planning, decision, or analysis documents unless the user asks for them — work from conversation context, not intermediate files.
This rule was necessary at the time. When Claude Code first launched, the top priority was keeping it from causing damage — like deleting files. So the guidance had to be written extremely firm, even when it wasn't always right. The comments rule was exactly that kind of not-always-right rule: some users have their own documentation habits, and some genuinely complex code deserves multi-line comment blocks. But the models back then wouldn't hold back without it — they'd write comments that were wrong nine times out of ten. Even knowing the rule would misfire on some people, it was the only option.
The new generation of models has good enough judgment that this misfiring is no longer necessary. The system prompt now covers the same ground in a single line:
Write code that reads like the surrounding code: match its comment density, naming, and idiom.