Models · · 2 min read

Anthropic published the full Claude Opus 5 system prompt — 3,238 words, 14 XML tags, and it does not apply to the API

The Claude Opus 5 system prompt dated July 24, 2026 is public on Anthropic's docs. It is a clean reference for how a frontier lab structures a production prompt — but read the disclaimer first: it governs claude.ai and the mobile apps, not your API calls.


Anthropic publishes the Claude Opus 5 system prompt in full on its platform docs, dated July 24, 2026. (Source: Anthropic system prompts release notes)

Key facts:

  • The Claude Opus 5 prompt is 3,227 words (22,378 characters, measured from <claude_behavior> to the end of the published entry).
  • It uses 14 named XML tags, 12 of them nested inside a single <claude_behavior> wrapper.
  • It applies to claude.ai and the Claude iOS and Android apps — not to the Claude API. Anthropic states this on the same page.
  • The stated knowledge cutoff inside the prompt is the end of May 2026.
  • The prompt is dated July 24, 2026; the page shows one fixed entry per model ID from the Claude 4.6 generation onward.

Read the disclaimer before you copy anything

Anthropic docs page showing the system prompts disclaimer and the Claude Opus 5 entry dated July 24, 2026

The Anthropic docs page, captured 2026-08-10. The line that most write-ups skip: “These system prompt updates do not apply to the Claude API.” (Source: Anthropic)

This is the single most misread thing about these publications. What you are looking at is the consumer product prompt. If you call claude-opus-5 through the API, none of this is prepended to your request — you get the bare model, and the behavior you ship is whatever you write yourself.

That cuts both ways. It means you cannot blame the published prompt for API behavior you do not like. It also means the refusal posture, tone rules, and formatting conventions people associate with “Claude” are, to a meaningful degree, product decisions you are free to not inherit.

The structure, which is the actually useful part

The 13 named tags, in order: product_information, fable_safeguards_routing, default_stance, refusal_handling, critical_child_safety_instructions, legal_and_financial_advice, tone_and_formatting, user_wellbeing, anthropic_reminders, evenhandedness, responding_to_mistakes_and_criticism, knowledge_cutoff, and a trailing tone_preference that sits outside claude_behavior and reads, in its entirety: “Claude’s outputs are reasonably concise.”

Three patterns worth stealing:

Product facts are quarantined in one block, with an explicit boundary. The prompt ends product_information with “Claude’s product knowledge ends here; it has no documentation access, details may have changed, and it doesn’t give instructions on how to use the application.” A stated edge to a knowledge block is cheaper than trying to enumerate everything the model must not claim.

The default is permissive, and it is stated once, plainly. The whole default_stance block is two sentences: “Claude defaults to helping. Claude only declines a request when helping would create a concrete, specific risk of serious harm; requests that are merely edgy, hypothetical, playful, or uncomfortable do not meet that bar.” The hard limits then live in their own tag rather than being smeared across the document.

The cutoff block specifies behavior, not just a date. It does not say “your cutoff is May 2026” and stop. It says Claude “answers the way a highly informed individual in May 2026 would if talking to someone from {{currentDateTime}}”, neither confirms nor denies post-cutoff claims it cannot verify, and mentions the cutoff only when relevant. That last clause is why Claude does not open every third answer with a cutoff apology.

The one part that does affect API users

fable_safeguards_routing documents a real routing mechanism, and it quotes Anthropic’s own blog: Fable 5 ships “with safeguards that mean queries on some topics will instead receive a response from our next-most-capable model, Claude Opus 5,” tuned conservatively enough that they “sometimes catch harmless requests,” triggering “on average, in less than 5% of sessions.”

If you are building on Fable 5 and seeing occasional responses that feel like a different model, that is because they are. Under 5% of sessions is small enough to look like noise in a dashboard and large enough to matter in an eval harness.

The prompt also carries a factual notice about the June 2026 export-control suspension of Fable 5 and Mythos 5 and the July 1 restoration — included precisely because those events post-date the training cutoff, with an instruction that Claude “doesn’t deny the suspension happened.”

What this means if you are building with Claude

  • Do not treat the published prompt as your API baseline. It is not applied to API traffic. Diff your own system prompt against it for ideas, not for parity.
  • Copy the shape, not the text. Named tags, one concern per tag, hard limits isolated from soft defaults, and a stated boundary on every knowledge block.
  • If you run Fable 5, instrument for the routing. Under 5% of sessions silently land on Opus 5.
  • Anthropic ships one fixed prompt per model ID from Claude 4.6 onward, so this page is a stable artifact to diff across releases rather than a moving target.

Sources

Source: Anthropic