Messages and Models in Claude

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.

!
Read This First

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.

Term 1

Message

One turn in a conversation, either from the person or from Claude.

Term 2

Turn

One side’s contribution before the other side responds.

Term 3

Model

The trained AI system that reads the messages and writes the reply.

Term 4

Conversation

The whole series of messages exchanged, which Claude reads to understand context.

Simple Analogy

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.

i
Key Idea

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.

RoleWho it representsTypical content
UserThe person or program askingQuestions, instructions, documents and images
AssistantClaudeReplies, explanations, drafts and decisions
SystemThe developer or product setting the rulesStanding instructions about role, tone and limits
Simple Analogy

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.

!
Instructions Hidden in Content

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"]
        
FIG 1 — Each request carries the whole conversation so far
1

The program keeps the history

It stores every message so far, in order.

2

It adds the new user message

The latest question joins the end of the list.

3

It sends the whole list

The full history goes to Claude, along with the model name and settings.

4

It stores Claude’s reply

The reply is added to the history, ready for the next round.

Simple Analogy

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.

i
Why It Matters for Cost

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.

Block 1

Text

Words from the user or from Claude. The most common kind of content.

Block 2

Images

Pictures included in a user message so Claude can describe or analyse them.

Block 3

Documents

Files such as PDFs, supported through the documentation’s PDF and file features.

Block 4

Tool requests and results

Claude asking for a tool to be run, and the developer sending the result back.

Simple Analogy

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 replyWhat it tells you
RoleThat the message came from the assistant
ContentThe text, and any other blocks, that Claude produced
ModelWhich model answered the request
Stop reasonWhy the reply ended
UsageHow 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.

Simple Analogy

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.

!
Check for Cut-offs

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.

Difference 1

Capability

How well the model handles hard reasoning, long tasks and subtle instructions.

Difference 2

Speed

How quickly it responds. Lighter models usually answer faster.

Difference 3

Cost

How much it costs per token to run, which differs by model.

Difference 4

Features

Support for certain options, such as thinking settings, which can vary by model.

Simple Analogy

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.

i
Good to Know

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.

TierCurrent modelGeneral character
HaikuClaude Haiku 5.5Light and quick, suited to simple and high-volume work
SonnetClaude Sonnet 5.5Smart and efficient for everyday use
OpusClaude Opus 5.5More capable, for demanding tasks
Mythos tierClaude Fable 5.1, sharing a core with Claude Mythos 5.1Top 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"]
        
FIG 2 — The model tiers from most capable to lightest
Simple Analogy

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.

!
Lineups Change

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.

Fact 1

IDs are pinned

The same ID keeps pointing at the same model for its lifetime, so behaviour stays stable.

Fact 2

Updates get new IDs

A newer version is released under a new ID, so you decide when to move.

Fact 3

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.

Fact 4

Always copy from the docs

One wrong character fails the request, so copy IDs from the documentation, not from memory.

Simple Analogy

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.

i
Planning for Retirement

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.

1

Describe the task

Is it simple and repetitive, an everyday assistant job or a hard reasoning problem?

2

Consider the stakes

A casual draft can tolerate small slips. A costly decision deserves more capability and more checking.

3

Weigh speed and cost

If you need instant replies or huge volume, lighter models are attractive.

4

Test on real examples

Try the same realistic inputs on two neighbouring tiers and compare quality.

5

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"]
        
FIG 3 — A simple path for choosing a model tier
Simple Analogy

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.

!
Do Not Always Pick the Biggest

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
Simple Analogy

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.

Context
Everything the model can consider at once
Output
The most the model can write in one reply
Tokens
The unit both are measured in
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"]
        
FIG 4 — Everything shares the same limited space
Simple Analogy

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.

i
Managing Long Conversations

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.

AspectIn the Claude appIn the API
HistoryKept for youYour program sends it each time
RolesHandled automaticallyYou label user and assistant messages
Model choiceChosen from a menu, depending on planNamed by model ID in each request
Standing instructionsSaved preferences or project instructions, where offeredA system prompt you provide
BillingSubscription plans with usage limitsPay by tokens used
Simple Analogy

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.

Route 1

Claude API

Anthropic’s direct programmatic access, with the widest and earliest feature support.

Route 2

Amazon Bedrock

Claude through Amazon’s cloud, using that platform’s own ID style and controls.

Route 3

Google Cloud

Claude through Google’s cloud, integrated with its identity and billing.

Route 4

Microsoft Foundry

Claude through Microsoft’s platform, for organisations working in that environment.

Simple Analogy

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.

!
Check Before You Commit

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.

Habit 1

State the goal

Say what you want to achieve, not only what to do.

Habit 2

Give context

Include the background, audience and constraints that change the answer.

Habit 3

Separate instructions from content

Mark clearly which text is your instruction and which is material to be worked on.

Habit 4

Describe the output

Say the format and length you want, such as a short list or a table.

Habit 5

Use the system prompt for standing rules

Put rules that apply to every turn, such as tone and role, in the system prompt.

Habit 6

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.”

Simple Analogy

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.

ANTI-PATTERN-01 Avoid
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.

ANTI-PATTERN-02 Avoid
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.

ANTI-PATTERN-03 Avoid
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.

ANTI-PATTERN-04 Avoid
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.

ANTI-PATTERN-05 Avoid
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.

ANTI-PATTERN-06 Avoid
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

Q1What is a message in Claude?

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.

Q2What are roles?

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.

Q3What does stateless mean?

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.

Q4What is a model?

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.

Q5Which models are current?

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.

Q6What is a model ID?

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.

Q7What is a stop reason?

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.

Q8Can I include images in messages?

Yes. Documentation says Claude can read both text and images in requests, and all current models support text and image input.

Q9How do I choose between models?

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.

Q10Where can I find the latest details?

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.