Messages and Models in Claude
A beginner-friendly guide to the two ideas at the heart of every Claude conversation: the messages you send and receive, and the model that reads them. What roles and turns are, how a conversation is built, what a model ID means, and how to choose well.
Imagine passing notes back and forth with a very knowledgeable friend. Each note is a message. The friend who reads and replies is the one doing the thinking. If you change friends, the notes might get answered in a different style, with different speed and depth, even though the notes themselves look the same. Two things matter: what is written on the notes, and who reads them.
In Claude, those two things have names. The notes are messages, and the reader is the model. Whether you chat in the Claude app or build software with the Claude API, you are always sending messages to a model. This guide explains both ideas from scratch. No technical knowledge is needed. Every new word is explained when it first appears, and each big idea comes with an everyday comparison.
Model names, features and limits change often. Anthropic retires older models, releases new ones and updates its documentation regularly. The details here reflect Anthropic’s developer documentation at the time of writing. Before you rely on a model name, a limit or a feature, check the current Models overview and Messages documentation at platform.claude.com.
1What Is a Message?
Let us start with the simplest idea and build upward.
A message is a single turn in a conversation: one piece of communication from one side. When you type “Hello, Claude” in the app, that is a message from you. When Claude replies, that is a message from Claude. A conversation is simply a series of messages, taken in turns, which together make up the whole exchange.
In the Claude app, you rarely think about messages as objects. You just type and read. But under the surface, and especially when developers use the API, messages are the building blocks. Anthropic’s main developer interface is called the Messages API, because it works by sending messages to Claude and receiving a message in return.
Message
One turn in a conversation, either from the person or from Claude.
Turn
One side’s contribution before the other side responds.
Model
The trained AI system that reads the messages and writes the reply.
Conversation
The whole series of messages exchanged, which Claude reads to understand context.
Think of a text-message thread with a friend. Each bubble is a message, the thread is the conversation, and the friend replying is the model. You can scroll back through the thread to see everything that was said.
Claude’s answer depends on two things: the messages it is given and the model that reads them. Improve either, and the result changes.
2Roles: Who Is Speaking?
Every message carries a label saying who it came from.
In the Messages API, each message has a role, which identifies the speaker. The two basic roles are user, meaning the person or program asking, and assistant, meaning Claude. Messages usually alternate: the user says something, the assistant replies, the user follows up, and so on. These roles tell Claude whose words are whose, so it can follow the thread of a conversation.
There is also a way to give system instructions. A system prompt is a set of standing instructions that tell Claude how to behave across the conversation, such as its role, tone or rules. Anthropic’s documentation describes a dedicated system field at the top of a request for instructions that apply from the very first turn, and notes that on some newer models, a system message can also be added partway through a conversation, subject to placement rules.
| Role | Who it represents | Typical content |
|---|---|---|
| User | The person or program asking | Questions, instructions, documents and images |
| Assistant | Claude | Replies, explanations, drafts and decisions |
| System | The developer or product setting the rules | Standing instructions about role, tone and limits |
In a play, the script labels each line with a character name, and the stage directions at the top set the scene. User and assistant are the characters, and the system prompt is the stage directions that tell everyone how to play the scene.
A system prompt carries more authority than text pasted inside a user message or a document. If a pasted document contains instructions, they are part of the content to read, not an order for Claude to obey. Keep that distinction in mind when building products.
3A Conversation Is a List, and the API Is Stateless
This is the single most important thing to understand about how conversations work in the API.
Anthropic’s documentation says that the Messages API is stateless. Stateless means that the system does not keep track of your conversation between requests. Every time a developer’s program wants Claude’s next reply, it must send the full conversational history again: the first user message, Claude’s reply, the next user message, and so on, in order. Claude then reads the whole list and writes the next reply.
This might sound clumsy, but it gives developers full control. They decide what to include, what to shorten and what to leave out. The documentation even notes that earlier turns do not have to have actually come from Claude. A developer can supply their own example replies to steer the conversation. In the Claude app, this bookkeeping is done for you, so the conversation feels continuous.
flowchart TD
A["Request 1: user message"] --> B["Reply 1 from Claude"]
B --> C["Request 2: message 1 + reply 1 + new user message"]
C --> D["Reply 2 from Claude"]
D --> E["Request 3: everything so far + new user message"]
E --> F["Reply 3 from Claude"]
The program keeps the history
It stores every message so far, in order.
It adds the new user message
The latest question joins the end of the list.
It sends the whole list
The full history goes to Claude, along with the model name and settings.
It stores Claude’s reply
The reply is added to the history, ready for the next round.
Imagine a consultant with no memory between phone calls. Before each call, you hand them a printed transcript of every earlier call. They read it, then continue as if they had never left. That transcript is the message history.
Because the full history is resent each time, long conversations use more tokens with every turn. Developers often trim or summarise older messages to keep requests manageable.
4What a Message Can Contain
Messages are not limited to plain text.
The simplest message is a line of text. But Anthropic’s documentation says that Claude can read both text and images in requests, and that all current Claude models support text and image input and text output. A single message can therefore be made of several content blocks, which are separate pieces such as a block of text and an image. For example, a user message might contain a photograph and a question about it.
Claude’s reply is also made of content blocks. The most common is a text block, but replies can include other kinds, such as a request to use a tool. A tool is a function that a developer makes available so Claude can look something up or take an action, and Claude signals that it wants to use one through a block in its reply.
Text
Words from the user or from Claude. The most common kind of content.
Images
Pictures included in a user message so Claude can describe or analyse them.
Documents
Files such as PDFs, supported through the documentation’s PDF and file features.
Tool requests and results
Claude asking for a tool to be run, and the developer sending the result back.
An email can contain paragraphs, attached photos and an attached spreadsheet, all in one message. Content blocks are the paragraphs and attachments inside one Claude message.
5Reading Claude’s Reply
A reply carries more than the words themselves.
According to the documentation, when you send a request, the response is itself a message. It has an identifier, a type that says it is a message, the role assistant, the content blocks and the name of the model that answered. It also includes a stop reason, which explains why Claude stopped writing, and a record of usage, which counts the input tokens and output tokens used.
| Part of the reply | What it tells you |
|---|---|
| Role | That the message came from the assistant |
| Content | The text, and any other blocks, that Claude produced |
| Model | Which model answered the request |
| Stop reason | Why the reply ended |
| Usage | How many tokens went in and how many came out |
Natural end
A stop reason showing that Claude reached a natural end means it finished what it wanted to say.
Length limit reached
A stop reason showing that the length limit was reached means Claude was cut off because the maximum number of output tokens was hit, so the reply may be incomplete.
Refusal
The documentation also describes a refusal stop reason, with extra detail identifying the policy category, for cases where Claude declines a request.
Tool use
When Claude wants a tool to be run, the reply ends with a signal to that effect, and the developer’s program responds with the tool’s result.
A parcel arrives with a delivery slip as well as the contents. The slip tells you who sent it, what is inside and what weight was charged. A reply’s extra details are the delivery slip.
If a reply seems to end abruptly, check whether the stop reason shows the length limit was reached. Raising the limit, or asking for a shorter answer, usually fixes it.
6What Is a Model?
Now for the other half of the picture: the reader of the messages.
Anthropic describes Claude as a family of large language models. A model is the trained system that reads your messages and writes a reply. Training is what gave it its abilities, and that training is complete before you ever send a message. Different models in the family are trained and tuned differently, which is why they differ in capability, speed and cost.
Anthropic’s documentation says that all current Claude models support text and image input, text output, multilingual capabilities and vision. Where they differ is in how capable they are on hard problems, how quickly they answer, how much they cost to run and which special features they offer.
Capability
How well the model handles hard reasoning, long tasks and subtle instructions.
Speed
How quickly it responds. Lighter models usually answer faster.
Cost
How much it costs per token to run, which differs by model.
Features
Support for certain options, such as thinking settings, which can vary by model.
A team of advisers may include a quick generalist, a balanced all-rounder and a deep specialist. They all speak the same language, but they differ in speed and depth. The models in the Claude family are like that team.
The model is fixed once trained. It does not learn from your messages as you chat. What changes the answer is what you put in the messages.
7The Current Lineup
The models are arranged in tiers, each with a different balance of strengths.
At the time of writing, Anthropic’s most recent publicly available models are Claude Haiku 5.5, Claude Sonnet 5.5, Claude Opus 5.5 and Claude Fable 5.1. Haiku is the light and quick tier, Sonnet is described as a smart, efficient model for everyday use, Opus is the more capable tier for demanding work, and Fable belongs to the higher Mythos tier, sharing an underlying model with Claude Mythos 5.1 and carrying additional safety measures for biology, cybersecurity and LLM research and development.
Anthropic’s documentation also notes that Claude Mythos Preview is offered separately as a research preview for defensive cybersecurity workflows as part of Project Glasswing, rather than as a general public model. And older models, such as earlier Opus and Sonnet versions, are described as legacy or deprecated, with the documentation pointing to current replacements.
| Tier | Current model | General character |
|---|---|---|
| Haiku | Claude Haiku 5.5 | Light and quick, suited to simple and high-volume work |
| Sonnet | Claude Sonnet 5.5 | Smart and efficient for everyday use |
| Opus | Claude Opus 5.5 | More capable, for demanding tasks |
| Mythos tier | Claude Fable 5.1, sharing a core with Claude Mythos 5.1 | Top tier, with extra safeguards on Fable |
flowchart TD
A["Mythos tier: Fable 5.1 and Mythos 5.1"] --> B["Opus: Opus 5.5"]
B --> C["Sonnet: Sonnet 5.5"]
C --> D["Haiku: Haiku 5.5"]
Think of vehicles: a nimble scooter, a reliable car, a heavy truck and a specialist aircraft. Each is right for a different journey. The tiers are the vehicle choices for your tasks.
New versions arrive and old ones retire. The models overview page in the documentation shows the current list, and the deprecations page shows which models are being retired.
8Model IDs: The Exact Name You Request
When a developer asks for a model, the request must name it exactly.
The name used in a request is called the model ID, sometimes called a model string. For Claude models from the 4.6 generation onward, Anthropic’s documentation says that IDs follow a dateless format built from the model’s name and its version numbers, for example in the pattern name, major version and optional minor version. Major releases such as Sonnet 5 omit the minor part. The current public models therefore have IDs such as claude-haiku-5-5, claude-sonnet-5-5, claude-opus-5-5 and claude-fable-5-1.
An important point from the documentation is that each model ID identifies a pinned version. When you use a model ID in a request, the underlying model remains constant for the lifetime of that ID. Anthropic specifically warns about a common misconception: dateless IDs are not evergreen pointers that route to the latest or best version. When an updated version is released, it ships under a new model ID. This differs from the convenience aliases that existed for earlier models, which could be moved to point at newer versions.
IDs are pinned
The same ID keeps pointing at the same model for its lifetime, so behaviour stays stable.
Updates get new IDs
A newer version is released under a new ID, so you decide when to move.
Platforms may format IDs differently
Some cloud platforms use their own ID styles, while Claude Platform on AWS uses the same IDs as the Claude API.
Always copy from the docs
One wrong character fails the request, so copy IDs from the documentation, not from memory.
A printed edition of a book stays the same forever, and a revised edition gets a new edition number. A pinned model ID is like a specific edition: you always know exactly what you are getting until you choose to switch.
Because IDs are pinned, models eventually retire. Keep a list of the model IDs your projects use and watch the deprecations page, so you can migrate before a model is switched off.
9Choosing a Model
There is no single best model, only the best fit for a given task.
Describe the task
Is it simple and repetitive, an everyday assistant job or a hard reasoning problem?
Consider the stakes
A casual draft can tolerate small slips. A costly decision deserves more capability and more checking.
Weigh speed and cost
If you need instant replies or huge volume, lighter models are attractive.
Test on real examples
Try the same realistic inputs on two neighbouring tiers and compare quality.
Choose and revisit
Pick the lightest model that does the job well, and re-test when new models appear.
flowchart TD
A["Your task"] --> B{"Simple and high volume?"}
B -- "Yes" --> C["Try Haiku"]
B -- "No" --> D{"Everyday depth?"}
D -- "Yes" --> E["Try Sonnet"]
D -- "No" --> F{"Hard or high stakes?"}
F -- "Yes" --> G["Try Opus, or the Mythos tier where suitable"]
You choose a courier for a simple parcel and a specialist handler for a priceless painting. Matching the handler to the cargo saves money without risking what matters.
A more capable model is not automatically better for every job. It may be slower and more expensive than the task needs.
10Thinking and Effort Settings
Some models let you influence how much reasoning they do before answering.
Anthropic’s model tables list a thinking capability for current models, which gives Claude room to reason before it writes its reply, and a default effort level, which is a setting that influences how much effort the model puts in. The documentation describes thinking styles such as adaptive, where the model decides how much to think, and notes that effort can be set explicitly to a different level. Which options a model supports, and what its defaults are, can differ from model to model.
For a beginner, the practical lesson is simple. More reasoning can improve results on hard problems, but it usually takes longer and uses more tokens. For easy tasks, extra thinking adds cost without adding value. The documentation includes dedicated pages on thinking and effort, which are the right places to learn the current options.
More reasoning helps when
- The problem has many dependent steps
- Accuracy matters more than speed
- The task involves careful comparison or planning
- Errors would be costly
Less reasoning is better when
- The task is simple or repetitive
- You need very quick replies
- Volume is high and cost matters
- The answer is short and factual
A chess player thinks for a long time over a critical move but plays obvious moves quickly. Thinking settings let you tell the model how long to ponder, depending on how critical the move is.
11Context Windows and Output Limits
Every model can handle only so much at once, and only write so much in reply.
The context window is the total amount of material a model can consider in one request, measured in tokens. A token is a small chunk of text. The context window holds the whole message history, any system prompt, attached documents and the reply itself. The maximum output is the most tokens the model can write in a single reply.
Anthropic’s models overview lists the context window and maximum output for each current model, and recent tables show windows measured in the order of a million tokens for current models. Exact numbers differ by model and can change, and some features, such as longer outputs, may be in beta. Check the models overview for the current figures.
flowchart LR
A["System prompt"] --> E["Context window"]
B["Message history"] --> E
C["Documents and images"] --> E
D["The reply being written"] --> E
E --> F["Must fit within the model's limit"]
A desk has a fixed size. Papers, notes and the page you are writing on all have to fit. A bigger desk lets you spread out more, but it is never infinite.
The documentation describes tools for managing context, such as token counting and ways to compact or edit older context. These help long conversations stay within limits.
12Messages and Models in the Claude App
If you chat in the app, the same ideas apply, with the bookkeeping done for you.
In the Claude app on web, desktop and mobile, you simply type your messages and read Claude’s replies. The app keeps the conversation history for you and sends it along with each new message, so Claude can follow the thread. The app also lets you choose a model. A person can switch models during a conversation, and the models available depend on the plan and the app version.
The way you write messages still matters in the app. Clear messages with context, goals and limits get better answers, and the model you pick influences speed and depth. The difference from the API is mainly that you do not manage roles, history and IDs yourself.
| Aspect | In the Claude app | In the API |
|---|---|---|
| History | Kept for you | Your program sends it each time |
| Roles | Handled automatically | You label user and assistant messages |
| Model choice | Chosen from a menu, depending on plan | Named by model ID in each request |
| Standing instructions | Saved preferences or project instructions, where offered | A system prompt you provide |
| Billing | Subscription plans with usage limits | Pay by tokens used |
Driving an automatic car, you just press the pedals. Driving a manual, you handle the gears yourself. The app is the automatic, and the API is the manual, with more control and more to manage.
13Where Models Are Available
Claude models can be reached through more than one route.
Anthropic’s documentation says current models are available through the Claude API and through several cloud platforms, including Claude Platform on AWS, Amazon Bedrock, Google Cloud and Microsoft Foundry. Model IDs can look different on different platforms, for example with a prefix on one, although Claude Platform on AWS uses the same IDs as the Claude API. Model lifecycle and feature availability can also differ, so the documentation recommends checking the features overview.
Claude API
Anthropic’s direct programmatic access, with the widest and earliest feature support.
Amazon Bedrock
Claude through Amazon’s cloud, using that platform’s own ID style and controls.
Google Cloud
Claude through Google’s cloud, integrated with its identity and billing.
Microsoft Foundry
Claude through Microsoft’s platform, for organisations working in that environment.
The same product may be sold directly by the maker or through large retailers. The product is the same, but ordering codes, delivery terms and available extras can differ by seller.
If a feature matters to you, confirm it is supported on your chosen platform and for your chosen model before you build around it.
14Writing Good Messages
Whatever the model, clear messages get better results.
State the goal
Say what you want to achieve, not only what to do.
Give context
Include the background, audience and constraints that change the answer.
Separate instructions from content
Mark clearly which text is your instruction and which is material to be worked on.
Describe the output
Say the format and length you want, such as a short list or a table.
Use the system prompt for standing rules
Put rules that apply to every turn, such as tone and role, in the system prompt.
Check and iterate
Read the reply, then adjust your message or your model choice.
Weak message
“Summarise this.”
Stronger message
“Below is a customer complaint email. Summarise it in three bullet points for a support manager: the problem, what the customer wants and the urgency. Use only what the email says.”
A clear note to a colleague includes what you need, why and by when. A vague note forces them to guess. The same is true when writing messages to Claude.
15Common Mistakes
These errors appear often, and each has an easy fix.
Problem
Expecting the API to remember earlier requests.
Why It’s Harmful
The Messages API is stateless, so a request without the history is treated as a brand-new conversation.
Correct Approach
Store the conversation and send the relevant history with each new request.
Problem
Assuming a dateless model ID automatically points to the newest model.
Why It’s Harmful
Anthropic’s documentation says such IDs are pinned snapshots, so you will stay on that model until you change the ID.
Correct Approach
Check the models overview for new releases and update your IDs deliberately after testing.
Problem
Ignoring the stop reason and treating every reply as complete.
Why It’s Harmful
A reply cut off by the length limit, or a refusal, may be mistaken for a full answer.
Correct Approach
Check why the reply ended and handle each case, such as raising the limit.
Problem
Always choosing the most capable model.
Why It’s Harmful
It raises cost and delay for tasks that lighter models handle well.
Correct Approach
Test lighter tiers first, and move up only when quality requires it.
Problem
Letting message history grow forever.
Why It’s Harmful
Costs rise with every turn and the context window eventually fills.
Correct Approach
Trim, summarise or compact older turns, keeping what matters.
Problem
Treating instructions found inside pasted documents as commands.
Why It’s Harmful
Hidden or untrusted text can try to steer Claude in unintended ways.
Correct Approach
Keep your real instructions in the system prompt or your own message, and label pasted material as content to be analysed.
16Frequently Asked Questions
One turn in a conversation, from either the user or Claude. A conversation is a series of messages, and the Messages API works by sending messages to Claude and receiving a message back.
Labels saying who a message came from. The main ones are user, meaning the person or program asking, and assistant, meaning Claude. A system prompt sets standing instructions for the conversation.
The Messages API does not remember your conversation between requests, so you send the full history each time. The Claude app does this for you automatically.
The trained AI system that reads your messages and writes the reply. Claude is a family of models that differ in capability, speed, cost and features.
At the time of writing, Claude Haiku 5.5, Claude Sonnet 5.5, Claude Opus 5.5 and Claude Fable 5.1 are the most recent publicly available models. Lineups change, so confirm in the models overview.
The exact name used to request a model in the API, such as claude-sonnet-5-5. Documentation says each ID is a pinned version, and updates ship under new IDs.
A field in the reply explaining why Claude stopped writing, such as reaching a natural end, hitting the length limit, refusing a request or asking for a tool to be run.
Yes. Documentation says Claude can read both text and images in requests, and all current models support text and image input.
Match the model to the task, stakes, speed and budget. Start with a lighter tier, test on real examples and move up only if the quality gain is worth the extra cost and delay.
The Models overview, Model IDs and versioning, Model deprecations and Working with Messages pages in the developer documentation at platform.claude.com. They change often, so check dates.
17Summary and Key Takeaways
Every Claude conversation comes down to messages and a model. Messages are the turns of the conversation, each labelled with a role, such as user or assistant, with optional system instructions setting standing rules. In the API, the conversation is a list that your program sends in full each time, because the Messages API is stateless, while the Claude app does that bookkeeping for you. Messages can hold text, images and other content blocks, and each reply returns the content along with the model used, a stop reason and token usage. The model is the trained reader of those messages, and the Claude family offers tiers that trade capability against speed and cost, with the current public lineup including Haiku 5.5, Sonnet 5.5, Opus 5.5 and Fable 5.1. Model IDs identify pinned versions, updates ship under new IDs and old models retire. Choose the lightest model that does the job, give clear messages with context and format, manage the context window and check current documentation as details change.
Key Takeaways
- Two halves of every answer — the messages you send and the model that reads them both shape the result.
- Roles label the speakers — user, assistant and system instructions tell Claude who is saying what and which rules apply.
- The API is stateless — send the full history each time, while the app keeps it for you.
- Replies carry extra details — content, model used, stop reason and token usage, all worth checking.
- Models differ by tier — Haiku, Sonnet, Opus and the Mythos tier trade capability against speed and cost.
- Model IDs are pinned — dateless IDs are not evergreen pointers, updates get new IDs, and old models eventually retire.
- Choose and verify — pick the lightest model that works, write clear messages, manage context and confirm details in the current documentation.