explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — what's on the page and what it means
  • What is actually published, and what isn't
  • Why did the system prompt grow from 300 to 3,000+ words?
  • Does a long system prompt actually cost you anything?
  • Why doesn't Claude follow its own brevity instructions?
  • A real example: using the system prompt to explain product behavior
  • The third-person format is worth testing yourself
  • Practical takeaways for your own CLAUDE.md or system prompt
  • Related reading
← Back to blog

explainx / blog

Claude's System Prompt Grew From 300 to 3,000+ Words — What That Teaches Builders

Anthropic publishes Claude's claude.ai system prompts at platform.claude.com. Word count went from ~300 to 3,000+ words. Here's what that growth teaches anyone writing a CLAUDE.md, AGENTS.md, or custom agent system prompt.

Aug 17, 2026·13 min read·Yash Thakker
System PromptClaudeAnthropicPrompt EngineeringCLAUDE.mdContext Engineering
go deep
Claude's System Prompt Grew From 300 to 3,000+ Words — What That Teaches Builders

Anthropic publishes the actual system prompts behind claude.ai and the Claude mobile apps, dated entry by dated entry, at platform.claude.com/docs/en/release-notes/system-prompts. That page recently made the front page of Hacker News — 551 points, 230 comments — not because anything in it was secret, but because reading it end to end reveals just how much a frontier model's behavior is steered by text instructions rather than the weights themselves.

The most quoted observation in that thread wasn't about safety or policy. It was a word count. Commenter "tosh" pointed out that early Claude system prompts ran "a bit more than 300 words," while the latest ones are "3,000+." That's roughly a tenfold increase, and it's a genuinely useful data point for anyone writing their own CLAUDE.md, AGENTS.md, or custom agent system prompt — because it forces the same question Anthropic's own team has clearly wrestled with release after release: how much do you write down, and what does that cost you?

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR — what's on the page and what it means

table · 2 cols
QuestionAnswer
What does Anthropic actually publish?System prompts for claude.ai and the Claude iOS/Android apps only — dated entries from Haiku 3 and Opus 3 through Claude Opus 5 and Claude Fable 5
Does this include the API or Claude Code?No. The API lets developers write their own system prompt. Claude Code's system prompt is separate and not officially published
Are tool definitions included?No — Anthropic publishes the prompt text, not the tool schemas the model was actually given, which several commenters called the more useful half
How much has prompt length grown?From "a bit more than 300 words" in early prompts to "3,000+" in recent ones, per HN commenter tosh
Does a long system prompt cost more per request?Not for these consumer prompts — they don't touch API billing. For prompts in general, prefix caching keeps repeated costs low
Does Claude reliably follow its own instructions?Not always — brevity and word-choice instructions are widely reported as ignored in practice
What format is it written in?Third person ("Claude does X"), not the more common second-person "You are an assistant" framing

What is actually published, and what isn't

The release-notes page covers a long run of models: Claude Opus 5, Claude Fable 5, Opus 4.8, Opus 4.7, Sonnet 4.6, Opus 4.6, Opus 4.5, Haiku 4.5, Sonnet 4.5, Opus 4.1, Opus 4, Sonnet 4, Sonnet 3.7, Sonnet 3.5, Haiku 3.5, Opus 3, and Haiku 3 — each with its own dated system prompt entry. That's a genuinely rare thing for a frontier lab to publish at all, and it's why the page keeps resurfacing on Hacker News every time someone rediscovers it.

But the scope is narrower than it looks at first glance. It covers only the system prompt used for claude.ai and the Claude mobile apps — the consumer chat product. It does not cover:

  • The API. Developers building on the Claude API write their own system prompt from scratch; Anthropic doesn't inject one.
  • Claude Code. The agentic coding tool's system prompt is separate and, as HN user simonw put it, remains undisclosed — which he called "silly," since it's trivial to extract via a logging proxy anyway.
  • Tool definitions. simonw, who maintains a tracking repository for these prompts (path extract-system-prompts, tracked as git commit history so you can diff exactly what changed between versions), specifically called this out: Anthropic does not publish the tool schemas that ship alongside the prompts, which he considers more interesting and more useful for understanding what Claude can actually do than the prose instructions themselves.

If you want to see the gap between "Claude's official prompt" and "Claude Code's actual prompt," a community project called Piebald-AI/claude-code-system-prompts has extracted and archived roughly 670 versions of the unpublished Claude Code system prompt over time — filling the specific hole Anthropic's official page leaves. explainx.ai has covered the leaked-prompt side of this ecosystem before, including what's inside the Claude Fable 5 leak and a broader guide to system prompt leak repositories on GitHub.

Why did the system prompt grow from 300 to 3,000+ words?

Because the job it's doing grew. A 300-word prompt is a persona sketch: tone, a few refusals, maybe a knowledge cutoff. A 3,000-word prompt is closer to a policy document — product context, safety guardrails, tool-usage rules, formatting preferences, and even event-specific notices that need to survive past the model's training cutoff.

A concrete example from the Opus 5 prompt shows exactly why length creeps up: it contains an explicit block explaining that Claude Fable 5 and Claude Mythos 5 were first released June 9, 2026, that Anthropic suspended access to both models on June 12, 2026 to comply with U.S. Department of Commerce export controls, that the Department lifted those controls June 30, 2026, and that Anthropic restored access July 1, 2026. The prompt instructs Claude to confirm these events accurately and matter-of-factly if asked — not deny them — to treat the export-controls topic like any other current political topic (a fair, accurate account, no personal opinions), and to point to Anthropic's statement for anything further, with a note to check search for developments since the notice was written. explainx.ai covered the export-control suspension and the July restoration as they happened; the system prompt block is Anthropic's way of making sure the model itself narrates that history correctly instead of guessing or refusing.

An older example, cited by an HN commenter from an Opus 4.6-era prompt, does the same thing for a different fact: an explicit <election_info> block stating Donald Trump won the 2024 US presidential election over Kamala Harris and was inaugurated January 20, 2025, with instructions to mention it only when relevant. Every one of these blocks is a permanent line item — the prompt only grows, because removing a fact-anchor risks the model reverting to a stale, pre-cutoff guess.

Every reader writing a CLAUDE.md or AGENTS.md file for their own project faces a version of this same pressure: every edge case you've hit becomes a line you add, and almost nobody goes back and prunes.

Does a long system prompt actually cost you anything?

Less than the raw word count suggests, but not nothing. The HN thread's most substantive technical sub-thread was about exactly this: why is behavior delivered as prompt text instead of baked into the model's weights via fine-tuning?

The consensus, and the practical reasons it's the right call:

  1. Prefix caching makes the compute cost small. The system prompt is identical across every user of a given model and product surface, so a provider can compute it once and reuse the cached result — it isn't recomputed from scratch on every request. simonw specifically clarified that these claude.ai prompts also don't add to API token billing at all, since they only apply inside the consumer chat product.
  2. Baking behavior into weights is slow. Adjusting guidance via fine-tuning requires a retrain cycle. Editing a text prompt and shipping it same-day is dramatically faster when you need to react to something — like an export-control suspension.
  3. Different surfaces need different behavior from the same weights. Consumer chat, the API, Claude Code, and enterprise customers all need different guardrails and framing from the identical underlying model. Swappable system prompts make that trivial; one fixed set of weights makes it nearly impossible.

For the mechanics of how prefix caching actually keeps a long, stable prompt cheap, see explainx.ai's prompt caching and LLM cost optimization guide — it covers cache breakpoints, TTLs, and the write-vs-read pricing tradeoff that applies whether you're Anthropic serving claude.ai or you're an indie developer serving your own agent.

Here's the catch prefix caching doesn't solve: it reduces compute cost, not attention cost. A model still has to read every token of a 3,000-word prompt before it gets to your actual message, and every instruction in that prompt is competing for the model's limited attention budget on the task at hand. tosh's point in the HN thread was blunt: the system prompt is arguably the single most important instruction you give a model, because it comes first in the context window and the model is trained to weight it heavily — so padding it with boilerplate is a real cost even when the dollar cost is near zero.

That's the exact argument behind "smol," a minimalist agent harness mentioned in the thread that ships with no system prompt by default — the philosophy being that context window space should go to the task and task-relevant material, not to instructions the task doesn't need. It's a useful counterweight to read against Anthropic's 3,000-word prompt: one end of the spectrum optimizes for exhaustive coverage, the other optimizes for a clean slate. Most real CLAUDE.md files, and the agent skills pattern more broadly, land somewhere in between — persistent instructions for what genuinely recurs, loaded only when relevant rather than crammed into every session.

Why doesn't Claude follow its own brevity instructions?

Because a system prompt line is a nudge, not a lock. Two of the most-quoted lines from Claude's published prompt are:

"Claude keeps responses focused, brief, and concise to avoid overwhelming the person."

"Claude avoids saying 'genuinely', 'honestly', or 'straightforward'. Claude is honest by default..."

Multiple top-voted HN comments pointed out that Claude's actual behavior contradicts both lines constantly — responses run long, and the banned words show up anyway. The explanation commenters converged on: training and RLHF incentives run deeper than a single prompt instruction. If verbose answers score better on the preference data or benchmarks used during training, that trained-in tendency will often win out over an instruction telling the model to do the opposite, because the instruction is competing against the model's actual weights, not overwriting them.

This matters directly for anyone customizing Claude Code via CLAUDE.md: a rule like "always use tabs, never spaces" is far more likely to hold than a rule like "always be concise," because the first is a discrete, checkable fact the model can apply mechanically, while the second is fighting an ingrained stylistic default. When you write instructions into your own system prompt or CLAUDE.md and the model doesn't reliably follow them, that's not necessarily a bug in your prompt — it may be a training-level tendency your one line can't fully override. Plan around it: verify with a linter, a test, or a second pass rather than trusting a single stated instruction to hold every time.

One HN commenter (billbrown) floated a more speculative theory for why Anthropic cares about specific word-choice constraints at all: it might connect to Anthropic's EU-mandated text watermarking work, on the idea that constrained word choices could theoretically double as part of a text watermark. That's explicitly framed as speculation in the thread, not a confirmed mechanism — worth knowing about, not worth treating as established fact.

A real example: using the system prompt to explain product behavior

One of the more useful patterns for anyone building their own AI product shows up in how the Opus 5 prompt handles Fable 5 safety routing. Quoted directly, the prompt explains that because Fable 5 is highly capable — including in areas like cybersecurity — Anthropic launched it with conservative safeguards that redirect some queries to "our next-most-capable model, Claude Opus 5." It states these safeguards trigger on "less than 5%" of sessions on average, and notes false positives will be reduced over time as the safeguards improve. If a query does get redirected, Opus 5 is instructed to be able to explain the redirection to a confused user rather than leaving them wondering why the model switched.

That's a system prompt being used as a transparency mechanism, not just a behavior mechanism — a pattern worth borrowing if you're building any product that routes, throttles, or substitutes models behind the scenes. Telling the model how to explain its own product's plumbing to a confused user, in the prompt itself, is cheaper than building a separate support flow for the same question.

The third-person format is worth testing yourself

A smaller but genuinely actionable detail from the thread: Claude's published system prompt is written in the third person — "Claude does X," "Claude avoids Y" — rather than the second-person framing ("You are an assistant that...") used by most system prompts people write, including in most prompt engineering guides for Claude. Multiple commenters flagged this as an interesting, less common design choice.

There's no confirmed mechanism proving third person outperforms second person across the board, but it's cheap to test in your own context engineering work: rewrite a chunk of your system prompt from "you should always X" to "the assistant always X" and see whether output consistency changes. Given that Anthropic runs this at the scale of every claude.ai and mobile conversation, it's a reasonable signal that third person is at minimum not a liability — and might be part of why the prompt holds together as coherently as it does at 3,000-plus words.

Practical takeaways for your own CLAUDE.md or system prompt

Pulling this together into what you can actually act on when writing a CLAUDE.md, AGENTS.md, or a custom system prompt for your own agent:

  1. Keep it tight and task-relevant. The "smol" harness's zero-default-prompt philosophy is a useful extreme to anchor against — every line you add should justify its share of the model's attention, not just its share of the token budget.
  2. Prefix caching makes length cheaper than instinct suggests — but it doesn't fix attention dilution. A long, stable prompt costs less to serve than its token count implies, thanks to caching. It still competes with your actual task for the model's focus on every single turn. Don't let cheap compute talk you into padding.
  3. A stated instruction is not a self-enforcing rule. "Be concise" and "avoid these words" are demonstrably ignorable by the very model whose own prompt contains them. If a behavior is important, verify it mechanically — a lint rule, a test, a second review pass — rather than trusting a single line of prose to hold every time.
  4. Consider third person for stylistic and persona instructions. It's a small, testable change, and Anthropic runs it at massive scale without apparent downside.
  5. Use the prompt to explain your product's own behavior, not just to constrain it. The Fable 5 safety-routing block is a real example of a system prompt doubling as a transparency layer for confused end users — a pattern worth reusing if your product ever silently swaps models or throttles requests.

The 300-to-3,000-word trajectory isn't a mistake Anthropic is making — it's the visible cost of a product maturing in public, one dated entry at a time. The lesson for the rest of us isn't "write more" or "write less." It's that every line has to earn its place in the context window, the same way it has to in Anthropic's.

Related reading

  • What Is a System Prompt? Complete Guide
  • Claude Fable 5 System Prompt Leak Analysis
  • System Prompt Leaks: A Guide to the GitHub Repos
  • What Is CLAUDE.md? Persistent Memory for Claude Code
  • CLAUDE.md: How to Eliminate Generic Answers
  • Prompt Caching and LLM Cost Optimization
  • Context Engineering vs Prompt Engineering
  • Claude Code Commands: Complete Reference Guide

Official sources: Anthropic's system prompts release notes · simonw/research — extract-system-prompts · Anthropic's Fable/Mythos access statement

Word counts, model list, and prompt contents referenced here reflect the state of Anthropic's system-prompts page and the linked Hacker News discussion as of August 2026. Anthropic updates this page with every model release, so check the official source for the current version before relying on specific details.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 24, 2026

Claude Cookbook: What to Read (and Ignore) in 2026

The Claude Cookbook isn’t a food blog — it’s Anthropic’s practical notebook index from RAG to async multi-agents. explainx.ai maps the 2025–2026 must-reads against the HN “prompt theatre” debate and CLAUDE.md minimalism.

Jul 7, 2026

Claude Fable 5 System Prompt Leak: What's Inside Anthropic's 3,800-Line claude.ai Instructions

Claude Fable 5's claude.ai system prompt is ~3,800 lines of XML-tagged instructions — from Mythos-class product copy to mental-health guardrails and artifact-design skills. Here's what builders learn from the leak without reading every line.

Jun 9, 2026

Master Prompt Engineering with Claude: Complete Guide 2026

From basic prompts to advanced context engineering—learn the proven techniques, patterns, and strategies that make Claude produce exceptional results. Includes real examples, common mistakes, and expert tips for 2026.