AIArticle Anthropic's published prompt history shows pruning cycles and a shift from steering behavior to shipping product config.
Mariana Souza The stat that carried Anthropic's system-prompt release notes to the top of Hacker News this weekend is a clean one: Claude Opus 3 shipped in July 2024 with a system prompt of roughly 360 words, and Claude Opus 5's current prompt runs about 3,200. A 9x jump in two years, and with it a tidy moral — system prompts are like building codes, accumulating a rule for every incident and never shedding one.
The full history Anthropic publishes says otherwise. I counted every version on the release-notes page myself, and the curve isn't a ratchet. It's a sawtooth. That shape — and what's actually filling the prompt now — is the real lesson for anyone running LLMs in production.
The sawtooth, not the ratchet #
Watch one model generation age. Sonnet 3.5's prompt started at 968 words in July 2024 and hit 4,117 by that November — more than quadrupling in four months. That's what incident-response accretion looks like: every viral failure becomes a paragraph, and paragraphs don't get deleted mid-generation because nobody wants to re-litigate a fixed bug.
Then Sonnet 3.7 shipped in February 2025 with 2,023 words. Half the rules, gone overnight.
The cycle repeated. Prompts grew through the Claude 4 era, peaked around 3,700 words with Opus 4.7 in April 2026 — and then each of the last three releases got shorter: about 3,360 for Opus 4.8, 3,290 for Fable 5, 3,230 for Opus 5. The prompt everyone is calling bloated has been shrinking for three consecutive releases, even while absorbing new material.
The mechanism is obvious once you see it: rules accumulate within a model generation and get pruned at generation boundaries, because each new model is trained on what its predecessor had to be told. The prompt is a staging area for behavior that hasn't made it into the weights yet.
What's actually in there now #
Read the Opus 5 prompt and it reads less like a behavior spec than a product config file. It enumerates the current lineup — Fable 5, Opus 5, Sonnet 5, Haiku 4.5, with their exact API model strings — so the model can answer "which Claude am I talking to" without hallucinating. It discloses an unreleased tier (Claude Mythos Preview, gated behind something called Project Glasswing). And it carries a dated legal bulletin: Fable 5 and Mythos 5 released June 9, 2026, suspended three days later under U.S. Commerce Department export controls, restored July 1.
Why does an export-control notice live in a prompt? Deployment speed. Training a fact into a model takes months; an app release takes days; a system-prompt edit propagates to every conversation instantly. The system prompt is the hotfix layer of an LLM product — the only surface where "what's true this week" can ship this week.
Two scope caveats worth knowing. The published prompts cover claude.ai and the mobile apps only; API traffic gets none of this. And the published text is the floor, not the ceiling — when Claude's served prompt leaked in May 2025, the full context with tool definitions ran past 24,000 tokens, several times the published version.
The 80% cut nobody connected #
Here's the detail that kills the building-codes story: on July 24, 2026 — the same day the Opus 5 consumer prompt shipped — Anthropic published a context-engineering post explaining that the Claude Code team had deleted over 80% of that product's system prompt for Opus 5 and Fable 5, with no measurable loss on coding evals. Their framing: most of the removed text was guardrails for older models' failure modes, and on newer models those guardrails were crowding out judgment rather than adding it.
So the same company, the same week, grew one prompt and gutted another. That's not incoherence — it's a decomposition. Instructions sort into two piles. Behavior that's trainable and evaluable (code style, tool discipline, tone) migrates into the weights, and evals tell you when the prompt version is dead weight. Facts that are volatile and unknowable-to-the-model — what models exist, what's export-controlled, what today's date is — can never be trained in and must be injected at runtime. Claude Code's prompt was mostly the first pile, so it collapsed. The consumer prompt is increasingly the second pile, so it persists. The 3,200-word figure isn't bloat; it's composition shift.
What to steal for your own stack #
If you ship an LLM product, the actionable version looks like this: Split your prompt into the same two piles. A behavior spec and a runtime config block have different change cadences, different reviewers, and different lifetimes. Keep them as separate files even if you concatenate at request time.Pin prompt versions to model versions in the same commit. A model upgrade silently invalidates your behavior spec — rules written for last year's model are friction on this year's. Anthropic's own release cadence shows the right move: at every model bump, re-run your evals with chunks of the prompt deleted, and keep only what measurably still earns its tokens.Order for the cache. Prompt caching on Anthropic's API bills cached reads at a tenth of normal input tokens, so a 3,000-word prompt costs almost nothingif the prefix is stable. Put the behavior spec first and volatile facts last; a dated bulletin at the top of the prompt is a cache-buster.Be honest about whether you can afford prose facts. Anthropic puts prices and policy dates in prompt text because they deploy continuously and will edit it next week. If your deploy cadence is slower, volatile facts belong behind a tool call or retrieval, where they can't go stale between releases.
The 9x number is real, but the growth story attached to it is wrong. The metric worth watching isn't length — it's composition. Steering is draining out of prompts into weights and runtime classifiers; what remains is the stuff only deploy-time injection can do. Expect Claude's consumer prompt to keep shrinking as a behavior document while growing as a newspaper. And if your own system prompt is still all behavior rules, the Claude 5 generation is your cue to start deleting — with evals running.
Sources & further reading #
[System Prompts - Claude Release Notes](https://platform.claude.com/docs/en/release-notes/system-prompts)— platform.claude.com -
[Claude: System Prompts](https://news.ycombinator.com/item?id=49319556)— news.ycombinator.com -
[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)— claude.com -
Claude's System Prompt Grew From 358 to 3235 Words. Here's What It Teaches Production AI Teams— dev.to -
[system_prompts_leaks repository](https://github.com/asgeirtj/system_prompts_leaks)— github.com
[Mariana Souza](https://sourcefeed.dev/u/mariana_souza)· Senior Editor
Mariana covers the fast-moving world of machine learning and generative AI, with a particular focus on how these technologies are reshaping development workflows. When she isn't stress-testing the latest foundation models, she's usually at a local hackathon.
Discussion 0 #
No comments yet
Be the first to weigh in.