# System message

**Source:** https://promtable.com/glossary/system-message

> A system message is the highest-priority instruction message in a chat-style API call — used to set role, constraints, and behaviour for the entire conversation.

---
A system message is the highest-priority instruction message in a chat-style API call — used to set role, constraints, and behaviour for the entire conversation.

Most chat APIs in 2026 (OpenAI, Anthropic, Google, Mistral) accept a separate system message that the model treats as higher-trust than user turns. The system message sets persona, constraints, format rules, refusal policy, and tool guidance. It is the most cost-effective behaviour-steering surface in production LLM apps — typically more impactful than fine-tuning for the same effort. Best practices in 2026: keep it concise (under 2,000 tokens to maximise prompt caching), declarative (always / never rules), example-light (examples go in user turns), and version-controlled.

## When to use

- Any production chat or agent feature.
- Locking output format across many user inputs.
- Enforcing safety rules.

## Common mistakes

- Cramming examples into the system message — they belong in user turns.
- Variable content (timestamps, user ID) in the system prefix — breaks prompt caching.

## Related terms

- [system-prompt](https://promtable.com/glossary/system-prompt)
- [prompt-caching](https://promtable.com/glossary/prompt-caching)
- [instruction-hierarchy](https://promtable.com/glossary/instruction-hierarchy)

*Last updated: 2026-06-01*
---

Original page: https://promtable.com/glossary/system-message
Maintained by Promtable (https://promtable.com). Content: CC BY 4.0. Cite as "Promtable — https://promtable.com/glossary/system-message".
Contact: info@vibecodingturkey.com.