Skip to content

The system prompt — the instructions you never wrote

In one paragraph

Every chat app puts its own instructions in front of your conversation: how to behave, what it is, what the date is. Anthropic publishes these prompts by model and date, so the block can be measured rather than guessed — and states that they do not apply to its API. Behaviour that differs between the app and the API usually differs here.

what the model is actually handed

the request, assembled by the app

the vendor’s system prompt — instructions you never wrote:

pages of tone, rules, tools and today’s date
you — the only part you typed
Make this email shorter.
Your message is not the whole prompt — it arrives inside instructions you never wrote, and they shape tone, refusals and format before you say a word.
What actually gets sent

One vendor's published system prompts, measured with a published encoding: 148 tokens for Claude Haiku 3 in July 2024, 1,171 for Claude Sonnet 3.5 the same month, 2,476 for Claude Sonnet 4.5 in September 2025 and 4,224 for Claude Opus 5 in July 2026. Text you never wrote and never see, in front of every message you send.

What it is

A request is assembled by the application, not by you. Your message goes at the end of it. In front sits a block of instructions written by the vendor: what the assistant is, how it should format answers, what it should refuse, and what it should know about the world outside its training — including the current date.

Anthropic is the vendor that publishes these, dated by model, which is what makes this idea measurable instead of speculative. Its page describes the purpose directly — the web interface and mobile apps:

use a system prompt to provide up-to-date information, such as the current date, to Claude at the start of every conversation
Anthropic — System prompts for Claude's web interface and apps

The same page adds that it “also encourages certain behaviors, such as always providing code snippets in Markdown”.

The demo above counts those published prompts with a published encoding. They have grown by a factor of about thirty in two years — 148 tokens in July 2024, 4,224 in July 2026. That is several pages of text, sent before every message, on every turn.

What follows

Behaviour is not only a property of the model. The same weights, wrapped in different instructions, behave differently. When an app becomes more cautious or changes its formatting overnight without a new model being announced, this block is the usual place for it to have happened.

The API is a different environment. Anthropic states it in one sentence:

These system prompt updates do not apply to the Claude API.
Anthropic — System prompts for Claude's web interface and apps

No product framing, no house style, no date. Comparisons between an app and a raw API call are comparisons between two different requests.

Your instruction is small by comparison. A one-line standing rule is a dozen tokens against several thousand. That is a fact about proportions, and on its own it explains nothing about whether a rule is followed — but it is worth seeing before assuming the model simply ignored you.

It costs window. Anthropic lists the system prompt first among the things counting towards the context window. The space is spent before your first word.

Technical detail: how the token counts here were produced

Anthropic does not publish Claude's tokenizer, so the prompts are counted with o200k_base, OpenAI's published encoding — the same one that counts your own text in the demo, which is what makes the two comparable. Under Claude's own tokenizer the absolute numbers would differ; the proportions are the point.

Counting was done on the prompt text exactly as published, with the page's markdown escaping undone and duplicated link markup collapsed. Only the Claude Opus 5 prompt is broken into named blocks, because only there are the sections cleanly opened and closed, so each one can be measured without guessing where it ends.

Common questions

1 Can I see the system prompt of the app I use?
Only if the vendor publishes it. Anthropic does, by model and with a date on each version. Where a vendor does not, anything circulating as its system prompt is a reconstruction, and we do not treat reconstructions as sources.
2 Does the system prompt count against the context window?
Yes. Anthropic lists the system prompt first among the things that count towards the window, so several thousand tokens are spent before your first word.
3 Why does the same model behave differently in the API?
Because this block is not there. Anthropic states that its published system prompt updates do not apply to the Claude API, so a developer calling the model directly gets no product framing, no behavioural instructions and no date unless they write their own.

Where this shows up in practice

Sources

Last checked: