---
title: "Anthropic Deleted 80% of Claude Code's System Prompt. Your CLAUDE.md Is Next."
pubDatetime: 2026-07-26T15:06:00.000Z
description: "Two guides published alongside Claude Opus 5 say most accumulated prompt-engineering folklore is now an anti-pattern: delete your verification steps, delete your examples, delete your rules. Here's what survives, and what the deletions cost you."
tags: [anthropic, claude-opus-5, context-engineering, prompt-engineering, claude-code, agents, 2026, 2026-q3, 2026-07]
---
> [!tldr] TL;DR
> Anthropic removed **over 80% of Claude Code's system prompt** for Opus 5 and Fable 5 with no measurable loss on its coding evals, and published two guides telling you to do the same to your own context. The list of things that now hurt more than they help is long and specific: verification instructions ("double-check your answer"), few-shot examples for tool use, repeated rules, and conservative framing in code-review prompts, which Opus 5 follows literally and reports fewer bugs because of. The `/doctor` command in Claude Code will do a first pass on your CLAUDE.md and skills. The catch worth thinking about: guardrails that used to sit in plain text you could diff now sit inside model judgement you can't. The HN thread cleared 400 points and spent most of its ~290 comments arguing about the phrase "load-bearing seam" instead.

Anthropic shipped [Claude Opus 5 on Friday](https://www.anthropic.com/news/claude-opus-5). The same day, Thariq Shihipar published [the number that should make you open your CLAUDE.md](https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models): Claude Code's system prompt lost more than 80% of its text for the Claude 5 generation, and the coding evals didn't move.

That is a strange thing for a model vendor to advertise. It amounts to admitting that most of what was in there was scar tissue.

## The rules were compensating for something that got fixed

The clearest example in the post is code comments. The old system prompt said:

> [!quote] Old Claude Code system prompt
> In code: default to writing no comments. Never write multi-paragraph docstrings or multi-line comment blocks […] Don't create planning, decision, or analysis documents unless the user asks for them.

Blunt, and wrong for a decent share of requests: some code genuinely wants a multi-line comment block. The rule existed because older models, left to their own judgement, wrote bad comments often enough to make the tradeoff worth taking. The replacement is one sentence: *"Write code that reads like the surrounding code: match its comment density, naming, and idiom."*

Shihipar's post lists five more reversals of advice that was standard practice a year ago. Examples for tool use are now discouraged, because they constrain the model to the exploration space the examples imply; design expressive tool parameters instead, and let an enum like `pending | in_progress | completed` do the teaching. Repeating instructions across the system prompt and the tool description is out, since Claude 5 models no longer favour the end of the context window. Stuffing everything upfront gives way to progressive disclosure: verification and code review became skills loaded on demand, and some Claude Code tools are deferred, so the agent calls `ToolSearch` before it can use them. Manual `#` memory writes to CLAUDE.md are out because memory saves automatically. Markdown specs are out where a test suite, an HTML mockup, or a function in another codebase is a higher-fidelity reference.

The advice for what remains: keep CLAUDE.md light, describe what the repo is for in a line or two, and spend the tokens on gotchas a reader of the file system wouldn't guess.

## Instructions that now cost you money

The [Opus 5 prompting guide](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5) is the more actionable of the two, because it names specific strings to delete.

Verification instructions are the big one. Opus 5 verifies its own work unprompted, so a line like "include a final verification step for any non-trivial task" or "use a subagent to verify" compounds with the behaviour and produces over-verification. Anthropic says removing them cuts wasted tokens with no quality loss. Same for "double-check your answer" and "re-verify before responding".

The code-review finding is the one I'd act on today. Opus 5 reviews with high precision and recall, and if your review prompt says *"only report high-severity issues"* or *"be conservative"*, it takes you at your word and reports less. Ask for everything, then filter in a separate pass. Anyone who wrote a review prompt defensively against an older model's false-positive rate is now paying for that caution in missed bugs, which pairs badly with [the vulnerability-discovery unblocking that shipped in the same release](/posts/claude-opus-5-find-vulns-not-exploit).

Two more behaviours need active suppression. Opus 5 delegates to subagents readily, which is great for wide independent investigations and expensive for anything one agent finishes in five tool calls, so cap it explicitly. And its default responses run long, including the files it writes to disk. [The effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort) controls thinking volume, and lowering it will leave the visible answer about as long, so prompt for length directly.

> [!warning] Don't disable thinking to save tokens
> With thinking disabled, Opus 5 occasionally writes a tool call into its user-facing text instead of emitting a `tool_use` block. The turn completes, the call never runs, and in an agentic loop the leaked text sits in conversation history corrupting later turns. It can also emit raw `<thinking>` tags, and a system-prompt rule telling it not to reason makes that worse. Anthropic's recommendation: keep thinking on and use `low` effort, which beats thinking-off at comparable cost. At `xhigh` and `max` the choice is made for you, since disabling thinking there returns a 400.

## What you give up

The honest reading of both guides is that a large fraction of prompt engineering was never engineering. It was compensation for model deficits, with a shelf life tied to the next release. Every guardrail in your CLAUDE.md carries an implicit version number, and nobody sends you a deprecation notice.

There's a second cost that the guides skip. A rule in a system prompt is text: greppable, diffable, reviewable by someone who wasn't in the room. "Let Claude use judgement" moves that same constraint inside the weights, where the only way to audit it is to run the model and look. For comment density, fine. For the security-relevant rules people put in CLAUDE.md, the ones about which directories are off limits and what never gets committed, I'd keep the text and accept the tokens. Anthropic's own framing supports this: skills should avoid being overconstrained *"except in highly important areas."* Deciding which of your areas are highly important is the part they can't do for you.

Run `/doctor` in Claude Code and it will take a pass at rightsizing your skills and CLAUDE.md. Read the diff before you accept it.

## The thread

The [HN discussion](https://news.ycombinator.com/item?id=49051361) cleared 400 points and roughly 290 comments, and largely ignored context engineering. The top comment, from mycentstoo, gets the joke out of the way early:

> We should design a specific language to make sure that we can encode the exact requirements that we want. Something that has a limited set of keywords that are explicit. Wait a minute...

From there it became a 200-comment argument about whether "load-bearing seam" is a useful metaphor or a Claude-ism, and about [that CommitStrip on a very comprehensive and precise spec](https://web.archive.org/web/20260521130338/https://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/). jiggawatts came closest to engaging the actual claim: managers have always issued non-deterministic natural-language instructions and received something back a week later, and the discomfort engineers feel about imprecise specs is one their managers stopped feeling decades ago.

Worth reading for the tangents. The guides are worth reading for the deletions.

**Sources**

- Anthropic: [The new rules of context engineering for Claude 5 generation models](https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models) (Thariq Shihipar, 24 July 2026) · [Prompting Claude Opus 5](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5) · [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) · [Effective context engineering for AI agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)
- Related guides: [A harness for every task: dynamic workflows in Claude Code](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code) · [Building verification loops in Claude Code with skills](https://claude.com/blog/building-verification-loops-in-claude-code-with-skills) · [A field guide to Claude Fable](https://claude.com/blog/a-field-guide-to-claude-fable-finding-your-unknowns)

**Coverage and discussion**

- HN: [The new rules of context engineering for Claude 5 generation models](https://news.ycombinator.com/item?id=49051361) (400+ points, ~290 comments)

**Related on this blog**

- [Opus 5 Is Allowed to Find Bugs Now. It Went From 2 Working Exploits to 99.](/posts/claude-opus-5-find-vulns-not-exploit)
- [Ralph Is Five Lines of Bash. All the Bugs Are in the Improvements.](/posts/ralph-wiggum-technique)
- [Nine Memory Providers, One Slot](/posts/hermes-memory-providers-one-slot)
- [The Managed-Agent Landscape: Twelve Ways to Not Run Your Own Agent](/posts/managed-agents-landscape)