AI courses in English and Dutch, with certificate AI literacy you can evidence under the EU AI Act Invoice in your employer's name, also for teams
Black Friday33% off every e-learning and team plan, from 4 to 30 November (Cyber Monday)33% off until 30 Novends in 0d 0h 0mView the e-learnings

What is a system prompt? How it differs from your own prompt

What is a system prompt? How it differs from your own prompt

A system prompt is the set of fixed instructions an AI model receives before your first message and that applies for the whole conversation. Where your own prompt asks one question, a system prompt sets the framework: role, tone, boundaries and format.

Within prompting, that is the difference between a one-off instruction and a fixed way of working. Your own prompt, the user prompt, changes with every question; the system prompt stays in place.

In Claude, you set a system prompt through project instructions, through Claude Code or through the system field in the API. In ChatGPT, the same mechanism is called custom instructions, GPT instructions, project instructions or, in the API, a developer message.

A good system prompt is short and specific, with rules suited to your type of firm. What a system prompt does not do is check the content: that check stays with you.

What is a system prompt?

A system prompt is a set of fixed instructions that a language model receives before the user’s messages. Those instructions apply for the whole conversation.

Anthropic describes the system prompt as a way to give Claude context and instructions, such as a goal or a role. The instructions shape the model’s behaviour for every question that follows, without you having to repeat them.

How does a system prompt differ from your own prompt?

A system prompt differs from your own prompt in who writes it, how long it applies and how much weight it carries. Your own prompt, also called the user prompt, is the question or instruction you type in the conversation, and it applies for one turn.

A system prompt comes before it, is set in advance by you or by the builder of an application and applies to every turn. OpenAI makes that hierarchy explicit: in the OpenAI API, developer messages, the developer’s fixed instructions, take priority over the user’s messages.

What goes into a system prompt?

A system prompt contains the fixed agreements that apply to every question in the conversation. A usable system prompt typically covers six elements:

  • Role: which role the model takes on, for example an editor who rewrites client correspondence.
  • Audience: who the output is for, such as business owners without tax knowledge or fellow accountants.
  • Tone: businesslike or approachable, formal or informal address, and which words you do not want to see in the output.
  • Boundaries: what the model does not do, such as giving legal advice or quoting amounts without a source.
  • Format: length, layout and structure of each answer.
  • Uncertainty rule: what the model does when information is missing, for example asking a follow-up question instead of making something up.

According to Anthropic, a role in the system prompt steers Claude’s behaviour and tone, and even a single sentence makes a difference. A role in the system prompt works like assigning a role in a prompt, but it applies to the whole conversation rather than to one question.

Where do you set a system prompt in Claude?

In Claude, you set a system prompt in three places: in a project, in Claude Code and in the Claude API. Each place has its own scope.

How do you set project instructions in a Claude project?

You set project instructions in a Claude project by choosing Set project instructions in the project and saving your text. According to Anthropic, Claude then uses those instructions in all chats within the project.

Projects are also available with a free account, up to a maximum of five projects. With Claude project instructions, you record once what you would otherwise have to repeat in every chat.

Is CLAUDE.md the system prompt of Claude Code?

No, CLAUDE.md is not the system prompt of Claude Code, but the file with fixed project instructions that Claude Code reads at startup. According to Anthropic’s documentation, the content of CLAUDE.md is added as a message directly after the system prompt, and Claude follows those instructions, although strict compliance is not guaranteed.

You adjust the actual system prompt of Claude Code with two options at startup: --append-system-prompt adds text to the default prompt, and --system-prompt replaces that default prompt entirely.

How do you pass a system prompt in the Claude API?

In the Claude API, you pass the system prompt through the separate system field, separate from the messages in the conversation. In its API documentation, Anthropic points to the top-level system field of the request for this.

In my own work with the Claude API, I find that Claude sticks closely to the system prompt, especially on tasks with several steps. A prompt that works well in claude.ai sometimes gives a different result through the API, because the system prompt and context of the chat interface are missing there.

Your own system prompt is therefore the first setting you pin down when you build the Claude API into a workflow.

Where do you set a system prompt in ChatGPT?

In ChatGPT, you set a system prompt in four places, each with its own scope: custom instructions, a project, the API and, in a business workspace, a custom GPT.

What are custom instructions in ChatGPT?

Custom instructions in ChatGPT are your personal fixed instructions for all chats. On web and desktop you find them in the settings, under Personalization; according to OpenAI, custom instructions are available on all plans.

How do a custom GPT’s instructions work?

A custom GPT’s instructions work as the system prompt for that one GPT. OpenAI describes them as the description of what the GPT does, how it responds and what it avoids. On 11 September 2026, OpenAI announced that it would phase out custom GPTs on all plans. Creating a new GPT is now only possible in Business, Enterprise and Edu workspaces; existing GPTs keep working until the date that applies to your plan. With a personal account, you therefore record the same fixed instructions in a project.

When I built several custom GPTs for my SEO work, I noticed that the same instructions gave more variable output in real use than in testing. A custom GPT is, in effect, a system prompt with knowledge files under one name, and that combination deserves the same round of testing as any other prompt.

What do project instructions do in a ChatGPT project?

Project instructions in a ChatGPT project apply only within that project. According to OpenAI, project instructions take precedence there over your general custom instructions.

What is a developer message in the OpenAI API?

In the OpenAI API, a developer message is the counterpart of a system prompt: fixed instructions from the developer. You can also pass fixed instructions through the instructions parameter. OpenAI states that developer messages take priority over user messages, and that instructions only apply to the request you send them with.

What does a system prompt look like in practice?

In practice, a system prompt is a short, specific text that sets out role, audience, boundaries and format. The example below is for rewriting client emails at an accountancy firm:

You are an editor for an accountancy firm. You rewrite draft emails to clients in plain English.
Audience: business owners without tax knowledge.
Tone: businesslike and friendly, address the client formally.
Boundaries: do not change amounts, dates or tax conclusions. Do not give your own tax advice.
Format: no more than 150 words, short paragraphs, no bullet points.
If in doubt: put a question in brackets instead of adding something.

The boundaries protect the professional content, because the model only rewrites the form. The uncertainty rule stops the model from filling in missing information itself, and the format rule makes the output predictable, which speeds up proofreading.

What does a system prompt not solve?

A system prompt does not fix errors in content: the model follows your framework, but does not check whether the facts are right. A rule such as “do not change amounts” reduces the risk, but does not rule out a figure copied incorrectly.

In long conversations, accuracy also declines as the context window fills up; Anthropic calls this context rot. A system prompt is therefore the start of a way of working, not the check itself: a person proofreads every output that goes to a client.

Does Claude have its own system prompt?

Yes, Claude in claude.ai and in the apps works with its own system prompt that Anthropic sends with every conversation. According to Anthropic, that prompt includes the current date, among other things, and steers behaviour, such as always showing code in Markdown.

Anthropic publishes these system prompts openly and states that the updates do not apply to the Claude API. If you work through the API, you therefore start without those default instructions.

Does a system prompt work the same way in ChatGPT as in Claude?

Yes, a system prompt works the same way in ChatGPT as in Claude: fixed instructions that apply to the whole conversation and take precedence over individual questions. The names and locations differ.

Anthropic talks about the system prompt and project instructions; OpenAI talks about custom instructions, GPT instructions and, in the API, developer messages.

Is a system prompt the same as assigning a role in a prompt?

No, a system prompt is not the same as assigning a role, because the system prompt is the place and a role is one of the things you put there. You assign a role in a single prompt or in the system prompt; in the system prompt, that role applies to every message in the conversation.

How long can a system prompt be?

A system prompt is limited by the context window, because the system prompt counts towards that window. Anthropic explicitly lists the system prompt as part of everything that counts towards the window.

Neither Anthropic nor OpenAI gives a fixed maximum length. Writing about instruction files in Claude Code, Anthropic does say that Claude follows specific and concise instructions more consistently.

Can you change a system prompt in the middle of a conversation?

Yes, you can change a system prompt in the middle of a conversation, but the effect differs by place. In the API, you send the instructions again with every request, so a change applies from the next request.

For ChatGPT custom instructions, OpenAI is not consistent: the help article mentions both immediate application to existing conversations and application to new conversations only. So start a new conversation after a change, and you will know for certain which version applies.

Which system prompt suits your type of firm?

The system prompt that suits your firm mainly sets out which professional content the model must not touch. What that protection needs differs by type of firm.

What does a system prompt for an accountancy firm look like?

A system prompt for an accountancy firm mainly guards figures and conclusions.

You rewrite client correspondence. Do not change amounts, percentages or deadlines. Give a short plain-language explanation of every tax term.

The rule about amounts stops a rewrite from quietly changing a figure.

What does a system prompt for a notary’s office look like?

A system prompt for a notary’s office guards the legal wording.

You summarise draft deeds for clients. Copy legal terms literally and then explain them. Do not cite statutory articles that are not in the deed.

The last rule targets a well-known trap: language models sometimes make up statutory articles that sound convincing.

What does a system prompt for a marketing agency look like?

A system prompt for a marketing agency captures the client’s voice.

You write LinkedIn posts for a client in building services engineering. Address the reader as "you", with no exclamation marks and no superlatives. Do not mention figures that are not in the briefing.

I work with one project per client myself, with the client context in separate files, so that one client’s instructions do not end up in the work for another client.

Frequently asked questions about system prompts

If you use system prompts through the API or in your own chatbot, you will also have to think about security and costs.

Can a user find out a chatbot’s system prompt?

Yes, a user can sometimes find out a chatbot’s system prompt, which is why nothing secret belongs in it. OWASP calls this risk system prompt leakage and advises keeping sensitive data such as login credentials and API keys out of the system prompt. Handle permissions and access outside the model, because a system prompt is not a security measure and prompt injection can bypass the instructions.

What is the difference between a system prompt and fine-tuning?

The difference between a system prompt and fine-tuning is that a system prompt passes instructions with every request, while fine-tuning trains the model itself further on examples of input and desired output. You can adjust a system prompt immediately; a fine-tuned model has to be retrained. OpenAI recommends starting with prompts, because according to its documentation that is often enough, and it is winding down its own fine-tuning platform.

Do you pay for a long system prompt again with every request?

In the API, a long system prompt counts as input again with every request, but with prompt caching you pay a fraction of the normal input price on repeat use. In the Claude API, you put the fixed start of your request, including the system prompt, in a cache. By default, that cache stays valid for five minutes and is extended at no extra cost as soon as you use it again. Writing to the cache does cost slightly more than ordinary input.

Where can you learn to use system prompts in your own work?

You learn to use system prompts in your own work by building one fixed set of instructions with role, boundaries and format for each recurring task. Alongside it, the user prompt changes with each question. That way you steer the model’s behaviour once, instead of repeating yourself with every question.

In LearnLLM’s Claude Course, you set up a project per client or per workstream, with fixed instructions and practical assignments on your own work.

Related articles

Rol toewijzen AI prompt
Prompt engineering
Dennis van de Velde

Role prompting: how to assign a role in a prompt

Role prompting means telling an AI model which expertise to answer from. Learn the four elements of a good role, examples from real work and the mistakes to avoid.

AI act
Prompt engineering
Dennis van de Velde

Context engineering: how to give an LLM good context

Context engineering means giving an LLM exactly the information it needs, and no more. Learn how to structure your context and which mistakes lead to generic answers.