All posts Claude API

Preserved Thinking: Rewrite the Past, Lose the Reasoning

November 5, 20265 min read

Illustration: a locked block of AI reasoning, linked to a conversation and a shield

Every time your code continues a conversation with Claude, it sends the whole history back: the system prompt, the tools, every earlier message and the reasoning Claude produced along the way. To stop distillation, the copying of Claude's reasoning to train other models, Anthropic's API now checks that history. Each earlier thinking block must come back with exactly the context that produced it. Change anything before it, and the request fails or Claude answers without that reasoning.

4 modelscheck it today: Claude Fable 5.1, Opus 5.5, Sonnet 5.5 and Haiku 5.5
Aug 31, 2026accounts created on or after this date are checked now; older accounts follow with upcoming model launches
0 changesfor Claude Code, Claude Cowork and Claude.ai, which handle thinking blocks themselves

What changed

Claude's reasoning comes back to you as encrypted thinking blocks. Your code can store them and send them back, but it can't read them. Until now, though, nothing stopped it from editing the conversation around them.

On the four models above, the API binds each thinking block to everything that came before it: the system prompt, the tool definitions and the earlier messages. Adding new turns at the end is fine. Rewrite anything above a thinking block and the request fails, unless you opt into non-strict mode, which drops that block, tells you which one, and lets Claude answer without it.

Each thinking block is locked to the history above it

Locked to the thinking below System prompt Tools Your message
Claude's thinking Claude's answer Your next message

Add your next message at the end

Nothing above the thinking changed, so Claude keeps its reasoning.

Edit anything inside the dashed box

By default the API returns an error. In non-strict mode it drops that thinking block and says so.

Everything above a thinking block must come back unchanged. New messages go below it.

Why: to stop distillation

Distillation means training an AI model to imitate a stronger one, the way a student might learn by copying a top student's worked answers:

  1. AskSend the strong model thousands of questions.
  2. CollectSave every answer and the reasoning behind it.
  3. CopyTrain a new model to answer the same way.

Done to someone else's model without permission, that's copying, and Anthropic's terms prohibit it. The copy can also end up with Claude's abilities but without the safeguards Anthropic builds against misuse such as cyberattacks and weapons development.

The reasoning is the part copiers want most, which is why Claude's thinking comes back encrypted. Editing the conversation before a thinking block was a known way to make Claude reveal it anyway. Checking the history closes that gap.

Who it affects today

The check starts with new accounts, where Anthropic sees the most copying, so existing customers get time to adapt.

Accounts created on or after Aug 31, 2026 (00:00 UTC)Older accounts
The Claude APIClaude Fable 5.1, Opus 5.5, Sonnet 5.5 and Haiku 5.5Checked nowNot yet: follows with upcoming model launches
Claude Code, Claude Cowork, Claude.aiNothing to changeNothing to change

An account here is a Claude Platform organization, an Amazon Bedrock account, a Google Cloud Vertex AI project or a Microsoft Foundry project. Source: Anthropic.

That has a practical catch: a new AWS account or Google Cloud project, say for a new environment, gets the check first. The same code can work in an older production account and fail in a newer staging one, so test against your newest account.

Where the edits hide

Few teams think they rewrite history, but these everyday patterns do:

What your integration does todayDo this instead
Compacts the conversation itselfdrops or summarizes older turns to save tokensLet the API do it with compaction (beta): it summarizes older turns, keeps the latest ones word for word and can build the summary in the background.
Rebuilds the system prompt every turnwith the date, the environment or a reminderSend it once and resend it unchanged. Put anything new in the newest turn, as text or a mid-conversation system message.
Adds or removes tools mid-sessionUse mid-conversation tool changes (beta), which change the tool list without editing earlier turns.
Trims old tool results laterShorten a result before you first send it, never after.
Runs requests through middlewareserializers, SDK wrappers, proxiesCheck that it sends thinking blocks back exactly as received. A serializer that drops empty fields or reorders blocks counts as an edit.

Check each feature's page for availability on Amazon Bedrock, Google Cloud Vertex AI and Microsoft Foundry. Anthropic's preserved thinking documentation and migration guides cover the remaining cases.

Thinking now belongs to one account

A second rule starts with Claude Sonnet 5.5: a thinking block can be read only by the account that created it, or by an account linked to it. That keeps a leaked or shared transcript from exposing private reasoning, and stops distillers from moving harvested transcripts to fresh accounts after a ban.

Who can read a thinking block

Thinking created by account A

Sent back by account A, or an account linked to it

Claude reads its earlier thinking. Accounts in the same Claude Platform parent organization, or the same Google Cloud organization, are linked automatically.

Sent back by any other account

The thinking is dropped without an error, and the next response is slower and uses more tokens.

Your Anthropic account team can link accounts across organizations and clouds, for example a Claude Platform organization and an Amazon Bedrock account.

This rule never returns an error, so its cost hides in the next response: slower, with more tokens, much like after a compaction. Two places to look:

  • Failover between providers. If conversations move between the Claude Platform and Amazon Bedrock, ask your account team to link the accounts, or each failover costs a slower, pricier turn.
  • Switching accounts in Claude Code. A developer who changes accounts mid-session, say from a personal login to the company's, pays the same price on the next turn.

Append-only pays twice

Leaving history alone pays a second time. Prompt caching works only while each request starts exactly like the one before it, so an edit that trips the thinking check also throws away the cache from that point on, and everything after it is billed at full price again. Anthropic says as much: consistent thinking blocks mean more cache reuse, lower cost and faster responses.

Model routing pays twice too. A mid-session switch already costs the cache (see The Model-Switch Toll), and because Anthropic limits moving reasoning from more capable models to less capable ones, switching down a tier can cost the reasoning as well.

So one rule now covers reasoning, cost and speed: add to the end of a conversation, and never rewrite the middle. If your code, or anything between it and the API, rewrites earlier turns, find it now, before the check reaches older accounts with the next model launches.

Where ZuzAI fits

ZuzAI records every AI request's model, tokens, cache reads and cost, by person, tool and repository, so a turn that suddenly costs more than the one before it shows up as a line item instead of disappearing into the monthly total. It runs inside your own tenant.

Published by ZuzAI on November 5, 2026.

Runs inside your own tenant. Governs every AI tool your teams already use.See every AI flow.
Govern every AI dollar.

Talk to Us

Works with

  • Claude
  • ChatGPT
  • Gemini
  • xAI
  • Microsoft 365 Copilot
  • GitHub Copilot
  • Cursor
  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud