The line in this page I keep coming back to: these system prompt updates do not apply to the Claude API. That’s the whole thing for anyone building on top of Claude. The claude.ai chat window and the mobile apps get a system prompt that hands the model the current date and nudges it toward habits like always returning code in Markdown. My API calls get none of it. So when something works beautifully in the web UI and then comes back subtly wrong from my own code, the gap is often not the model — it’s the scaffolding I never received.
Which makes the published prompts useful in a way I didn’t expect. Not to copy wholesale, but to read as a list of things a bare model doesn’t know. It has no idea what day it is unless I tell it. Formatting conventions have to come from me. If I’m wiring Claude into a Cloudflare Worker or something running on the boat’s little server, that’s my job now, in my own prompt, under version control where I can actually see it.
The page also notes that starting with the Claude 4.6 generation each model ID is a single fixed snapshot, so those models have one entry. Fixed snapshot, fixed prompt, fewer surprises. I’ll take that.
The story — Anthropic’s docs publish the system prompts used by Claude’s web interface at claude.ai and its mobile apps, which supply information such as the current date and encourage behaviors like providing code snippets in Markdown. The prompts are updated periodically and do not apply to the Claude API; from the Claude 4.6 generation onward, each model ID is a single fixed snapshot with one entry, while earlier models list multiple dated versions with changes bolded. (Source)