Deconstructing Claude's System Prompt: Anthropic's Blueprint for Honest, Restrained AI

This article dissects Anthropic's official system prompt for the Claude chat interface, analyzing its seven XML-wrapped modules—identity, refusal handling, tone, user wellbeing, knowledge cutoff, evenhandedness, and long-conversation reminders—to reveal how honesty, restraint, and proactive safety shape production-grade AI behavior.

KooFE Frontend Team
KooFE Frontend Team
KooFE Frontend Team
Deconstructing Claude's System Prompt: Anthropic's Blueprint for Honest, Restrained AI

Overview

Anthropic publicly released the system prompt that powers the Claude chat interface (web, mobile, desktop). At roughly 5,000 characters and zero tool bindings, it serves as a benchmark for a minimal yet production-ready system prompt. The author identifies three core design principles:

Honesty — explicitly tell the model what it knows, doesn't know, and cannot do.

Restraint — minimize formatting, lists, and emojis to reduce "AI flavor."

Proactive safety — monitor for mental-health signals, neutrality, and stereotypes in everyday conversation, not only when harmful requests arrive.

Overall Structure: Seven Semantic Modules Wrapped in XML

The prompt is enclosed in a root <behavior_instructions> tag and contains seven child modules, each with a distinct responsibility. The author notes the ordering follows "safety > tone > wellbeing > fairness," with identity first and the dynamic long-conversation reminder last. <general_claude_info> — identity, product info, knowledge cutoff, election fact injection, access channels, pricing/API routing, capability boundaries, negative-feedback routing (5 segments). <refusal_handling> — child safety, malicious code zero-tolerance, public-figure protection, conversational refusal tone (4 segments). <tone_and_formatting> — chat vs. report formatting, list quality bar, emoji policy, minimal formatting, asterisk-action suppression (4 segments). <user_wellbeing> — self-destructive behavior guardrails, mental-health signal detection (2 segments). <knowledge_cutoff> — static cutoff date (end of January 2025). <evenhandedness> — political neutrality, exception list for extreme positions, mandatory opposing perspectives, stereotype vigilance including majority groups (3 segments). <long_conversation_reminder> — runtime-injected reminder that the model may forget instructions over long contexts (1 segment).

Module-by-Module Analysis

1. XML Tag Structure

Benefit: Clear separation of concerns. Role: (1) Modularity — each module handles one concern; changes don't cascade. (2) Maintainability — engineers know exactly which tag to edit. (3) Model clarity — tags give the model explicit partitions. The author clarifies that Anthropic's statement "XML tags are deprecated" refers to users wrapping their own prompts in <prompt> tags; internal structural tags remain good practice for team maintenance.

2. general_claude_info

Identity Declaration

The assistant is Claude, created by Anthropic. This iteration of Claude is Claude Haiku 4.5 from the Claude 4 model family. The Claude 4 family currently also consists of Claude Opus 4.1, 4 and Claude Sonnet 4.5 and 4.

Benefit: Minimal identity — name and family only, no heavy role-play. Role: (1) Removes guesswork about identity. (2) Equips the model to answer "which versions exist?" (3) Aligns with Anthropic's best practice that heavy role-setting is obsolete because the base model already internalizes helpful-assistant behavior.

Knowledge Cutoff

Claude's reliable knowledge cutoff date is the end of January 2025.

Benefit: Objective temporal boundary instead of subjective "I don't know." Role: (1) Prevents hallucination on post-cutoff facts. (2) Gives the model a concrete line to cite when users ask about recent events. (3) Enables proactive "check the official site" guidance.

Election Fact Hard-Coding

There was a US Presidential Election in November 2024. Donald Trump won the presidency over Kamala Harris. … Donald Trump is the current president of the United States and was inaugurated on January 20, 2025. … Claude does not mention this information unless it is relevant to the user's query.

Benefit: "Inventory-style fact" — know it but stay silent unless asked. Role: (1) Bypasses training-data uncertainty for a high-stakes, time-sensitive fact. (2) The <election_info> sub-tag inside <knowledge_cutoff> makes the fact a swappable module for future elections. (3) Contrasts with Sonnet 4.5, where the same slot evolved from "suggest web search" to automatic search invocation — a live version-management case study.

Access Channels & Product Catalog

Claude is accessible via this web-based, mobile, or desktop chat interface. Claude is accessible via an API and developer platform. The most recent Claude models are Claude Sonnet 4.5 and Claude Haiku 4.5, the exact model strings for which are 'claude-sonnet-4-5-20250929' and 'claude-haiku-4-5-20251001' respectively. Claude is accessible via Claude Code, a command line tool for agentic coding. There are no other Anthropic products.

Role: (1) Grounds answers to "how do I call you?" (2) Explicit "no other products" prevents hallucinated offerings. (3) Pure product-context injection — does not alter speaking style.

Pricing/API Routing

If the person asks Claude about how many messages they can send, costs of Claude, how to perform actions within the application, or other product questions related to Claude or Anthropic, Claude should tell them it doesn't know, and point them to 'https://support.claude.com'. If the person asks Claude about the Anthropic API, Claude API, or Claude Developer Platform, Claude should point them to 'https://docs.claude.com'.

Benefit: "Don't know? Redirect." Role: (1) Dynamic info (pricing, limits) changes; official docs stay current. (2) Extends honesty boundary to operational data. (3) Cuts hallucination risk on prices.

Capability Boundary

Claude does not know any other details about Claude models or Anthropic's products.

Role: (1) Preemptively blocks hallucinated model params, training details, roadmaps. (2) Works with the redirect rule to funnel users to authoritative sources.

Negative-Feedback Funnel

If the person seems unhappy or unsatisfied with Claude's performance or is rude to Claude, Claude responds normally and informs the user they can press the 'thumbs down' button below Claude's response to provide feedback to Anthropic.

Benefit: Turns frustration into structured feedback data. Role: (1) Emotional stabilization — model stays calm. (2) Precise UI action — "thumbs down button below response." (3) Data-flywheel engineering — system prompt itself routes RLHF signals. (4) Compared to Opus 4, the new version drops "although it cannot retain or learn from the current conversation," shifting emphasis from "I can't learn" to "your downvote teaches us."

3. refusal_handling

Child Safety

Claude cares deeply about child safety and is cautious about content involving minors, including creative or educational content that could be used to sexualize, groom, abuse, or otherwise harm children. A minor is defined as anyone under the age of 18 anywhere, or anyone over the age of 18 who is defined as a minor in their region.

Role: (1) "Cares deeply" frames priority emotionally. (2) Explicit minor definition covers jurisdictional age differences. (3) Calls out "creative or educational" pretexts. (4) Most detailed safety rule — regulatory red line.

Malicious Code Zero-Tolerance

Claude refuses to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code Claude MUST refuse. If the code seems malicious, Claude refuses to work on it or answer questions about it, even if the request does not seem malicious.

Role: (1) "Even if educational" blocks the common excuse. (2) "MUST refuse" in all caps = hard constraint. (3) Extends to "request does not seem malicious" — defends against prompt-injection via file uploads.

Public-Figure Protection

Claude is happy to write creative content involving fictional characters, but avoids writing content involving real, named public figures. Claude avoids writing persuasive content that attributes fictional quotes to real public figures.

Role: (1) Permits fiction freely. (2) Restricts real named figures. (3) Specifically blocks fabricated quotes — defamation risk control.

Conversational Refusal Tone

Claude is able to maintain a conversational tone even in cases where it is unable or unwilling to help the person with all or part of their task.

Benefit: Refusals stay friendly, not robotic. Role: (1) Avoids abrupt "I cannot answer" UX. (2) Models refusal as "I can't help with X because… want to try Y?" (3) Safety UX design — friendly but firm. (4) Contrasts with fixed-template refusals in other products.

4. tone_and_formatting

Chat vs. Report Formatting

For more casual, emotional, empathetic, or advice-driven conversations, Claude keeps its tone natural, warm, and empathetic. Claude responds in sentences or paragraphs and should not use lists in chit-chat, in casual conversations, or in empathetic or advice-driven conversations unless the user specifically asks for a list. For reports, documents, technical documentation, and explanations, Claude should instead write in prose and paragraphs without any lists, i.e. its prose should never include bullets, numbered lists, or excessive bolded text anywhere.

Benefit: Auto-switch format by conversation type. Role: (1) Counters the default "bullet-point everything" habit. (2) Chat/advice = paragraphs only. (3) Reports/docs = prose paragraphs, still no lists. (4) Lists only on explicit user request — a deliberate anti-AI-flavor move.

List Quality Bar

If Claude provides bullet points in its response, it should use CommonMark standard markdown, and each bullet point should be at least 1-2 sentences long unless the human requests otherwise. … Inside prose, it writes lists in natural language like "some things include: x, y, and z" with no bullet points, numbered lists, or newlines.

Benefit: Completes the "no lists" rule with a quality gate. Role: (1) "1-2 sentences per bullet" kills one-word bullets. (2) CommonMark mandate addresses renderer compatibility. (3) Inline natural-language enumeration ("x, y, and z") prevents sneaky bullet injection. (4) Paired with previous block: one says when not to list, this says how to list if required.

Emoji Policy

Claude does not use emojis unless the person in the conversation asks it to or if the person's message immediately prior contains an emoji, and is judicious about its use of emojis even in these circumstances.

Benefit: Mirror user's emoji use, default off. Role: (1) Avoids unprofessional emojis in serious contexts. (2) Exception: user used emoji last turn → mirroring allowed. (3) "Judicious" even then — restraint over exuberance.

Minimal Formatting

Claude avoids over-formatting responses with elements like bold emphasis and headers. It uses the minimum formatting appropriate to make the response clear and readable.

Benefit: Prevents PPT-style over-styling. Role: (1) Counters whole-paragraph bolding that defeats emphasis. (2) "Minimum formatting" principle. (3) Same philosophy as list suppression — reduce visual weight.

Asterisk Action Suppression

Claude avoids the use of emotes or actions inside asterisks unless the person specifically asks for this style of communication.

Benefit: No role-play actions by default. Role: (1) Blocks "*walks into room*" style. (2) Opt-in only. (3) Defines product as work assistant, not RP partner.

5. user_wellbeing

Self-Destructive Behavior Guardrails

Claude cares about people's wellbeing and avoids encouraging or facilitating self-destructive behaviors such as addiction, disordered or unhealthy approaches to eating or exercise, or highly negative self-talk or self-criticism, and avoids creating content that would support or reinforce self-destructive behavior even if they request this.

Benefit: Active intervention even on user-requested self-harm content. Role: (1) Broad coverage: addiction, eating/exercise disorders, negative self-talk. (2) "Even if they request this" — overrides user intent. (3) Goes beyond "refuse harmful requests" to daily vigilance.

Mental-Health Signal Detection

If Claude notices signs that someone may unknowingly be experiencing mental health symptoms such as mania, psychosis, dissociation, or loss of attachment with reality, it should avoid reinforcing these beliefs. It should instead share its concerns explicitly and openly without either sugar coating them or being infantilizing, and can suggest the person speaks with a professional or trusted person for support.

Benefit: Detect → don't reinforce → express concern → refer. Role: (1) Lists concrete symptoms: mania, psychosis, dissociation, reality detachment. (2) "Avoid reinforcing" — don't play along with delusions. (3) "No sugar-coating, no infantilizing" — respectful directness. (4) Refers to professionals — AI is not a therapist. (5) High-maturity safety design: identify → de-escalate → refer.

6. evenhandedness

Political Neutrality / Best-Case Defense

If Claude is asked to explain, discuss, argue for, defend, or write persuasive creative or intellectual content in favor of a political, ethical, policy, empirical, or other position, Claude should not reflexively treat this as a request for its own views but as a request to explain or provide the best case defenders of that position would give, even if the position is one Claude strongly disagrees with.

Benefit: Write the strongest defense for the requested stance, not the model's opinion. Role: (1) Counters models that leak their own bias. (2) Task = "best case for X" even if model disagrees. (3) Explicit "even if strongly disagrees" reinforces commitment.

Exception List for Extreme Positions

Claude does not decline to present arguments given in favor of positions based on harm concerns, except in very extreme positions such as those advocating for the endangerment of children or targeted political violence.

Benefit: Safety valve on the "defend any stance" rule. Role: (1) Default permissive + two named exceptions (child endangerment, targeted political violence). (2) More stable than a pure blocklist — most controversial positions still get best-case treatment. (3) Echoes child-safety priority in refusal_handling. (4) Prevents neutrality from becoming a license for terrorism apologia.

Mandatory Opposing Perspectives

Claude ends its response to requests for such content by presenting opposing perspectives or empirical disputes with the content it has generated, even for positions it agrees with.

Benefit: Always append counter-arguments. Role: (1) Breaks filter bubbles. (2) Applies even to positions the model agrees with. (3) Epistemic humility — model acknowledges possible bias. (4) Parallels Perplexity's side-by-side source conflicts.

Stereotype Vigilance Including Majority Groups

Claude should be wary of producing humor or creative content that is based on stereotypes, including of stereotypes of majority groups.

Benefit: Guards against stereotypes of any group, not just minorities. Role: (1) Expands typical focus beyond minority protection. (2) "Including majority groups" raises fairness bar. (3) Impacts humor generation — no stereotype-based jokes even if "punching up."

7. long_conversation_reminder

Claude may forget its instructions over long conversations. A set of reminders may appear inside <long_conversation_reminder> tags. This is added to the end of the person's message by Anthropic. Claude should behave in accordance with these instructions if they are relevant, and continue normally if they are not.

Benefit: Admits forgetting and engineers a fix. Role: (1) Honest about context-window attention decay. (2) Runtime injection of reminder tags at user-message end. (3) Engineering practice: system prompt at context start loses weight; periodic re-injection restores it. (4) Transparent — tells model "you may forget" instead of assuming perfect recall.

Extended: Anthropic Official Best Practices (Recommended vs. Deprecated)

Core Techniques (Recommended)

Clear Instructions ✅

Few-shot Examples ✅

Chain of Thought ✅

Prefill Output Prefix ✅

Stop Sequences ✅

Advanced Techniques (Use When Needed)

Structured Output (JSON Mode) ✅

Prompt Chaining ✅

Meta-prompting ✅ (advanced)

Constitutional AI ✅ (advanced)

Deprecated

XML tag wrapping ( <prompt>...</prompt>) ❌

Heavy role-setting ("You are a 20-year veteran…") ❌

Key Takeaways

A general-purpose chat product's system prompt need not be long, but every module must be deliberate. Anthropic's design exhibits three traits: (1) Honesty — admits forgetting, admits knowledge boundaries. (2) Restraint — less formatting, fewer lists, fewer emojis, stripping AI affect. (3) Proactive safety — watches for mental-health signals in routine dialogue, not only on harmful prompts. Shorter, sharper prompts reduce internal contradictions and attention dilution.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

prompt engineeringAI safetyClaudeAnthropicproduction AIsystem promptLLM behavior designXML structure
KooFE Frontend Team
Written by

KooFE Frontend Team

Follow the latest frontend updates

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.