When an inference API stores your conversation on its own servers, it is not just offering convenience. It is quietly deciding what you can take with you if you leave. That is the argument Earendil makes in a July 30 essay, and it deserves more attention than it has gotten: server-side conversation state functions as a lock-in mechanism whether or not any provider designed it that way.

The mechanism is mundane. A chat session used to mean text in, text out, and whatever you kept was yours to inspect, replay, or hand to a competing model. Modern APIs increasingly replace parts of that text with references only the issuing provider can resolve: encrypted reasoning blobs, response IDs that point at server-held state, compaction summaries the client cannot read. Once enough of a session lives behind those references, switching providers stops being a matter of comparing model quality. It becomes a matter of whether your accumulated history, tool results and delegated work survive the move at all.

Earendil catalogs where this shows up. OpenAI’s Responses API keeps response objects on its own servers unless a developer opts out, and its documentation sets a 30-day floor on that retention, with store: false available but not the default. Google’s Gemini Interactions API also defaults to storage, keeping paid-tier sessions for 55 days. Reasoning tokens on both platforms come back as encrypted content that the calling application has to hold onto unread and hand back untouched on the following turn. Anthropic ties each thinking block’s signature to the specific model version that generated it, and its own documentation instructs developers to discard those blocks once a conversation moves to a different model, meaning the reasoning trace was never built to travel even inside Anthropic’s own lineup.

Compaction is where the piece draws its sharpest contrast. OpenAI’s server-side compaction emits what its own documentation calls an item that is opaque and not meant to be human-interpretable. Anthropic’s equivalent returns a readable content field the client can inspect and hand to a different model. That gap shows the choice is deliberate: a provider that wanted a portable summary could ship one, because a competitor already has.

The multi-agent case is the newest wrinkle. A June 2026 commit to the open-source Codex client, titled to encrypt multi-agent v2 message payloads, means the instructions one subagent sends another now travel as ciphertext the parent application cannot read, even though the application is the one running the agents. An open GitHub issue against Codex asks for a plaintext audit copy alongside the encrypted delivery. That request is a logging change, not a capability tradeoff, and it is the clearest sign of which fixes are cheap.

That distinction matters for reading Earendil’s seven proposed rules. Readable compaction and full-fidelity, auditable logs of subagent communication are engineering decisions Anthropic and the Codex maintainers have already partly shipped or been asked to ship. There is no revenue model that depends on hiding a compaction summary. Making store: false the default, and making reasoning tokens portable across a vendor boundary, is a different category. Stored state is the substrate that lets providers cache context cheaply and lock a session to their own infrastructure, and portable reasoning traces would hand competitors exactly the distilled chain-of-thought data Anthropic’s February 2026 post on distillation attacks was written to stop rivals from harvesting.

A buyer negotiating an enterprise contract today could realistically demand readable compaction output and full audit logs of every subagent message, since a competing lab already sells the first and an open issue is asking for the second. Demanding default store: false or exportable reasoning traces is asking a lab to give up the storage lock-in and the distillation moat in the same clause, and no frontier provider has a commercial reason to sign that.

Anyone building agent infrastructure on a single provider’s Responses or Interactions API should treat that dependency as a contract term, not an implementation detail, and price the cost of a forced migration before signing a multi-year deal.

Based on Earendil’s essay “The Session You Cannot Take With You,” published July 30, 2026.