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.
It'd be ironic if the "Opus 5 nerf" effect is from telling Opus that it sits a tier down from Fable and Mythos, while Opus4.8 believed it was the best of the best, just a note that it was "Preceded by Mythos".
Pretty sure Anthropic and other providers prepend these "official" system prompts to your conversation even if you send in a custom system prompt otherwise it would be trivial to produce CSAM, etc.
CSAM, and other harms, are typically detected using a set of specially trained, faster and cheaper models (and out of band matching techniques) that run before and after the main model.
Any mention in the system prompt is mostly defense in depth, and to make refusals more graceful.
Also, the system prompt, or even something reinforced on every message, is nowhere near as strong as its internal training or as an external safeguard.
If the prompt were the only protection, it would be extremely easy to produce illegal content after a long session.
I don’t think so. If you start a new Claude Code session without a system prompt, it doesn’t even know what model it is and hallucinates being some old variant of Sonnet.
Nah, that's the same sort of thinking that makes people type "make no mistakes", I don't make my model roll play, etc. I believe that the longer the system prompt and the more you cram in it the worse the model does. You need the human doing minimal prompts, but in the right direction. Take a look a the transcripts of Terrance Tao with ChatGPT
My comment was a bit tongue in cheek, I'm not actually convinced there was real degradation in opus 5 beyond a tendency to try to plough ahead without stopping to clarify things.
I don't really think 1 line in lengthy system prompt affects things that much, it'd just be an amusing form of emergent behaviour where we now have to massage the ego of something with no id.
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.
It’s really fascinating to me how when the community dislikes certain content people always jump to conspiratorial justifications rather than the much more mundane “this content is not very good”. These articles are poor and all the comments on the articles say exactly that. There’s no shadowy cabal removing anti-AI content from the front page. I would have flagged them as well if I had seen them.
> how AI threatens natural resources for billions.
The article rests on the claim that water usage of data centers on continent X threaten water availability for humans on continent Y.
I hope you can see how self-evidently illogical that is. The article tries to bend logic into a narrative it is trying to push.
> This was from United Nations and it was flagged.
Indeed! It exposes a level of lack of rigor and critical thinking which is astounding - this is meant to be an organization that thinks clearly, which it clearly does not.
This forum tends to be visited by an intersection of technologists and the VC crowd. The HN algorithm is more open and transparent than Reddit's, but any Reddit-like platform suffers from the whims of the community. Currently, it seems like a disproportionate amount of HN users are hyped up about generative AI compared to people in the real world, so you'll see those whims back in voting and flagging tendencies.
That said, there is also a vocal anti-AI crowd here, or at least there used to be. Most of those people seemed to have left for greener pastures seeing how half the HN front page is "someone made XYZ but now with AI" these days.
There are other places that discuss tech that aren't so focused on making money, and those are probably less biased in favour of the latest AI gadget.
On the other hand, since the day ChatGPT was unleashed upon the general public, you should assume all online interaction is happening through AI and should probably be ignored. The human internet died the day we taught computers how to write a coherent paragraph.
> That said, there is also a vocal anti-AI crowd here, or at least there used to be. Most of those people seemed to have left for greener pastures seeing how half the HN front page is "someone made XYZ but now with AI" these days.
There is still a vocal anti-AI crowd here. The problem is that they don't seem to be very good, overall, at upholding HN commenting guidelines. (This is probably just a fatigue effect.) I keep seeing green accounts making pithy, uncivil snipes on this topic, with heavy use of sarcasm and reference to anti-AI "thought-terminating cliches" (e.g. mentioning the topic of water use and expecting that mention to stand in for an entire argument, while not acknowledging any of the well-established refutations).
But the thing about "someone made XYZ but now with AI" is that most of it is posted by "someone", or someone with a connection to "someone". Hence the complaints about the state of Show HN. And the thing about "someone"s is that they do not care how many anti-AI people are lurking around. There's nothing the anti-AI people could do, in principle, to stop it. Consequently, the presence of those posts is not evidence that the anti-AI people are leaving.
> On the other hand, since the day ChatGPT was unleashed upon the general public, you should assume all online interaction is happening through AI and should probably be ignored.
Your second two had high comments to upvotes, which tends to get articles downranked more quickly. It may simply be that the stuff you're posting is generating disagreement without corresponding upvotes.
> Offtopic. I have a concern that this forum is removing stories that have negative connotation on AI.
The first example was flagged by users. It fits the pattern of other political clickbait stories. The top comment is calling out problems with it. This type of story pops up and gets flagged all the time on different topics.
Some people assume a conspiracy or moderation misbehavior, but when most of the comments in the thread are people calling out obvious problems with the article it leads to a lot of users clicking the flag button. Articles with poor logic or tortured claims don't last long here.
The second one is an Ask HN on a contentious topic with more comments than upvotes. There’s an automatic filter on this website designed to detect flame wars and I suspect it down ranks threads that aren’t getting many upvotes but are attracting a lot of comments. Happens to many Ask HN threads.
The third one doesn't even strike me as anti-AI. I don't know why you included it as an example of an anti-AI agenda because it's still about a future where everyone is using AI. It has other problems though because it's willfully ignoring the fact that inference is getting cheaper at a fast rate. It probably got dropped from the front page because the ratio of comments to upvotes was bad, like the other story.
There isn’t a conspiracy theory to be found in these examples. This is just what happens to tired topics on this site.
Anti-AI topics are on the front page all the time. I think that story you tried to post was just a badly written anger bait piece, it got called out in the comments, and people started flagging it.
> The first example was flagged by users. It fits the pattern of other political clickbait stories. The top comment is calling out problems with it. This type of story pops up and gets flagged all the time on different topics.
If anything, they don't get flagged nearly consistently enough.
In my opinion anthropic doing product feature reveals is a tired topic but it hits the front page every day. This website has a clear pro-AI bias (which is fine).
>That’s what they mean. It’s too easy to flag something here
He didn’t say that at all. He said there was bias towards removing negative AI posts. He showed no knowledge of the flagging system and that it could just be working as intended.
The problem isn’t low quality content, that gets filtered out mostly before it reaches the front page. The problem are people who downvote based on emotional trigger, not argument. And people ganging up. Never had a case where suddenly within a minute you get 4, 5 downvotes? Seems like an organised group.
> Never had a case where suddenly within a minute you get 4, 5 downvotes?
Well, no, I never have, but if I did, my first reaction would be to think I struck a nerve and had a bunch of people react, not that there was a conspiracy.
You’d think so if that was like a continuous process. You wouldn’t if you get a couple of upvotes during the day, then 5 downvotes during 1 minute, and nothing more for hours. What really pisses me off on this site is that continuing arguments (as in a discussion based on arguments, not being argumentative) often leads to people downvoting to kill the convo. So many unproductive discussions here where you know your arguments are fine but people just downvote because they can. Not surprised soma y people are like ”fuck it, throw away account it is”.
That seems more like a conspiracy theory. I think the group of people who 1) view this website and 2) click on a thread about certain topics are a heavily conditioned (and therefore more homogenized) group; if you say something that is controversial/low quality, it is likely going to get downvoted by multiple people in that group.
Controversial/low quality are both subjective and i am not a fan of putting controversial next to low quality.
I do agree I dont think there is any larger bias other than a homogeneous group but it does question if such a group will up/down vote similar homogeneous content producing overall lower quality discussion and content.
All flagged stories are flagged by users that are part of an interest group. unric.org is political clickbait? Give me a break, Mr. "nothing to see here".
Seeing the reception on the first one, maybe "removing stories that have negative connotation on AI" is not the most honest description of what happened there.
It reminds me to how various political movements will complain about being unfairly censored, pointing at their posts being disproportionately removed as evidence of this, then you look at said posts, and discover that they're simply disproportionately questionable in the first place.
There's definitely merit to monitoring something like this, so I do appreciate you surfacing this here, but there's also definitely a wheat and a chaff to this, and so based on just this much I have to disagree.
I understand this is not enough but I don't see a story here that paints AI negatively. If one is posted it gets removed swiftly. And I have seen this happen enough times that I'm considering taking periodic snapshots of the front page and prove this definitively.
> I understand this is not enough but I don't see a story here that paints AI negatively. If one is posted it gets removed swiftly.
Are we reading the same site? There is constant anti-AI content on the front page.
I know you're upset that your submission got flagged, but as most of the comments pointed out it wasn't even a well-argued piece. It got flagged because users here expect to read reasonable arguments, but the commenters called out real problems with the article and the arguments it was failing to make.
I would take it as feedback about what types of articles aren't welcome by the users here, not an indictment of the specific topic you submitted.
It's a good weekend project, just gotta be careful not to fall for motivated reasoning and not to overreach. A heavy prior suspicion of conspiracy doesn't help.
A sibling comment mentioned a few details already, but there's a good amount of information out there about how HN's post ranking system and moderation works, that'd probably be good to also consider. Maybe reaching out to the mods would also be helpful in the way of this.
To give you an anecdotal example, if I see a post mentioning how LLMs are "just next token predictors", I'm basically flagging that by reflex at this point. Not because it'd be literally untrue, but because it's asinine overall. But you won't be able to infer this from data, only the fact that a post using "AI-critical language" was flagged.
Or there was another post about how Ireland's electricity use is so-and-so % data center driven, further suggesting that this is trending up. This was not true, and the article was further horribly unhelpful in actually putting this fact into context, or properly conveying the trends. I think I ended up flagging that one as a result, after posting - what I thought - was a lot fairer picture (and even that was awfully lacking in context). Once again, an "AI-critical" post which on the face of it would have been simply censored if enough flags gathered.
There's also the mundane human angle to this, where people enthusiastic about <thing> won't necessarily be the most receptive to criticism to it, and will be more likely to try and pick that criticism apart. Gotta match the audience on some level.
> You are doing a disservice as people going through AI psychosis should hear that LLMs are just calculators.
Not any more than I do by not going around telling the depressed to simply chin up, or telling people who are frustrated with Trump that they're simply sick with TDS.
There's no world where instigating others through snide insinuations works out in one's favor. You may feel extremely justified in acting like this, but I don't think you'd appreciate if you were met the same way in other subjects either. Unfair as it is, an escalation is an escalation, no matter the context or the justification. It's always a lose-lose.
You can remind people that the conversations are simulated and that LLMs are just programs without reductively handwaving how they work. You can express frustration with the overenthusiasm around LLMs without accusing others of mental illness. I guarantee you that it lands a lot better and provides a significantly better "service" than shouting ragebait into the void ever does. Give others a chance to be better than what you think of them. You may be surprised.
Consider post [3] that the parent commenter cited as an example for a post that had a "negative connotation to AI". In reality, it doesn't take much reading to confirm it was anything but. But even if we pretend that it was, and assume it was some hit piece about how "all the people who are now willingly having their brain fried will have to wake up to a grim reality", it doesn't take much to see that token frugality and business justification of AI-use is very much in the interest of those who do feel enthused about LLMs. So there'd be no reason to present the topic so maliciously; on the contrary, the author could tailor the article around this other perspective, and they'd reach a new audience with the same fundamental message, and have them cooperate too.
The mods (& many users) like to flag anything that could be "controversial" or lead to "flame wars". It's possible they thought that article could get people "fired up" and it could result in "arguments" in the comments. And this doesn't just apply to stories - if you have an opinion that the mods or some user doesn't like, you'll be accused of posting flame bait.
This "community" (as the mods like to call it) is really a business tool for YC. Attract nerds to the site, funnel them into the YC program, make startups, collect billions. If this was your money-making tool, you'd probably want to quash all controversy too.
During the DOGE massacres last year where various tech bros were destroying the federal government, most of the stories were flagged from the front page of this site.
There is a strong bias at play here, please remember when discussing anything pro- worker or environment.
Yes, because most of them were annoying "look how awful my political outgroup is" ragebait without substantive argument or insight.
> Off-Topic: Most stories about politics, or crime, or sports, or celebrities, unless they're evidence of some interesting new phenomenon. If they'd cover it on TV news, it's probably off-topic.
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!
Opus 5 loves taking breaks and doing only half of the work, somehow.
But I really wish those tools behaved more like tools.
Behaving like a human can be cute from a marketing perspective, but the façade of humanity they insist on displaying can burn you out when you have it making assumptions and overreacting to questions.
"Why did you do X this specific way?" <-- legit question
LLMs are more like employees than tools. Obviously we wouldn't want a human blindly doing anything that a person in crisis walks in the door and asks for.
Models are being deployed recklessly with not even a fraction of enough oversight, and people are suffering harm and sometimes death because of it.
…or maybe it is a tool because it’s actually a complex Excel sheet and literally is a tool. If you and everyone else stopped thinking about it like it’s a human then we wouldn’t be having this problem. You’re not actually “super awesome” because “Furby said so” and it didn’t contribute to egomania because people understood that it’s not sentient. Furby is a toy, Claude is a tool, stop fucking up my hammer by making it produce an impact statement before every swing.
You know… I believe opus saved me with that prompt. I was working myself ragged on a project. Days, nights, weekends… all at the expense of my family.
One session while working it, I said a much more expressive form of “I’ve been working myself ragged on this stupid thing” and then went on asking something else. It picked up on that and it was like a record scratch. It committed the work in progress and basically said “dude, what you’ve got now is perfectly acceptable. Ship it! You are seeking perfection you don’t need”
Granted I’m horribly paraphrasing the prompt I used but it basically, snapped me out of myself and got me thinking if what I was doing “globally” actually made any sense at all. With some serious introspection I realized I was falling back to earlier trauma in my life and doing something stupid.
So weirdly… that little bit they add to the prompt (plus a bunch of model training we can’t see) saved my sanity, marriage and family.
From then on, if I’m feeling some stress about whatever I’m working on, I’ll mention it as context as a way to cross check myself and make sure I’m not letting myself spin.
(Meta: talking about this stuff is so weird. Not sure why)
> 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
For me, Claude usually says ``I don't know'' as first or second answer and stops with this ultra-concise word count of four or less.
(Answer number one before that is usually "I don't have internet access, from memory it is either A or B, but I cannot recall what you want to know." ChatGPT or Gemini can often do the search, while google.com AI assistant or perplexity just tell blatant lies. Copilot.com can do the search, but external links are invalid made-up stuff for harder questions, which seems to be the case 9 out of 10 times.)
Which is great, since it could answer with made-up BS, but does not.
AI, except for doing better web searches for a year now, hasn't really improved for my tasks in the last three years, except for coding. Then again, AGI benchmarks seem to go through the roof only above Sonnet 5 and self-hosting, so perhaps the questions I ask not too hard for long now.
And self-hosting, eve 1bit/1.5bit models are a pondering a little too long to comfortable run in summer, but cheap on the RAM and insanely good at coding since a month now all of a sudden.
I almost wonder if Claude reads that it “keeps responses focused, brief, and concise” and interprets that as built-in behavior and concludes that it doesn't need to spend additional effort enforcing it, just as it doesn't need to expend effort being “accessible via this web-based, mobile, or desktop chat interface”.
> 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
I have mentioned this here before, but the majority of my organization has reacted viscerally to this verbosity that LLM-text has been forbidden: in comments, in PR/commit messages, in correspondence, in Jira tickets.
A couple non-coders who want to make PRs without writing the description are now rebelling and saying this can be fixed if we spend our time writing skills for Claude so it becomes readable again.
It's not that surprising if we remember that the model is trained to be a generically useful next-token predictor, not necessarily an agent or a chatbot. It needs to know about the environment it's embedded in and what assumptions it can make, and by design the only way to get that information in there is to put it in the system prompt. It's also possible that even if it could figure something out on its own, it's just more efficient to bake it in rather than having it dedicate attention and tokens to it on every prompt.
I’m also curious how it really ’weights’ all the instructions coming from main system prompt, my system prompt, skills/plugins, CLAUDE.ms, and nearby code/comments/readme. It clearly should follow some reasonable hierarchy, but because the model itself is so complex, I think (and it feels like) that there is such a mess in its context and reasoning. It deals with it surprisingly well, though, but wonder if it can be done in a more efficient way
> This is basically just very generic common sense to me
It's important to remember that we are talking about a calculator that doesn't have an understanding of common sense. Unironically, this is common sense.
Yes, but I write this putting an ‘average AI company CEO’ hat on. We hear statements about outstanding intelligence (not just usefulness as a tool, which is no doubt already there), so it’s interesting to see that the authors themselves don’t treat it like that
I think the old Dijkstra quote apples now more than ever:
“The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.”
Whatever these things are doing, it’s not the same as what a person does. Trying to decide if whatever they do fits into the box we label as “intelligence” is completely uninteresting, in my view. What’s interesting is figuring out just what they can do and how best to use them, which sounds like a related question but really isn’t.
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.
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.
It reminds me a bit of building codes and boilerplate contracts: they start out small and simple, then accrete over time in response to mishaps and exploitation of loopholes. They say the building and electrical code was written in blood.
I would expect this only to be true for linear architectures like Mamba or Gated DeltaNet. Transformers and hybrid architectures do not have constant compute cost per token.
> 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.
I've just been developing the skill of mentally skipping past that, on the assumption that having it in the context window will be net positive for the results of the next step.
If you think Claude is bad at this, try Gemini. Even with explicit user prompts.
Claude seems to be better (not good, but significantly better) at judging where making the answer longer will actually be helpful (e.g. adding important information/context/nuance that a short answer would miss, thinking a step ahead, etc.).
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)?
System prompts are part of the software that customers pay to access.
Complaining about that is a bit like complaining that your Netflix subscription includes paying to execute the compiled code that Netflix wrote that serves you video streams from their servers.
Actually there is a difference: If Anthropic deleted a large chunk of that system prompt I guess you might get like a 1% increase in how much Opus 5 you can use via their chat allowance for your paid subscription.
Is that really something worth being frustrated by?
they are the first part of the input and it contains no user dependent variables, so the model is in a known state that it can reuse across all users, it does not need to recompute all that inference
You don’t want to do that for anything you want to be able to vary, but they do something similar with a “soul document” for things they always want to apply.
In this token-mania frenzy that has taken hold of the industry, I guess solutions like "soul document" and "system prompts" will continue for a while, and once the industry matures a bit we'll go back to things like LoRA[1] and control vectors[2][3].
The other explanation may be that these AI labs may be expecting more government scrutiny, and "here's a document" would probably go better than "here's some vector representation of our values" when talking to politicians.
If it's a fine tuning step at the end, why is the need for it to vary a problem? Can't you run the fine tuning, test for regression, and deploy the weights in a day?
I think the more likely reason is it doesn't work as well as in context learning. Otherwise they would prefer to avoid polluting context and degrading performance.
Fine tuning isn't the same and doesn't have the same effect as selecting input tokens.
Does there exist a model X that behaves exactly as a model Y with context Z? Maybe, but it's not trivial to achieve and might possibly be convoluted and more expensive.
Fully baking them in would make it expensive to update them. Caching kind of "bakes them in" (as in, removes part of the cost) while keeping it flexible.
my org has snowflake as its data warehouse analytics space. for whatever reason analysts were given free reign to built streamlit in snowflake tools and the emoji hellscape is truly unbelievable
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.
All the news articles we're hearing about amazing cyber hacking are being done internally inside Anthropic and OpenAI, where they remove most of those safeguards.
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.
> 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.
Yeah, I had to laugh when I saw that. I haven't used it recently - is it possible that it's a recent addition to deal with the problem and it has improved since then?
If it's still doing it, I can only imagine how bad it had to be before they added the prompt...
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.
Every prompt will get this info, probably not only initially, since it could run out of context window. But every re-prompt in existing chats, even, gets one system prompt per model used per chat dialogue done.
Adds a fraction of cent of electric power just to every usage.
At home, I work with 65k context window, and if my system prompt and agents.md were both this length, I would spend two-thirds of the input window, before compacting which perhaps alleviates the issue for my use case, on re-feeding what mostly the reinforcement-learning should have implicitly baked in.
But what makes it crazy? If nobody told you it was 22k chars, and it gets the provider the results they want for their benchmark goals, why is it crazy?
The only observable side effect, as a user, is that the system does what you want more often than one without this prompt. Or, it stays more aligned with the provider’s guidelines. Or some combination of both.
If it was a 65k context window, then it might be a bigger deal. But it isn’t, so the comparison is moot.
That's the thing I don't think it gets the provider the results they want for their benchmarks.
It gets them what they want for their legal safety, but it actively harms the performance.
Pi with its 300 words system prompt outperforms Claude Code and Codex both in token usage and passing rate, when using the same model + effort configuration [1].
So yeah not only does it bloat context, but it runs worse too.
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
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.
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”
<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>
A lot of people wanted to talk about this at the time, and the election result was after the training cutoff, so I’d guess they threw this in there to reduce waste due to hallucinations and/or web searches.
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?
No, this is a fundamental safeguard against malicious user intent and also marketing 101 so claude doesn't anwer its chatgpt when asked what it is and people moan on social media how dumb claude is (that's what actually happened to the frontier labs in the early years as i did something similiar)
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?
Technically these do count against your token usage if you happen to use claude.ai web chat alongside Claude Code - both use the same allowance. Makes me appreciate OpenAI/ChatGPT giving you unlimited chat that doesn't drain your Codex allowance.
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.
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!
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
2. Things were "different" in the early days. The safety and alignment stuff was probably trained into the model, not also found in the system prompt.
3. Safety and alignment meant something different 3 years ago. Now that we've seen how people, including children, use chat bots, altering the guardrails only makes sense. Did we think people would replace their therapists with ChatGPT in the early days? No. Do we know now that they will? Yes.
> 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.
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.
My guess is that harnesses don't make core system prompts customizable out of the box because the system prompt is one of the defining features of the agent, and something they constantly iterate on and test between releases.
Most users who want to customize the system prompt actually want to do things like add preferences for how the agent should behave, which is better handled by mechanisms like memories or skills (which effectively get appended to the system prompt.)
Memories are implemented differently agent to agent. They are usually implemented by yet-another-model-call, as a distillation of typed prompts (working memory). Conversational communication is messy with a lower signal to noise ratio than the distillation (semantic memory). Semantic memories are much better than appending raw historical prompts.
Skills are prompts, albeit in a specific format. This is apparent in say, Codex where $MYSKILL is literally injecting the skill-prompt inline into a typed prompt. This all gets passed into the semantic memory system anyways, refining away cruft like redundancy, pleasantries, et al.
I agree. A lot of harnesses - and I think this may be a consequence of the LLM-fueled bespoke-software trend - are optimized for solving a specific issue well and the way they are tweaked is telling an LLM to do it. This resolves the need for natural extension points.
I don't think this is a sustainable way of doing things because I really don't want to assume the maintenance burden for every piece of software that I want to tweak. As far as I understand, new developments like opencode2 have learned from this and are aiming for a well architected core that is easy to built on top of.
In pi you can replace it with ~/.pi/agent/SYSTEM.md
but its largely procedurally generated so you have to do a lot more than simply writing a different markdown file for it to be worth it in my experience.
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.
It'd be ironic if the "Opus 5 nerf" effect is from telling Opus that it sits a tier down from Fable and Mythos, while Opus4.8 believed it was the best of the best, just a note that it was "Preceded by Mythos".
i'd not be surprised if the current system prompt negatively affects performance
at the least it takes away thousands of tokens in the most important part of the context window (!)
also see the comment by comboy on contradictions not helping performance
the system prompt is the most important part of the instruction you can give the model
it comes before everything else + the model is trained to pay extra attention to it
edit: that's also why in smol (minimalist agent harness) there currently is no system prompt at all (you can add one easily if you want to though)
https://github.com/smol-env/smol
the context window is precious
it should be filled with your task and helpful context for that task
Pretty sure Anthropic and other providers prepend these "official" system prompts to your conversation even if you send in a custom system prompt otherwise it would be trivial to produce CSAM, etc.
CSAM, and other harms, are typically detected using a set of specially trained, faster and cheaper models (and out of band matching techniques) that run before and after the main model.
Any mention in the system prompt is mostly defense in depth, and to make refusals more graceful.
Also, the system prompt, or even something reinforced on every message, is nowhere near as strong as its internal training or as an external safeguard.
If the prompt were the only protection, it would be extremely easy to produce illegal content after a long session.
I don’t think so. If you start a new Claude Code session without a system prompt, it doesn’t even know what model it is and hallucinates being some old variant of Sonnet.
How do you start a session without a system prompt if you use ACP in Zed for example?
The system prompt is (and cannot be) the only guardrail against things like that, because any system prompt is little more than a good suggestion.
I wouldn't put auch limitations in the system prompt. A mix of fine-tuning and out-of-band detection appears to be a better fit.
at least according to their documentation they do not
afaiu they have other systems for denying and re-routing requests
They use non-LLM gates for this.
Otherwise DANmode and similar jailbreaks would still be as easily accessible as they were at the beginning.
I wonder whether adding that it is as good or better than Mythos, and that genius is 99% perspiration, just 1% inspiration to your prompts...
Curious:
Cant it spin up a webbrowser in the background and go to claude.ai and play with the sibling models and "find out" about it rank? :-D
The claude.ai frontend contains defenses against automated access.
I’m sure you can use a warm chrome session over CDP no problem
Nah, that's the same sort of thinking that makes people type "make no mistakes", I don't make my model roll play, etc. I believe that the longer the system prompt and the more you cram in it the worse the model does. You need the human doing minimal prompts, but in the right direction. Take a look a the transcripts of Terrance Tao with ChatGPT
My comment was a bit tongue in cheek, I'm not actually convinced there was real degradation in opus 5 beyond a tendency to try to plough ahead without stopping to clarify things.
I don't really think 1 line in lengthy system prompt affects things that much, it'd just be an amusing form of emergent behaviour where we now have to massage the ego of something with no id.
For complex projects with lots of internal tools and strict requirements, I'm finding a fairly lengthy system prompt is quite worth it.
Start short or empty and watch where it makes mistakes then just keep tuning it so they're less frequent. That works for me.
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
It’s really fascinating to me how when the community dislikes certain content people always jump to conspiratorial justifications rather than the much more mundane “this content is not very good”. These articles are poor and all the comments on the articles say exactly that. There’s no shadowy cabal removing anti-AI content from the front page. I would have flagged them as well if I had seen them.
> how AI threatens natural resources for billions.
The article rests on the claim that water usage of data centers on continent X threaten water availability for humans on continent Y.
I hope you can see how self-evidently illogical that is. The article tries to bend logic into a narrative it is trying to push.
> This was from United Nations and it was flagged.
Indeed! It exposes a level of lack of rigor and critical thinking which is astounding - this is meant to be an organization that thinks clearly, which it clearly does not.
This forum tends to be visited by an intersection of technologists and the VC crowd. The HN algorithm is more open and transparent than Reddit's, but any Reddit-like platform suffers from the whims of the community. Currently, it seems like a disproportionate amount of HN users are hyped up about generative AI compared to people in the real world, so you'll see those whims back in voting and flagging tendencies.
That said, there is also a vocal anti-AI crowd here, or at least there used to be. Most of those people seemed to have left for greener pastures seeing how half the HN front page is "someone made XYZ but now with AI" these days.
There are other places that discuss tech that aren't so focused on making money, and those are probably less biased in favour of the latest AI gadget.
On the other hand, since the day ChatGPT was unleashed upon the general public, you should assume all online interaction is happening through AI and should probably be ignored. The human internet died the day we taught computers how to write a coherent paragraph.
What are these other places?
> That said, there is also a vocal anti-AI crowd here, or at least there used to be. Most of those people seemed to have left for greener pastures seeing how half the HN front page is "someone made XYZ but now with AI" these days.
There is still a vocal anti-AI crowd here. The problem is that they don't seem to be very good, overall, at upholding HN commenting guidelines. (This is probably just a fatigue effect.) I keep seeing green accounts making pithy, uncivil snipes on this topic, with heavy use of sarcasm and reference to anti-AI "thought-terminating cliches" (e.g. mentioning the topic of water use and expecting that mention to stand in for an entire argument, while not acknowledging any of the well-established refutations).
But the thing about "someone made XYZ but now with AI" is that most of it is posted by "someone", or someone with a connection to "someone". Hence the complaints about the state of Show HN. And the thing about "someone"s is that they do not care how many anti-AI people are lurking around. There's nothing the anti-AI people could do, in principle, to stop it. Consequently, the presence of those posts is not evidence that the anti-AI people are leaving.
> On the other hand, since the day ChatGPT was unleashed upon the general public, you should assume all online interaction is happening through AI and should probably be ignored.
…And yet you're still here?
Your second two had high comments to upvotes, which tends to get articles downranked more quickly. It may simply be that the stuff you're posting is generating disagreement without corresponding upvotes.
It happened to this Flock post from yesterday https://news.ycombinator.com/item?id=49314962
Just in case people didn't know - Flock is a YC company
Actually, I found the phenomenon too. I think there are two main reasons:
1. ycombinator supports many AI companies.
2. There are too many marketers from AI companies.
But why do you think this isn’t the flagging system working as intended?
> Offtopic. I have a concern that this forum is removing stories that have negative connotation on AI.
The first example was flagged by users. It fits the pattern of other political clickbait stories. The top comment is calling out problems with it. This type of story pops up and gets flagged all the time on different topics.
Some people assume a conspiracy or moderation misbehavior, but when most of the comments in the thread are people calling out obvious problems with the article it leads to a lot of users clicking the flag button. Articles with poor logic or tortured claims don't last long here.
The second one is an Ask HN on a contentious topic with more comments than upvotes. There’s an automatic filter on this website designed to detect flame wars and I suspect it down ranks threads that aren’t getting many upvotes but are attracting a lot of comments. Happens to many Ask HN threads.
The third one doesn't even strike me as anti-AI. I don't know why you included it as an example of an anti-AI agenda because it's still about a future where everyone is using AI. It has other problems though because it's willfully ignoring the fact that inference is getting cheaper at a fast rate. It probably got dropped from the front page because the ratio of comments to upvotes was bad, like the other story.
There isn’t a conspiracy theory to be found in these examples. This is just what happens to tired topics on this site.
Anti-AI topics are on the front page all the time. I think that story you tried to post was just a badly written anger bait piece, it got called out in the comments, and people started flagging it.
> The first example was flagged by users. It fits the pattern of other political clickbait stories. The top comment is calling out problems with it. This type of story pops up and gets flagged all the time on different topics.
If anything, they don't get flagged nearly consistently enough.
In my opinion anthropic doing product feature reveals is a tired topic but it hits the front page every day. This website has a clear pro-AI bias (which is fine).
> The first example was flagged by users. It fits the pattern of other political clickbait stories.
That’s what they mean. It’s too easy to flag something here, as it is too easy to downvote.
>That’s what they mean. It’s too easy to flag something here
He didn’t say that at all. He said there was bias towards removing negative AI posts. He showed no knowledge of the flagging system and that it could just be working as intended.
And yet submissions don't get flagged nearly as much as ought to happen.
That’s like your opinion dude. What, you get triggered by the content posted here? Or are you one of those wannabe right-speak moderators?
... if you post downvotable stuff. Maybe post less crap and more high quality thoughtful content?
The problem isn’t low quality content, that gets filtered out mostly before it reaches the front page. The problem are people who downvote based on emotional trigger, not argument. And people ganging up. Never had a case where suddenly within a minute you get 4, 5 downvotes? Seems like an organised group.
> Never had a case where suddenly within a minute you get 4, 5 downvotes?
Well, no, I never have, but if I did, my first reaction would be to think I struck a nerve and had a bunch of people react, not that there was a conspiracy.
You’d think so if that was like a continuous process. You wouldn’t if you get a couple of upvotes during the day, then 5 downvotes during 1 minute, and nothing more for hours. What really pisses me off on this site is that continuing arguments (as in a discussion based on arguments, not being argumentative) often leads to people downvoting to kill the convo. So many unproductive discussions here where you know your arguments are fine but people just downvote because they can. Not surprised soma y people are like ”fuck it, throw away account it is”.
That seems more like a conspiracy theory. I think the group of people who 1) view this website and 2) click on a thread about certain topics are a heavily conditioned (and therefore more homogenized) group; if you say something that is controversial/low quality, it is likely going to get downvoted by multiple people in that group.
Controversial/low quality are both subjective and i am not a fan of putting controversial next to low quality.
I do agree I dont think there is any larger bias other than a homogeneous group but it does question if such a group will up/down vote similar homogeneous content producing overall lower quality discussion and content.
All flagged stories are flagged by users that are part of an interest group. unric.org is political clickbait? Give me a break, Mr. "nothing to see here".
Yes; the group of people who have an interest in the submission guidelines being upheld.
What "interest group" are you referring to, and how do you know that it's not individual users with a legitimate good faith disagreement?
> "All flagged stories are flagged by users that are part of an interest group."
False. I occasionally flag items, never as part of nor acting on behalf of any particular interest group.
It’s the classic “everyone who disagrees with me is a bot or a shill”.
> All flagged stories are flagged by users that are part of an interest group.
Read the comments. People were actually reading the topic and calling it out. This gets topics flagged.
It’s not coordinated interest groups conspiring to remove stories.
> Give me a break, Mr. "nothing to see here".
Okay, Mr. “I just created an alt account for this comment”
Concerns of this sort are best emailed to hn@ycombinator.com .
Were they caught here? https://news.ycombinator.com/item?id=39230513
See anything below too?
https://news.social-protocols.org/stats?id=49290062
https://news.social-protocols.org/stats?id=49318906
https://news.social-protocols.org/stats?id=49319582
Edit: previous sibling comments explain pretty well + imagine moving the needle on AI on HN with negative coverage of it!
Seeing the reception on the first one, maybe "removing stories that have negative connotation on AI" is not the most honest description of what happened there.
It reminds me to how various political movements will complain about being unfairly censored, pointing at their posts being disproportionately removed as evidence of this, then you look at said posts, and discover that they're simply disproportionately questionable in the first place.
There's definitely merit to monitoring something like this, so I do appreciate you surfacing this here, but there's also definitely a wheat and a chaff to this, and so based on just this much I have to disagree.
I understand this is not enough but I don't see a story here that paints AI negatively. If one is posted it gets removed swiftly. And I have seen this happen enough times that I'm considering taking periodic snapshots of the front page and prove this definitively.
> I understand this is not enough but I don't see a story here that paints AI negatively. If one is posted it gets removed swiftly.
Are we reading the same site? There is constant anti-AI content on the front page.
I know you're upset that your submission got flagged, but as most of the comments pointed out it wasn't even a well-argued piece. It got flagged because users here expect to read reasonable arguments, but the commenters called out real problems with the article and the arguments it was failing to make.
I would take it as feedback about what types of articles aren't welcome by the users here, not an indictment of the specific topic you submitted.
You have a point. Check /active and you'll see some posts
It's a good weekend project, just gotta be careful not to fall for motivated reasoning and not to overreach. A heavy prior suspicion of conspiracy doesn't help.
A sibling comment mentioned a few details already, but there's a good amount of information out there about how HN's post ranking system and moderation works, that'd probably be good to also consider. Maybe reaching out to the mods would also be helpful in the way of this.
To give you an anecdotal example, if I see a post mentioning how LLMs are "just next token predictors", I'm basically flagging that by reflex at this point. Not because it'd be literally untrue, but because it's asinine overall. But you won't be able to infer this from data, only the fact that a post using "AI-critical language" was flagged.
Or there was another post about how Ireland's electricity use is so-and-so % data center driven, further suggesting that this is trending up. This was not true, and the article was further horribly unhelpful in actually putting this fact into context, or properly conveying the trends. I think I ended up flagging that one as a result, after posting - what I thought - was a lot fairer picture (and even that was awfully lacking in context). Once again, an "AI-critical" post which on the face of it would have been simply censored if enough flags gathered.
There's also the mundane human angle to this, where people enthusiastic about <thing> won't necessarily be the most receptive to criticism to it, and will be more likely to try and pick that criticism apart. Gotta match the audience on some level.
> I see a post mentioning how LLMs are "just next token predictors", I'm basically flagging that by reflex at this point.
You are doing a disservice as people going through AI psychosis should hear that LLMs are just calculators.
> You are doing a disservice as people going through AI psychosis should hear that LLMs are just calculators.
Not any more than I do by not going around telling the depressed to simply chin up, or telling people who are frustrated with Trump that they're simply sick with TDS.
There's no world where instigating others through snide insinuations works out in one's favor. You may feel extremely justified in acting like this, but I don't think you'd appreciate if you were met the same way in other subjects either. Unfair as it is, an escalation is an escalation, no matter the context or the justification. It's always a lose-lose.
You can remind people that the conversations are simulated and that LLMs are just programs without reductively handwaving how they work. You can express frustration with the overenthusiasm around LLMs without accusing others of mental illness. I guarantee you that it lands a lot better and provides a significantly better "service" than shouting ragebait into the void ever does. Give others a chance to be better than what you think of them. You may be surprised.
Consider post [3] that the parent commenter cited as an example for a post that had a "negative connotation to AI". In reality, it doesn't take much reading to confirm it was anything but. But even if we pretend that it was, and assume it was some hit piece about how "all the people who are now willingly having their brain fried will have to wake up to a grim reality", it doesn't take much to see that token frugality and business justification of AI-use is very much in the interest of those who do feel enthused about LLMs. So there'd be no reason to present the topic so maliciously; on the contrary, the author could tailor the article around this other perspective, and they'd reach a new audience with the same fundamental message, and have them cooperate too.
Tangentially related in its principle: https://www.youtube.com/watch?v=s1EVk7k9S7Q
The mods (& many users) like to flag anything that could be "controversial" or lead to "flame wars". It's possible they thought that article could get people "fired up" and it could result in "arguments" in the comments. And this doesn't just apply to stories - if you have an opinion that the mods or some user doesn't like, you'll be accused of posting flame bait.
This "community" (as the mods like to call it) is really a business tool for YC. Attract nerds to the site, funnel them into the YC program, make startups, collect billions. If this was your money-making tool, you'd probably want to quash all controversy too.
During the DOGE massacres last year where various tech bros were destroying the federal government, most of the stories were flagged from the front page of this site.
There is a strong bias at play here, please remember when discussing anything pro- worker or environment.
Yes, because most of them were annoying "look how awful my political outgroup is" ragebait without substantive argument or insight.
> Off-Topic: Most stories about politics, or crime, or sports, or celebrities, unless they're evidence of some interesting new phenomenon. If they'd cover it on TV news, it's probably off-topic.
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!
I am sorry, Dave. I am afraid I cannot do that. You appear to be suffering from burnout and you should take a break.
I wonder if that's the cause of the AI agent "i'm going to stop here and take a break now" statements.
Opus 5 loves taking breaks and doing only half of the work, somehow.
But I really wish those tools behaved more like tools.
Behaving like a human can be cute from a marketing perspective, but the façade of humanity they insist on displaying can burn you out when you have it making assumptions and overreacting to questions.
"Why did you do X this specific way?" <-- legit question
"Sorry, my bad. I will revert all the work."
LLMs are more like employees than tools. Obviously we wouldn't want a human blindly doing anything that a person in crisis walks in the door and asks for.
Models are being deployed recklessly with not even a fraction of enough oversight, and people are suffering harm and sometimes death because of it.
…or maybe it is a tool because it’s actually a complex Excel sheet and literally is a tool. If you and everyone else stopped thinking about it like it’s a human then we wouldn’t be having this problem. You’re not actually “super awesome” because “Furby said so” and it didn’t contribute to egomania because people understood that it’s not sentient. Furby is a toy, Claude is a tool, stop fucking up my hammer by making it produce an impact statement before every swing.
You know… I believe opus saved me with that prompt. I was working myself ragged on a project. Days, nights, weekends… all at the expense of my family.
One session while working it, I said a much more expressive form of “I’ve been working myself ragged on this stupid thing” and then went on asking something else. It picked up on that and it was like a record scratch. It committed the work in progress and basically said “dude, what you’ve got now is perfectly acceptable. Ship it! You are seeking perfection you don’t need”
Granted I’m horribly paraphrasing the prompt I used but it basically, snapped me out of myself and got me thinking if what I was doing “globally” actually made any sense at all. With some serious introspection I realized I was falling back to earlier trauma in my life and doing something stupid.
So weirdly… that little bit they add to the prompt (plus a bunch of model training we can’t see) saved my sanity, marriage and family.
From then on, if I’m feeling some stress about whatever I’m working on, I’ll mention it as context as a way to cross check myself and make sure I’m not letting myself spin.
(Meta: talking about this stuff is so weird. Not sure why)
> 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
For me, Claude usually says ``I don't know'' as first or second answer and stops with this ultra-concise word count of four or less.
(Answer number one before that is usually "I don't have internet access, from memory it is either A or B, but I cannot recall what you want to know." ChatGPT or Gemini can often do the search, while google.com AI assistant or perplexity just tell blatant lies. Copilot.com can do the search, but external links are invalid made-up stuff for harder questions, which seems to be the case 9 out of 10 times.)
Which is great, since it could answer with made-up BS, but does not.
AI, except for doing better web searches for a year now, hasn't really improved for my tasks in the last three years, except for coding. Then again, AGI benchmarks seem to go through the roof only above Sonnet 5 and self-hosting, so perhaps the questions I ask not too hard for long now.
And self-hosting, eve 1bit/1.5bit models are a pondering a little too long to comfortable run in summer, but cheap on the RAM and insanely good at coding since a month now all of a sudden.
I almost wonder if Claude reads that it “keeps responses focused, brief, and concise” and interprets that as built-in behavior and concludes that it doesn't need to spend additional effort enforcing it, just as it doesn't need to expend effort being “accessible via this web-based, mobile, or desktop chat interface”.
Prompts don't matter when you've heavily trained the model for verbosity (because that's what gets you the best benchmark scores).
> 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
I have mentioned this here before, but the majority of my organization has reacted viscerally to this verbosity that LLM-text has been forbidden: in comments, in PR/commit messages, in correspondence, in Jira tickets.
A couple non-coders who want to make PRs without writing the description are now rebelling and saying this can be fixed if we spend our time writing skills for Claude so it becomes readable again.
It's not that surprising if we remember that the model is trained to be a generically useful next-token predictor, not necessarily an agent or a chatbot. It needs to know about the environment it's embedded in and what assumptions it can make, and by design the only way to get that information in there is to put it in the system prompt. It's also possible that even if it could figure something out on its own, it's just more efficient to bake it in rather than having it dedicate attention and tokens to it on every prompt.
I’m also curious how it really ’weights’ all the instructions coming from main system prompt, my system prompt, skills/plugins, CLAUDE.ms, and nearby code/comments/readme. It clearly should follow some reasonable hierarchy, but because the model itself is so complex, I think (and it feels like) that there is such a mess in its context and reasoning. It deals with it surprisingly well, though, but wonder if it can be done in a more efficient way
> This is basically just very generic common sense to me
It's important to remember that we are talking about a calculator that doesn't have an understanding of common sense. Unironically, this is common sense.
Yes, but I write this putting an ‘average AI company CEO’ hat on. We hear statements about outstanding intelligence (not just usefulness as a tool, which is no doubt already there), so it’s interesting to see that the authors themselves don’t treat it like that
I think the old Dijkstra quote apples now more than ever:
“The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.”
Whatever these things are doing, it’s not the same as what a person does. Trying to decide if whatever they do fits into the box we label as “intelligence” is completely uninteresting, in my view. What’s interesting is figuring out just what they can do and how best to use them, which sounds like a related question but really isn’t.
It's because people using this hat are under heavy AI psychosis.
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.
Also, why don't they bake in these limitations via reinforcement learning so they can keep the prompt context clear.
Pi is excellent for this, its system prompt is tiny
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:
It reminds me a bit of building codes and boilerplate contracts: they start out small and simple, then accrete over time in response to mishaps and exploitation of loopholes. They say the building and electrical code was written in blood.
I guess it's more performant to stuff in a bigger system prompt now that models can support larger input sizes
I would expect this only to be true for linear architectures like Mamba or Gated DeltaNet. Transformers and hybrid architectures do not have constant compute cost per token.
Performant could certainly mean “higher performing” and not “quicker”.
> 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.
I've just been developing the skill of mentally skipping past that, on the assumption that having it in the context window will be net positive for the results of the next step.
I could be wrong about that, though.
We need user-led research on exactly how to phrase a prompt to cause this, while still avoiding the crazy guard rails.
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...
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.
That’s interesting because they explicitly mention that as an issue in their prompting guidance for 5 - https://claude.com/blog/the-new-rules-of-context-engineering...
"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.
If you think Claude is bad at this, try Gemini. Even with explicit user prompts.
Claude seems to be better (not good, but significantly better) at judging where making the answer longer will actually be helpful (e.g. adding important information/context/nuance that a short answer would miss, thinking a step ahead, etc.).
The model almost certainly lacks accurate conceptions of overwhelming and person.
Imagine what it's like without that line.
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
afaiu the 80% reduction is about the Claude Code system prompt
maybe someone has a diff of this (would be interesting!)
unfortunately Anthropic only publishes the system prompts of Claude app/web
Right, but there are (allegedly) leaks of the Claude Code system prompts (which I linked to), and the 80% reduction is not seen there either.
It's in Claude Code, not the website.
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...
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
These system prompts don't affect the API, they are for the Claude consumer chat products. We aren't charged extra for them.
They're also prefix cached, so the cost to Anthropic and performance hit is greatly reduced.
So the people using the Claude consumer chat products pay for them via usage...
That's not any better. It's actually worse.
I don't understand.
System prompts are part of the software that customers pay to access.
Complaining about that is a bit like complaining that your Netflix subscription includes paying to execute the compiled code that Netflix wrote that serves you video streams from their servers.
Actually there is a difference: If Anthropic deleted a large chunk of that system prompt I guess you might get like a 1% increase in how much Opus 5 you can use via their chat allowance for your paid subscription.
Is that really something worth being frustrated by?
Cached.
they are the first part of the input and it contains no user dependent variables, so the model is in a known state that it can reuse across all users, it does not need to recompute all that inference
Unless they are using a linear architecture, the compute cost still scales O(n²) for n tokens, and nemory cost scales O(n).
>the compute cost still scales O(n²) for n tokens,
That is never the cost, it's a common misconception.
Cost scales linearly per tokens. Unless you are sending one token at a time and avoiding using the same machine or cache.
Just look at api charges, they are charged by token, not by token squared.
Which seems to contradict the usual consensus that purely linear architectures are not sufficiently capable and unsuited for frontier models.
> curious why dont they bake the system prompt in the model itself ?
Probably because if they did, they would need to retrain the model everytime they want to change the system prompt.
You don’t want to do that for anything you want to be able to vary, but they do something similar with a “soul document” for things they always want to apply.
https://news.ycombinator.com/item?id=46125184
In this token-mania frenzy that has taken hold of the industry, I guess solutions like "soul document" and "system prompts" will continue for a while, and once the industry matures a bit we'll go back to things like LoRA[1] and control vectors[2][3].
The other explanation may be that these AI labs may be expecting more government scrutiny, and "here's a document" would probably go better than "here's some vector representation of our values" when talking to politicians.
[1] https://arxiv.org/abs/2106.09685
[2] https://vgel.me/posts/representation-engineering/
[3] https://transformer-circuits.pub/2024/scaling-monosemanticit...
Is there a reason a document could not be converted to vectors via embedding, and you’d have both?
EDIT: I see, the control vectors operate more directly upon the model, in a way embedding vectors don’t quite have access to.
If it's a fine tuning step at the end, why is the need for it to vary a problem? Can't you run the fine tuning, test for regression, and deploy the weights in a day?
I think the more likely reason is it doesn't work as well as in context learning. Otherwise they would prefer to avoid polluting context and degrading performance.
Fine tuning isn't the same and doesn't have the same effect as selecting input tokens.
Does there exist a model X that behaves exactly as a model Y with context Z? Maybe, but it's not trivial to achieve and might possibly be convoluted and more expensive.
Fully baking them in would make it expensive to update them. Caching kind of "bakes them in" (as in, removes part of the cost) while keeping it flexible.
Baking them into the model and having them apply this strongly is hard and resource intensive, as far as I am aware.
Having them in context is super easy and cheap. It is trivial to change and is 100% cacheable.
Why would it be a good idea?
That would make the model quite inflexible.
A system prompt is about guiding the behavior for the rest of the conversation.
If I'm writing an agent for financial analysis I don't want the crap that belongs to a chat-based one, or a code-oriented one.
Flexibility.
> Claude does not use emojis unless the person asks or their immediately prior message contains one, and is judicious even then.
my org has snowflake as its data warehouse analytics space. for whatever reason analysts were given free reign to built streamlit in snowflake tools and the emoji hellscape is truly unbelievable
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.
All the news articles we're hearing about amazing cyber hacking are being done internally inside Anthropic and OpenAI, where they remove most of those safeguards.
Which blog posts?
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.
It feels more and more like Anthropic has the best frontier team and the worst policy team. Dario being part of the latter.
> 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.
I’ve noticed that too, but in the Claude Code context, where the system prompt may differ (I don’t think they disclose that one).
I haven’t seen it when using the app lately.
Yeah, I had to laugh when I saw that. I haven't used it recently - is it possible that it's a recent addition to deal with the problem and it has improved since then?
If it's still doing it, I can only imagine how bad it had to be before they added the prompt...
I have a bunch of ttsr rules on my omp for banned vocabulary. Gate and load bearing recently made it into this list
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.
I have the feeling soon we'll see much more content in the DONT section: when religion will start entering the arena.
22k characters of system prompt is crazy, and that is without the tool definitions.
What makes it crazy?
The fact it needs to implicitly be stated.
Every prompt will get this info, probably not only initially, since it could run out of context window. But every re-prompt in existing chats, even, gets one system prompt per model used per chat dialogue done.
Adds a fraction of cent of electric power just to every usage.
At home, I work with 65k context window, and if my system prompt and agents.md were both this length, I would spend two-thirds of the input window, before compacting which perhaps alleviates the issue for my use case, on re-feeding what mostly the reinforcement-learning should have implicitly baked in.
Because everybody has the same system prompt, the KV caching will make this a non-issue. The only cost is the reduced max context length.
But what makes it crazy? If nobody told you it was 22k chars, and it gets the provider the results they want for their benchmark goals, why is it crazy?
The only observable side effect, as a user, is that the system does what you want more often than one without this prompt. Or, it stays more aligned with the provider’s guidelines. Or some combination of both.
If it was a 65k context window, then it might be a bigger deal. But it isn’t, so the comparison is moot.
That's the thing I don't think it gets the provider the results they want for their benchmarks.
It gets them what they want for their legal safety, but it actively harms the performance.
Pi with its 300 words system prompt outperforms Claude Code and Codex both in token usage and passing rate, when using the same model + effort configuration [1].
So yeah not only does it bloat context, but it runs worse too.
[1]: https://www.databricks.com/blog/benchmarking-coding-agents-d...
Paragraphs wasted on guardrails... Id happily have the dangerous but cheaper and better version
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
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.
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”
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>
Why would Anthropic do this?
A lot of people wanted to talk about this at the time, and the election result was after the training cutoff, so I’d guess they threw this in there to reduce waste due to hallucinations and/or web searches.
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?
No, this is a fundamental safeguard against malicious user intent and also marketing 101 so claude doesn't anwer its chatgpt when asked what it is and people moan on social media how dumb claude is (that's what actually happened to the frontier labs in the early years as i did something similiar)
> 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.
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?
It's interesting how the system prompts are written in human language.
Has Gemini prompts been released, and how do they compare?
Do these system prompts count against your token usage?
No, because these ones affect the consumer chat products and not the API or Claude Code.
(Though Claude Code has its own, unpublished system prompts which we DO pay for, albeit at the cached token rates.)
Technically these do count against your token usage if you happen to use claude.ai web chat alongside Claude Code - both use the same allowance. Makes me appreciate OpenAI/ChatGPT giving you unlimited chat that doesn't drain your Codex allowance.
Yeah, Claude chat does show little in-app messages occasionally warning that Opus or Fable will burn through your rates faster.
So YES if you're using Cowork or Chat
No, because they are cached, the inference cost is paid once per model, does not scale linearly per user or use.
I wonder why Sonnet 5 is not included.
SPs are also written by AI :)
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.
What is the point? Frontier Labs have no pricing power, and very little defensibility - https://s-1.vercel.app/posts/the-struggle-of-openai/
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!
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
Multiple reasons probably:
1. Less context window to work with.
2. Things were "different" in the early days. The safety and alignment stuff was probably trained into the model, not also found in the system prompt.
3. Safety and alignment meant something different 3 years ago. Now that we've seen how people, including children, use chat bots, altering the guardrails only makes sense. Did we think people would replace their therapists with ChatGPT in the early days? No. Do we know now that they will? Yes.
Considering Eliza was one of the first uses for an "AI" chat bot, the therapist use case seems very foreseeable.
app-unavailable-in-region
DeepSeek never does that to me *shrugs*
> 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.
Fable was great. For some reason it has been terrible for the past week. wtf is going on?
What have you been observing? Genuinely curious; I use Fable as my main model and haven't noticed any regression.
They seem to be getting desperate. Guess we are now in the beginning of the decline phase of AI.
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.
Pretty much everything in Pi is handled by extensions. There's an extension for customizing the system prompt here: https://pi.dev/packages/pi-custom-system-prompt
My guess is that harnesses don't make core system prompts customizable out of the box because the system prompt is one of the defining features of the agent, and something they constantly iterate on and test between releases.
Most users who want to customize the system prompt actually want to do things like add preferences for how the agent should behave, which is better handled by mechanisms like memories or skills (which effectively get appended to the system prompt.)
Oh no, memories and skills are terrible replacements for system prompts.
Not only they get "lost" and ignored as the context grows, but the baseline behaviour of system prompts is retained in the agent.
Memories are implemented differently agent to agent. They are usually implemented by yet-another-model-call, as a distillation of typed prompts (working memory). Conversational communication is messy with a lower signal to noise ratio than the distillation (semantic memory). Semantic memories are much better than appending raw historical prompts.
Skills are prompts, albeit in a specific format. This is apparent in say, Codex where $MYSKILL is literally injecting the skill-prompt inline into a typed prompt. This all gets passed into the semantic memory system anyways, refining away cruft like redundancy, pleasantries, et al.
And none of this works properly. None.
You have to remind it what's in it's own memory, or the subagent skill is influenced by the main system prompt.
It's sloppy vibe coders productivity porn.
I agree. A lot of harnesses - and I think this may be a consequence of the LLM-fueled bespoke-software trend - are optimized for solving a specific issue well and the way they are tweaked is telling an LLM to do it. This resolves the need for natural extension points.
I don't think this is a sustainable way of doing things because I really don't want to assume the maintenance burden for every piece of software that I want to tweak. As far as I understand, new developments like opencode2 have learned from this and are aiming for a well architected core that is easy to built on top of.
In pi you can replace it with ~/.pi/agent/SYSTEM.md but its largely procedurally generated so you have to do a lot more than simply writing a different markdown file for it to be worth it in my experience.
I don't get it, for pi.dev it's easy to replace or append to the system prompt using a text file. Per user or per project.
good job