Skip to content
AI EmployeeSuper-AgentsAgent-to-AgentBenchmarksPricingBlog

Claude Message Threads: Send Only the New Messages

At a glanceQuick answers
What are Claude message threads?
A beta Messages API feature that keeps a conversation on Anthropic’s server between turns, so you send only new messages and the previous response id.
Do they cost less?
No. Anthropic says threads do not change pricing or rate limits; the gain is a lower, steadier time to first token.
How long does a thread last?
It expires 5 minutes after its last request and is deleted no more than 1 hour after its last use.
Editorial data illustration on a near-white ground: a tall stack of message cards held on a server on the left, and a single small new card with an id tag traveling to it on the right, beside a large amber 5 min timer, titled Message threads
Fig 0One new message per turn, not the whole history. Made by CellCog's image agent, running GPT Image 2.5.

Anthropic put message threads into public beta on the Messages API on November 2, 2026. A thread keeps the conversation on Anthropic’s server between turns, so a long agent loop sends only its new messages and the id of the last response instead of the whole history. @ClaudeDevs announced it at 19:06 UTC; the release notes and the message threads guide carry the details.

The pitch is speed, not price. The guide says “time to first token stays lower and steadier as the conversation grows”, and states plainly that “Threads do not change pricing or rate limits.” A thread is also short-lived: it expires 5 minutes after its last request and is deleted no more than 1 hour after its last use.

On this page · 7 sectionsOpen
  1. How a thread works
  2. What goes on each request
  3. What threads don’t support
  4. The catch: your app still owns the conversation
  5. What this means if you run AI employees on Claude
  6. What we are watching
  7. Sources
Key points5 · 6 min full read
  1. A chat bubble with a beta tag.
    Anthropic put message threads into public beta on the Messages API on November 2, 2026.
  2. One small card traveling to a stack on a server.
    A thread keeps the conversation on the server, so each later turn sends only the new messages and the previous response id.
  3. A stopwatch beside a trash can.
    A thread expires 5 minutes after its last request and is deleted no more than 1 hour after its last use.
  4. A price tag with an equals sign.
    Threads do not change pricing or rate limits, and they do not cache your prompt for you.
  5. A folder with a small lock and a crossed-out box.
    They skip batches, token counting, compaction, HIPAA-ready organizations and zero data retention, and your app must keep its own copy.

§ 01How a thread works

Animated diagram: on the left each turn uploads a growing stack of message blocks; on the right the server holds the stack and each turn sends one new block plus an id, under a 5-minute expiry timer
Fig 1Without a thread every turn resends the history; with one, only the new message

The guide explains why it helps: “Without a thread, every turn uploads the whole conversation again, and the API validates and tokenizes all of it again.” With a thread, most of that work covers only the new turn. The lifecycle has three steps:

  • Create. The first request carries the full conversation, system and tools, plus "thread": {"type": "create"}. The API stores the conversation, including Claude’s reply, under the response id.
  • Continue. Later requests send only the messages since the last response, plus "type": "continue" and that response’s id. system and tools stay out; the thread keeps the values from the create request.
  • Replay. If the thread is gone, a continue request returns a 404 with thread_not_found, and the app starts a new thread by sending the whole conversation again.

It needs the message-threads-2026-08-12 beta header and works on the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Claude in Microsoft Foundry. The SDKs add a thread helper that builds these requests and does the replay for you.

§ 02What goes on each request

A thread fixes most of the request on the first turn. Anthropic splits the fields into three groups.

Group Fields Rule
Create-only system, tools Send on the create request only; sending either on a continue request returns a 400
Fixed model, tool_choice, thinking, mcp_servers, context_management, output_config, top-level cache_control, beta headers Same values on every request; a change returns thread_fingerprint_mismatch
Free max_tokens, stop_sequences, stream, metadata, service_tier Can change from turn to turn
Table 1Message threads request fields, per Anthropic’s guide (read November 2, 2026)

Two details matter for anyone already using prompt caching. First, “A thread does not cache your prompt for you.” Caching works as before: you place the breakpoints, or send a top-level cache_control on every request to cache each turn. Second, a request with a thread can carry at most 4 breakpoints, and the top-level one counts as one of them.

The API also does not store MCP server URLs, MCP authorization tokens or the container id, so those go on every request that uses them.

§ 03What threads don’t support

Feature or setup What happens
Message Batches A batch item with thread ends in an invalid_request_error
Token counting A request with thread returns a 400; count the full conversation instead
Compaction Not available with threads; a 400 if a request sets it
Context editing Not supported, except one mode (clear_thinking_20251015 with keep all)
HIPAA-ready organizations Not supported
Inference hooks Not supported
Zero data retention Threads are not eligible
Table 2Features and setups that message threads don’t support, per Anthropic’s guide (read November 2, 2026)

On retention, the guide says a thread’s contents are “held in memory, encrypted under a server-managed key, never written to durable storage” and deleted within an hour of last use. There is also “no API to list, read, or delete a thread.”

§ 04The catch: your app still owns the conversation

Anthropic is direct about it: “Your application stays the source of truth for the conversation.” A thread is best-effort, and no response says whether the API stored that turn; you find out on the next continue request. The guide lists the reasons a continue can fail, including an expired thread, a response cut off mid tool call by max_tokens, a reply written by a fallback model, or a first image in a conversation that had none.

So the work moves rather than disappears. An agent loop that uses threads still keeps every message itself and needs a replay path from day one. What it saves is upload and tokenizing time on each turn of a long conversation, which is where time to first token grows.

This sits next to other recent moves on the same problem. OpenAI added a 12-hour prompt cache to its Responses API in October, and Anthropic said its Rust rewrite of the Messages API cut time to first token by 10 to 20 percent.

§ 05What this means if you run AI employees on Claude

Our position, declared: we build CellCog, and every tier of our AI employees runs on Claude Opus 5.5 through the API. Long agent loops are what we run all day, so this is the kind of change we read closely. We have not said we use threads, and nothing here changes what our employees do today.

The 5-minute expiry is the number to plan around. A loop that waits on a person, a tool or a schedule for longer than that will replay the whole conversation anyway, so threads help most where turns come quickly.

§ 06What we are watching

  • General availability. The feature is in beta on every model today.
  • Batches and compaction. Whether threads come to the two features they skip now.
  • Measured gains. Anthropic gives no time-to-first-token figure for threads; independent numbers would settle how much they help.

§ 07Sources

Frequently asked5 questions

Q1How do I turn on message threads?

Add the message-threads-2026-08-12 beta header and a thread field to a Messages API request: type create on the first turn, type continue with the previous message id after that.

Q2Do message threads replace prompt caching?

No. A thread does not cache your prompt; you still place cache breakpoints or send a top-level cache_control, with a limit of 4 per request.

Q3What happens when a thread expires?

A continue request returns a 404 with thread_not_found, and you start a new thread by sending the full conversation again. The SDK helper does this replay for you.

Q4Are message threads eligible for zero data retention?

No. Anthropic holds a thread in memory, encrypted, never on durable storage, and deletes it within an hour of last use.

Q5Where are message threads available?

On the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Claude in Microsoft Foundry, in beta on every model.

Published 02 November 2026 All Choosing a platform →