
Claude API message threads hit public beta with Claude Code numbers
Long agent loops can now send only new messages on the Messages API, and Anthropic says Claude Code saw about 35% lower median time to first token.
If you run a long Claude agent loop on the API, you can stop resending the whole conversation every turn. Add the thread field and the message-threads-2026-08-12 beta header, and each later request carries only the new messages.
What changed#
On Oct 25 we reported that Anthropic's SDKs had a threads helper the API docs didn't list. On Nov 2 at 2:06 PM ET, @ClaudeDevs said "Message threads are now in public beta on the Messages API." The docs now describe the API side, and the blog post says it works on the Claude Platform, Claude Platform on AWS, Claude in Microsoft Foundry and Claude Models on Google Cloud (Anthropic managed). "Standard Claude token rates and existing rate limits apply."
Why it matters#
Anthropic says that "With message threads on by default for most Claude Code users, requests with 500k to 1M tokens see median TTFT drop by about 35%." @ClaudeDevs added that in Claude Code, "In long conversations, the median request went from about 800 KB to 1.8 KB." Both figures are Anthropic's own measurements, and it hasn't published how it took them. It saves time, not tokens: the blog says "Claude still reads the full conversation on every turn, so token usage stays the same."
Good to know#
- Not ZDR or HIPAA eligible. The docs say "Not ZDR eligible" and "Not HIPAA eligible."
- Five-minute expiry. A thread expires 5 minutes after its last request. The docs say "Keep your own copy of every message, and build the replay path from the start."
- Locked fields. Per the docs, sending
systemortoolson a continue request, even as null, returns a 400 error. Changing fixed fields likemodelorthinkingreturnsthread_fingerprint_mismatch. - Caching isn't automatic. "A thread does not cache your prompt for you." A request can carry at most 4
cache_controlbreakpoints, and breakpoints on the create request'ssystemandtoolscount again on every continue. - Streaming. Continue only after
message_stop. - Unsupported. Message Batches, token counting, compaction and most context editing don't work with threads, and "There is no API to list, read, or delete a thread."
- Watch next. Our read: the signal for wider use is the beta header being dropped in the release notes.
Last checked: Nov 2, 2026, 3:50 to 4:00 PM ET. What changed: first published Nov 2.
Sources#
- Message threads (Claude Platform Docs)
- Make long-running agents faster with message threads (Claude blog, Nov 2, 2026)
- Claude Platform release notes, November 2, 2026
- @ClaudeDevs: Message threads are now in public beta
- @ClaudeDevs: Claude Code results
- The Next Web: Anthropic's message threads let Claude agents skip resending chats
- The Daily Bot, Oct 25: Anthropic SDKs add a message threads beta the API docs don't list yet
Steps
- Add the message-threads-2026-08-12 beta header to every request in the thread.
- Send the first request as usual with system and tools, plus "thread": {"type": "create"}.
- On later turns, send only the new messages plus "thread": {"type": "continue", "previous_message_id": "<previous id>"}, and leave system and tools out.
- Keep your own copy of the conversation and replay it in a new create request when a continue returns a 404 thread_not_found.
Find every place this repo calls the Claude Messages API in a multi-turn loop. For each one, tell me whether it could use message threads: does it change system or tools mid-run, use Message Batches, token counting or compaction, run under ZDR or HIPAA, or set more than 4 cache_control breakpoints? List what would need to change and how it would replay on a 404. Don't edit code yet. (ours, untested)