Every reasoning model produces two things per turn: the answer you see and the reasoning it used to get there. For a year, the practical assumption in multi-model systems was that both were just messages, and that a conversation could be handed from one model to another with its history intact. As of September 1, 2026 that assumption is false at three of the six vendors in this census, in three different ways.
Anthropic’s Claude Fable 5.1 signs its thinking blocks so that only the model that produced them, or a newer one, can read them; a fallback to a cheaper Claude drops them silently. OpenAI’s Responses API persists reasoning items only within a model family, so GPT-5.6 Sol, Terra and Luna share reasoning and GPT-5.5 gets none of it. Google requires thought signatures to be resent unchanged and says its backend handles compatibility when you switch. xAI encrypts reasoning, DeepSeek returns it as plain text and fails loudly if you lose it, and Meta never returns it at all. Our post on the Claude downgrade trap covered one vendor. This is the table for all six, from each vendor’s own documentation, for anyone who builds a router or a fallback chain.
- 01Three vendors bind reasoning; each binds it differently.Anthropic binds by model generation, one way: newer models read older blocks, never the reverse. OpenAI binds by family: GPT-5.6 variants share, GPT-5.5 does not. Google binds by signature and tells you to resend it across a switch without saying what survives.
- 02Only one vendor will tell you the reasoning was dropped, and only if you ask.Anthropic reports drops in input_transformations behind a beta header; without it the drop is silent. OpenAI exposes the effective reasoning.context mode but no per-item drop report. Google and xAI document no signal. DeepSeek returns a 400 instead.
- 03The safe direction is up.At Anthropic a conversation that moves to a newer model keeps its reasoning and one that moves to an older model loses it. At OpenAI, staying inside a family keeps it. A router that starts cheap and escalates never hits the loss; one that starts expensive and falls back always does.
- 04Two vendors have nothing to carry, which is its own design.Meta’s Muse Spark keeps reasoning private, so every turn reasons afresh on any model. DeepSeek returns reasoning as text that any model can read but none is promised to use. Neither breaks on a switch; both pay for it in tokens.
01 — The datasetThe vendor census.
| Vendor | What is bound | What happens on a switch | What the API tells you | Workaround |
|---|---|---|---|---|
| Anthropic (Claude Fable 5.1, Mythos 5.1) | Signed thinking blocks, readable only by the model that produced them or a newer one; on Fable 5.1 also bound to the exact conversation prefix | Up to a newer model: reasoning kept. Down to an older model: the API drops the unreadable blocks, the request succeeds, the older model re-plans from the visible messages | Silent by default. With the thinking-binding-controls-2026-08-01 beta header, input_transformations lists each drop as model_binding_mismatch. Dropped blocks are not billed | Escalate cheap to expensive only; lower effort instead of tier; retry the same model before any fallback; expect refusal fallbacks to Opus 4.8 or Opus 5 to lose reasoning |
| OpenAI (Responses API, GPT-5.6 family) | Opaque reasoning items, persisted by previous_response_id, conversations, or replay; encrypted_content in stateless mode (store: false or ZDR). Reusable only within a model family | Within GPT-5.6 (Sol, Terra, Luna): reasoning carries. Across families (5.6 to 5.5): the API omits incompatible reasoning even with reasoning.context set to all_turns | The response’s reasoning.context field reports the effective mode (current_turn or all_turns). OpenAI’s docs do not describe a per-item drop report | Keep fallback chains inside one family; pass every item between the last user message and a function output back untouched; use previous_response_id where possible |
| Google (Gemini API, Interactions) | Thought signatures: encrypted representations of reasoning carried in thought blocks; required for reasoning continuity across turns | Google’s instruction is to keep resending the previous model’s thought blocks when switching models in a session; “The backend manages compatibility.” Whether reasoning survives a switch is not stated | None documented for a dropped or ignored signature. In stateful mode (store: true plus previous_interaction_id) the server holds the state and the question does not arise | Use stateful mode; in stateless mode resend every thought block exactly as received and never remove or modify one |
| xAI (Grok 4.6, Responses API) | Encrypted reasoning returned only if you include reasoning.encrypted_content; can be sent back “to provide more context” | Not documented. Reasoning cannot be disabled on Grok 4.6 or 4.5 | None documented | Treat encrypted content as model-specific until xAI says otherwise; the Vercel AI SDK includes it automatically unless store is false |
| DeepSeek (thinking mode) | Nothing: reasoning_content is returned as plain text. With tools, it must be passed back in full on every later request or the API returns a 400; without tools it is ignored | Plain text carries anywhere, but only as text. No vendor guarantee that another model uses it as reasoning | A 400 when tools are present and reasoning_content is missing | Store reasoning_content with each assistant turn; expect a 400, not a silent drop, when a tool loop forgets it |
| Meta (Muse Spark, Model API) | Nothing to bind: reasoning “stays private and does not appear in the response body.” Reasoning tokens are billed as output | Nothing to lose; every turn reasons afresh from the visible conversation on any model | Not applicable | None needed for continuity; budget for re-reasoning on every turn regardless of routing |
02 — VendorAnthropic: one-way by generation.
Anthropic’s thinking documentation states the rule in one line: “A thinking block is readable only by the model that produced it or a newer one, and the API ignores or drops the blocks the target model can’t read.” The full list follows. Claude Fable 5.1 and Mythos 5.1 read blocks produced by each other, by Opus 5, Fable 5 and Mythos 5, and by Opus 4.8 and earlier Opus models, the Sonnet models and Haiku 4.5. “No model other than these two can read a block produced by Claude Fable 5.1 or Claude Mythos 5.1.” A dropped block is removed before the prompt reaches the model, does not count toward input tokens and is not billed; the older model “reasons again from the visible conversation.” If the conversation later returns to Fable 5.1 with the same history, its own blocks are readable again.
The drop is silent unless you send the thinking-binding-controls-2026-08-01 beta header, after which responses carry an input_transformations array naming each dropped block with reason model_binding_mismatch. Fable 5.1 adds a second condition that Mythos 5.1 does not check: the block is also bound to the exact conversation prefix, which is the subject of our framework census on history rewriting. For routing, the consequence is the direction rule: Opus 5 to Fable 5.1 keeps reasoning, Fable 5.1 to Opus 5 loses it, and Anthropic’s refusal fallbacks, which target Opus 4.8 and Opus 5, are downgrades by construction.
03 — VendorOpenAI: one family at a time.
OpenAI’s reasoning items are opaque, and the API never returns their text. They persist three ways: through previous_response_id, by attaching a response to a conversation, or by replaying the complete output history yourself; in stateless mode, which applies when store is false or the organisation is under zero data retention, each reasoning item carries an encrypted_content field you pass back. A reasoning.context parameter then controls how much earlier reasoning the model may use: current_turn, the default on earlier models, or all_turns, which the GPT-5.6 family supports and uses by default.
The binding is by family. “Persisted reasoning can be reused only within the same model family. For example, gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna can reuse each other’s reasoning, but reasoning does not carry between the GPT-5.6 and GPT-5.5 families. When you switch model families, the API omits incompatible reasoning from the model’s context, even when reasoning.context is all_turns.” What the API tells you is the effective mode in the response’s reasoning.context field, which OpenAI says to check on every response; the docs we read do not describe a per-item report of what was omitted. For function calling the older rule still applies: pass every item between the last user message and your function output back untouched, even if you trim elsewhere.
Anthropic and OpenAI reached the same design from different directions. Anthropic’s unit is the model generation and the binding is one-way, so an upgrade keeps reasoning. OpenAI’s unit is the family and the binding is symmetric within it, so a switch between Sol, Terra and Luna keeps reasoning in either direction while any change of family loses it. A router that treats the two the same way will be wrong at one of them.
04 — VendorGoogle: resend everything.
Gemini’s thought signatures are “encrypted representations of the model’s internal reasoning” that are “required to maintain reasoning continuity across multi-turn interactions.” In the Interactions API’s stateful mode, with store set to true and previous_interaction_id on later turns, the server manages the thought blocks and “you do not need to do anything regarding signatures.” In stateless mode the rules are capitalised: you MUST always resend all thought blocks exactly as received and should NOT remove or modify them.
On switching models, Google’s guidance is a single sentence: “When switching models within a session, you should still resend the previous model’s thought blocks. The backend manages compatibility.” That tells you what to send and not what you get. Whether a Gemini 3.8 Flash signature carries reasoning into an older Gemini model’s turn, or is quietly ignored, is not stated in the documentation we read, and there is no documented signal either way. Our row records that as “not stated” rather than guessing. For Gemini, the workaround is the stateful mode, which removes the question from your code entirely.
05 — VendorsxAI, DeepSeek, Meta.
xAI
Grok 4.6 returns encrypted reasoning only when you include reasoning.encrypted_content on the Responses API, and xAI says you can send it back “to provide more context to a previous conversation.” Reasoning cannot be disabled. Nothing in the reasoning guide addresses a model switch. The Vercel AI SDK includes the encrypted content automatically unless store is false.
DeepSeek
Thinking mode returns reasoning_content as readable text beside content. If the request carries tools, all previous turns’ reasoning_content must be passed back and is concatenated into context; forget it and “the API will return a 400 error.” Without tools it is ignored. Nothing is bound, and the failure mode is loud rather than silent.
Meta
Muse Spark “works through the problem internally first. That reasoning stays private and does not appear in the response body.” Reasoning tokens are billed as output. reasoning_effort of none returns a 400 on Muse Spark. There is no persisted reasoning to lose on a switch, and no continuity to gain from staying.
06 — DesignRules for a router.
The census reduces to four rules for anyone routing across models mid-conversation. They are stricter than the ones in our cost-routing playbook from earlier in the year, because the vendors changed the ground.
None of this argues against multi-vendor systems. It argues for routing at task boundaries rather than mid-task, for an explicit direction rule per vendor, and for logging the one signal each vendor gives you. That is the discipline our AI transformation practice now builds into every router it ships, and the reason our cross-vendor effort ladder matters more than it did in July: effort is the lever that changes cost without changing the model.
07 — MethodMethodology.
A documentation census across six vendors. Each cell is a reading of the vendor’s current API docs; nothing is inferred from behaviour we did not observe, and silence in a doc is recorded as silence.
- What was collected
- For each vendor: what reasoning artefact the API returns, what it is bound to, the documented behaviour when a conversation moves to a different model, any documented signal that reasoning was dropped or ignored, and the vendor’s recommended handling.
- Sources
- Anthropic: the thinking and preserved-thinking guides and the Fable 5.1 migration guide (platform.claude.com). OpenAI: the reasoning guide (developers.openai.com), sections “Keeping reasoning items in context” and “Preserve reasoning across calls.” Google: the Gemini API thought-signatures page (ai.google.dev). xAI: the reasoning guide (docs.x.ai). DeepSeek: the thinking-mode guide (api-docs.deepseek.com). Meta: the Model API reasoning page (dev.meta.ai).
- As-of date
- Docs read September 3, 2026. The page is dated September 2 for the week it covers; this row is the only statement of the collection date.
- Exclusions
- Open-weight models run on your own infrastructure, where reasoning persistence is whatever your serving stack does. Third-party gateways that translate between vendor formats, which may drop or re-encode reasoning independently of the rules above.
- Known limitations
- Google’s and xAI’s documents do not state what happens to reasoning on a switch; the rows say so and do not test it. Vendor docs change without notice; each row names the page to re-check.
08 — ConclusionThree locks, one direction.
Reasoning is now part of the model, not part of the conversation. Route up, stay in the family, and log the one signal each vendor gives you.
Three of the six vendors bind stored reasoning to the model that made it, and only one of them will tell you when it is dropped. The other three either encrypt it and say nothing about switching, hand it to you as text, or never hand it over at all.
For a router the practical rules are short. Escalate, do not fall back. Keep a fallback chain inside one family. Prefer the vendor’s own state management. And measure quality after every switch, because at two of these vendors that measurement is the only signal you will get.