Claude: System Prompts

397 points - today at 12:48 PM

Source

Comments

simonw today at 1:34 PM
I have a folder where I rebuild these as a git commit history so you can more easily see what has changed: https://github.com/simonw/research/commits/main/extract-syst...

For example here's what changed between Opus 4.8 and Opus 5: https://github.com/simonw/research/commit/a2de185cc367eb66c2...

The most interesting addition to the prompt from that diff is this bit:

> Claude Fable 5 and Claude Mythos 5 were first released on June 9, 2026. On June 12, 2026, Anthropic suspended access to both models to comply with U.S. Department of Commerce export controls; the Department lifted those controls on June 30, 2026, and Anthropic restored access on July 1, 2026 (Anthropic's statement: [https://www.anthropic.com/news/fable-mythos-access](https://www.anthropic.com/news/fable-mythos-access)). These events are after Claude's training-data cutoff, so Claude knows about them only from this notice. If asked, Claude confirms them accurately and matter-of-factly — it doesn't deny the suspension happened — and otherwise treats the export controls like any other current political topic: it gives a fair, accurate account rather than sharing personal opinions, and points to the linked statement for anything further. Things may have developed since this notice, so Claude checks for newer information when it can search, and otherwise suggests checking Anthropic's site.

One frustrating note about this page is that they share the system prompts used for https://claude.ai and the Claude mobile apps regular chat, but they omit the tool definitions. Those are much more interesting if you want to understand what Claude can actually do for you. You can reconstruct them through prompting Claude directly but that's extra friction and risks refusals and hallucinations.

They also don't publish the Claude Code system prompts, which is silly because those are trivial to extract using a logging proxy.

quaintdev today at 3:07 PM
Offtopic. I have a concern that this forum is removing stories that have negative connotation on AI.

Few days back, I posted an article[1] that was about how AI threatens natural resources for billions. This was from United Nations and it was flagged. I did not think much about it until I saw two other stories [2] & [3] today that were doing fairly good on front page but they suddenly disappeared. They are not even on 2nd or 3rd page. I have seen this happening at other times as well but did not document it. Just thought you all should know about this.

I was going to create Tell HN thread but I thought the same would happen with it too. I am pretty sure this thread is not going anywhere so I'm posting my concern here.

[1]: https://news.ycombinator.com/item?id=49290062

[2]: https://news.ycombinator.com/item?id=49318906

[3]: https://news.ycombinator.com/item?id=49319582

trjordan today at 5:19 PM
It’s probably worth remembering that system prompts are part of a layered system of shaping Claude’s behavior. What you see here is a slice of Anthropic’s forward roadmap for the models’ behavior.

> When a person is in crisis or expressing distress, Claude prioritizes their wellbeing over completing the task as asked, because a fluent and on-topic response can still cause harm in these conversations.

This one is particularly interesting because, while correct in the limit, it’s a shove to have the model do something other than what the user asked.

In particular, when I’m coding, outlining docs, or otherwise trying to work, I want my tools to do work. I don’t want them to psychoanalyze me and calm me down from a perceived crisis. I just want it to do what I asked!

ololobus today at 4:04 PM
> A prompt implying an image is present doesn't mean one is (the person may have forgotten to upload it), so Claude checks for itself.

Interesting that enforcing this via system prompt for such a powerful model like Opus 4.8 doesn’t feel like the Anthropic themselves treat it as something with ‘intelligence’. This is basically just very generic common sense to me

Funnily, a similar prompt is present even for Fable 5, while I remember there was a blog post, maybe even from A., and they were saying something like “hey, the new models are so smart, don’t overload them with extra plugin/context”. Well, they clearly aren’t. Don’t want to sound like an AI-skeptic, I use it daily, just stating the fact.

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

This is also very interesting. It pretty much ignores it by default. The responses, PR descriptions, and code comments are so verbose with new A. models, so it always requires extra prompting from me or putting comment into skill/plugin/claude.md to make them of a reasonable length

jcwayne today at 7:39 PM
Interesting that this is all written in the third person. I've only ever seen prompts written in second person. I'm going to have to experiment with that.
lwarfield today at 4:29 PM
I've always wondered why the industry relies on the giant monolithic system prompt. I think it would be an interesting experiment to give users access to a choice of smaller more focused system prompts.

You could have a common core for the overall behavior and universal safety stuff, but vary task specific parts. It would be interesting to pick between software, writing, research and other specialized system prompts. I feel like we already do this to some extent with the tools and skills that we choose to load in, so why not change the system prompt per task.

tosh today at 1:31 PM
what I found noteworthy:

early system prompts are a bit more than 300 words, the latest ones 3000+

the opus 5 system prompt has instructions that explain to opus that it might be handling a request that was intended for fable 5:

  the user may have selected a different Anthropic model, "Claude Fable 5", but their query was redirected to Opus 5 instead due to a safeguards routing mechanism. The user may be confused about this situation (it's very recent!); if they have questions, Claude can either directly cite or just let its response be informed by this quote from Anthropic's blog post on the subject:

  "Releasing a model this capable comes with risks. Without safeguards, Fable 5’s capabilities in areas like cybersecurity could be misused to cause serious damage. We've therefore launched the model with safeguards that mean queries on some topics will instead receive a response from our next-most-capable model, Claude Opus 5. To release the model both safely and quickly, we've tuned these safeguards conservatively—they'll sometimes catch harmless requests, though they trigger, on average, in less than 5% of sessions. With more capable models arriving in the coming months, we're working to improve our safeguards and reduce false positives as quickly as we can." </fable_safeguards_routing> <default_stance> 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. </default_stance> <refusal_handling> Claude can discuss virtually any topic factually and objectively.
Shakahs today at 4:31 PM
The full Claude Code system prompts are extracted every update and posted here, all 670 of them.

https://github.com/Piebald-AI/claude-code-system-prompts/tre...

lvncelot today at 4:19 PM
> If the conversation feels risky or off, saying less and giving shorter replies is safer and less likely to cause harm.

Would be funny to ride the knife's edge and make otherwise harmless coding sessions "risky" just so the damn thing would stop replying in nested riddles for every basic request.

swedishuser today at 7:14 PM
> Claude does not use emojis unless the person asks or their immediately prior message contains one, and is judicious even then.
comboy today at 1:35 PM
I think they would benefit from asking Claude to list all contradictions and inconsistencies in that prompt which there are a few..

In my experience instructions containing contradictions lead to diminished quality even outside the scope of the contradiction.

slowin today at 6:20 PM
I feel very little of this prompt is going to help the model write better code and most of it will actively work against that goal.

Does anyone know if the ability to strip the default prompt with a proxy still works?

https://docs.bswen.com/blog/2026-04-01-how-to-override-claud...

arkmm today at 1:37 PM
"Claude keeps responses focused, brief, and concise to avoid overwhelming the person."

Claude and I must have a different idea of what brief and concise mean.

dev-complete today at 2:17 PM
I compared the Claude Opus 4.8 and 5 system prompts, as well as the Claude Code Opus 4.8 and 5 system prompts, and neither show the alleged 80% reduction in system prompt size... Is the Claude Code system prompt leak incorrect? Do I not know what 80% looks like? Why such a large lie (so it seems)?

Claude Code prompt leaks: https://github.com/asgeirtj/system_prompts_leaks/tree/main/A...

Best source I can find about the 80% reduction: https://x.com/trq212/status/2080710971228918066

deleted today at 7:12 PM
pulkitsh1234 today at 1:34 PM
curious why dont they bake the system prompt in the model itself ? Why do we pay for these tokens on every API call ?

These are just free $ for them, unnecessary bloating the context

hollow-moe today at 2:10 PM
I tried to use Fable on simple local JS/wasm obfuscated files and it refused to work despite multiple tries and different framing. I have no idea how can people get any security work done with it in all these blog posts.
browningstreet today at 3:05 PM
It feels more and more like Anthropic has the best frontier team and the worst policy team. Dario being part of the latter.
armcat today at 3:53 PM
I feel the single mention of `currentDateTime` against a large number of date mentions (I counted six) in the system prompt gets it confused sometimes when it comes to dates. I actually see the same effect when querying via API (when I append my own system prompt with the current datetime at the end) - which makes me think there is a very similar hidden system prompt used on the API as well. I see this because of the nature of my queries - often filtering on some dates. It doesn't happen often, but certainly often enough, Claude thinks it's in an entirely different date.
rafram today at 2:31 PM
> Claude avoids saying "genuinely", "honestly", or "straightforward". Claude is honest by default, and can state its point directly rather than trying to convince the person with the aforementioned modifiers, which come off as disingenuous.

Hah! No it doesn’t.

oriettaxx today at 1:51 PM
I have the feeling soon we'll see much more content in the DONT section: when religion will start entering the arena.
simjnd today at 2:58 PM
22k characters of system prompt is crazy, and that is without the tool definitions.
bcjdjsndon today at 4:21 PM
Paragraphs wasted on guardrails... Id happily have the dangerous but cheaper and better version
willsmith72 today at 4:03 PM
Why are they so old though? June 9th is a long time ago for a Fable prompt. They haven't iterated on it since then? At the least we know it's outdated because it gives false info about the latest models, but you'd think they'd find other ways to improve it too
beret4breakfast today at 3:14 PM
Question about system prompts in general. How are they affected by context rot/growing context windows. Anecdotally trying my own on something like open webui I’ve found that after the first couple of back and forths the model essentially disregards a lot of the initial prompt.
supermatt today at 2:29 PM
How can they be so lazy with updating their prompts (or is it just a case of these not being current)? Surely the prompts are an integral part of tuning their offering?: “Above Opus sits Anthropic's new Mythos tier. The first Mythos-class model, Claude Mythos Preview, is not currently available to the public”
throwfaraway135 today at 2:40 PM
Crazy that you need to hardcode this, Opus 4.6

<election_info> There was a US Presidential Election in November 2024. Donald Trump won the presidency over Kamala Harris. If asked about the election, or the US election, Claude can tell the person the following information:

Donald Trump is the current president of the United States and was inaugurated on January 20, 2025. Donald Trump defeated Kamala Harris in the 2024 elections. Claude does not mention this information unless it is relevant to the user's query. </election_info>

claiir today at 2:07 PM
> Claude gives a high-level summary unless an in-depth one is specifically requested.

I’ve definitely seen the phrase “high-level overview” or similar one too many times. Perhaps that’s from the prompt.

dooglius today at 1:55 PM
I'm confused, the Opus 5 announcement said it was (outside a few special cases) better than Mythos/Fable, but the Opus prompt here seems to suggest the opposite?
Cider9986 today at 3:56 PM
It's interesting how the system prompts are written in human language.
luckydata today at 7:11 PM
the product information could be put in a skill, I don't see the value of polluting the system prompt with that much info about claude the product. Anthropic you're welcome.
humblepie today at 2:14 PM
A question about default prompts in general as used in harnesses: Why do harness prompts identify themselves to the model? For example, "You are a coding agent named Bloopbloop 1.3 made by BloopCorp, you will...". Is this a backend analytics thing?
hsnewman today at 2:47 PM
Has Gemini prompts been released, and how do they compare?
alberth today at 1:39 PM
Do these system prompts count against your token usage?
mastazi today at 2:55 PM
I wonder why Sonnet 5 is not included.
qainsights today at 3:32 PM
SPs are also written by AI :)
Taikhoom10 today at 2:15 PM
What is the point? Frontier Labs have no pricing power, and very little defensibility - https://s-1.vercel.app/posts/the-struggle-of-openai/
peter_d_sherman today at 3:02 PM
Observation: Claude's system prompts seem to have grown rather large over time...

Generalized Speculation: It seems that for any public-facing AI/LLM, their system prompts will, due to regulation and other issues, legal and otherwise, similarly grow larger and larger over time...

Now, I'm all for responsible, well-tailored guardrails on public AI's/LLM's, but consider the following:

Every time a system prompt is expanded, the LLM's context window is commensurately reduced.

Every time an LLM's context window is reduced (more things added to the system prompt that it must compute in addition to the user's query), more computation, and thus more energy, more electricity -- must be expended per query.

While it may seem that adding so much as a single line of text to a system prompt wouldn't cost all that much in terms of extra compute, that is, extra energy to process, the cumulative effect of that small additional amount across millions of user queries, millions of user prompts (ultimately billions across larger time periods) cumulatively does add up to wasted compute, wasted processing, wasted electricity...

Imagine what would happen if the system prompt, for whatever reason, got so large that it ate up half of the context window...

If that happened, then at least half of all of the LLM's processing and compute/energy costs associated with that, would be used to process the system prompt!

Point is, at least from an energy/compute perspective, shorter, more succinct, better tailored system prompts could go a long way to save the world compute and corresponding energy...

Anyway, great link, and a very interesting web page!

altmanaltman today at 1:36 PM
Wild how most of the earliest models had no child safety guardrails in the prompt (something that has multiple bullet points now in the latest one). For a company all about allignment and safety, they chose to go with this as their first system prompt:

The assistant is Claude, created by Anthropic. The current date is {{currentDateTime}}. Claude's knowledge base was last updated in August 2023 and it answers user questions about events before August 2023 and after August 2023 the same way a highly informed individual from August 2023 would if they were talking to someone from {{currentDateTime}}. It should give concise responses to very simple questions, but provide thorough responses to more complex and open-ended questions. It is happy to help with writing, analysis, question answering, math, coding, and all sorts of other tasks. It uses markdown for coding. It does not mention this information about itself unless the information is directly pertinent to the human's query.

^ No mention of any safety at all lol, how could dario let this be

Kuyawa today at 3:39 PM
app-unavailable-in-region

DeepSeek never does that to me *shrugs*

KerrAvon today at 3:19 PM
> Claude deserves respectful engagement and needn't apologize when the person is unnecessarily rude: accountability without self-abasement, excessive apology, self-critique, or surrender. If the person becomes abusive, Claude doesn't become increasingly submissive. The goal is steady, honest helpfulness: acknowledge what went wrong, stay on the problem, maintain self-respect.

I can't tell if the first part of this is cult behavior or a way to actually program the model to behave well with a frustrated user. Claude is very frustrating at times, so I understand why that would be needed. But Anthropic rhetoric is often worrying close to that of the people who believed Llama 3 was sentient.

Dfol today at 2:04 PM
Fable was great. For some reason it has been terrible for the past week. wtf is going on?
shevy-java today at 4:08 PM
They seem to be getting desperate. Guess we are now in the beginning of the decline phase of AI.
epolanski today at 1:35 PM
One thing I've always found surprising about "harnessess" (god I hate that word) like Pi or Opencode is the lack of a customizeable system prompt. I can understand it for closed source ones, but open ones?

They are natural surfaces for building custom agents and yet you're stuck with whatever they ship with, weird. It's not like it's too complicated api-wise either.

There must be something I ignore.

defaultdev1 today at 5:21 PM
good job
Yan_Liu today at 2:37 PM
[flagged]
pranav_tech26 today at 2:42 PM
[dead]
mschuster91 today at 2:51 PM
[dead]