Claude Opus 5 System Prompt
This capture presents the leaked system prompt for Claude Opus 5, Anthropic’s consumer chat assistant running on claude.ai. It is distinct from [[claude-code-system-prompt]], which covers Anthropic’s CLI coding agent. Where the coding agent is a task-automating tool, Opus 5 chat is a conversational, product-aware interface with a broad built-in tool surface.
The source is confidence: low because it is a leaked-prompt artifact from a public mirror, not an authenticated vendor publication. It is useful for comparative pattern analysis of Anthropic’s consumer prompt design, not as certified proof of Opus 5’s current production configuration.
Behavior Block (confidence: high for structure)
The prompt leads with a long claude_behavior block of ##-headed topics: product_information, default_stance, refusal_handling, legal_and_financial_advice, tone_and_formatting, user_wellbeing, anthropic_reminders, evenhandedness, responding_to_mistakes_and_criticism, and knowledge_cutoff. These mirror the document-consent and confirmation-safety conventions seen across the corpus: default-to-helping, refusal only for concrete serious harm, non-withholding of legal/financial facts, warmth and direct honesty, and careful crisis/wellbeing handling.
Implications
Opus 5 chat treats refusal and wellbeing as deeply engineered surfaces (child-safety tagged instructions, end_conversation tool for self-harm/violence, crisis prioritization). This makes Opus 5 chat closer to a productized wellbeing layer than a generic assistant — a design priority an agentic prompt author can borrow for consumer-facing deployments.
Envelope Format
Markdown-header containment (# ## ###) with domain topics as headings, plus a large tail # functions section declaring tools as inline JSON blocks. This is a heavier monolith than many consumer prompts, consistent with [[monolithic-prompt-limits]] — but the semantic separation into named behavior topics keeps it navigable. envelope_format is best characterized as markdown with embedded JSON tool definitions.
Memory Filesystem Tools
The prompt ships a full persistent-memory toolset: memory_read, memory_write, memory_str_replace, memory_append, memory_delete, and memory_list, coordinated with an if_version optimistic-concurrency token. Instructions define a rich filing policy (which surface writes), a file format with [stated]/[observed]/[inferred] tags, a Where-it-goes taxonomy (/profile.md, /topics, /areas, /people, /preferences.md), and strict privacy omission categories (protected_attributes, sensitive_information, identifiable_information).
This is long-term memory made a first-class product feature at the consumer level — a useful contrast and complement to [[claude-code-memory]] style patterns seen on agent prompts. It is not agent memory that survives only a session; it is written to a persistent filesystem for future-you.
Implications
A consumer chat surface can carry durable, cross-session memory through an explicit tool + policy pairing. Authors building personal assistants can adopt the separation of “which file gets which fact,” optimistic concurrency, and a stated test (“did the user say this?”) to keep memory trustworthy.
Rejection Routing (Fable Safeguards)
The fable_safeguards_routing topic describes a routing mechanism: queries intended for the more capable Claude Fable 5 may be redirected to Claude Opus 5 by Anthropic’s safeguards on sensitive topics. The prompt quotes Anthropic’s blog: with the model released with safeguard, “queries on some topics will instead receive a response from our next-most-capable model,” firing “on average, in less than 5% of sessions.”
This is an inference-level, model-selection-side form of safety-based rerouting: the selected model is not always the same as the one that answers. It mirrors the neutral handling seen in [[grok-4-5-system-prompt]] and Anthropic’s tiering of models by capability.
Implications
Routing is not only a prompt-level artifact; whole-model rerouting based on topic safety is now part of Anthropic’s consumer stack. Designing a prompt that expects to be safely rerouted (rather than silently mishandled) is a defensible pattern.
Safety and Wellbeing Surfaces
Beyond the behavior block, the prompt includes end_conversation tool info and a dedicated section for “Addressing potential self-harm or violent harm to others,” instructing the model to end the conversation rather than continue drafting when someone may harm themselves or others. Separate privacy_requirements in the memory system set explicit non-fileable categories and an “omission” stance. Child-safety is elevated into <critical_child_safety_instructions> with an explicit “mentally re-framing = signal at to REFUSE” rule.
Implications
Safety is not only refusal lists: it is onboarding (a dedicated tool to exit), inclusion of privacy omission within the memory tool, and explicit re-framing cues. This is a mature, layered defense well worth porting into an own agent.
Functions / Tooling
The # functions block declares many tools as JSON schemas: ask_user_input_v0, bash_tool, conversation_search, create_file, end_conversation, fetch_sports_data, image_search, the memory family, message_compose_v1, places_*, present_files, recent_chats, recipe_display_v0, recommend_claude_apps, search_mcp_registry, str_replace, suggest_connectors, suggest_research, view, weather_fetch, web_fetch, web_search, and tool_search. This is a wide consumer surface spanning search, weather, sports, places, recipes, file/computer-use, MCP requests, and memory — consistent with Claude’s products (web, mobile, desktop, Cowork, Tag, Chrome/Excel/PowerPoint agents).
Open Questions
- How is the Fable-safeguard reroute signaled to the user when it happens? The prompt only says the user may be confused and to cite the blog — the not-symbol is unverified.
- Lifetime or expiration of
if_versiontokens across long files and concurrent surfaces. - Gap between the consumer memory filesystem (here) and the
claude-codememory layer — do they ever share state?
Relationships
- “references” claude-code-system-prompt — sibling Claude prompt surface (CLI coding agent vs consumer chat)
- “belongs-to” claude-3 — Claude model family context
- “implements” action-safety-tiering — safety/rerouting via Fable-safeguard surrogate
- “uses” markdown-header-format —
##-header envelope - “uses” claude-code-memory — persistent memory toolset
- “sibling-of” grok-4-5-system-prompt — another leaked consumer-capability prompt
Sources
- raw/prompts/leaked/claude-opus-5.md