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
Anthropic put message threads into public beta on the Messages API on November 2, 2026.
A thread keeps the conversation on the server, so each later turn sends only the new messages and the previous response id.
A thread expires 5 minutes after its last request and is deleted no more than 1 hour after its last use.
Threads do not change pricing or rate limits, and they do not cache your prompt for you.
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
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,
systemandtools, 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.systemandtoolsstay 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 |
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 |
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
- Anthropic: Message threads guide and Claude Platform release notes, November 2, 2026, read the same day.
- X: @ClaudeDevs announcement; time from the post id.
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.
