Chase separates lock-in into three escalating levels. Mildly bad: stateful APIs like OpenAI’s Responses API or Anthropic’s server-side compaction store state on the provider’s server, preventing mid-thread model swaps. Bad: closed harnesses like Claude Agent SDK (built on Claude Code, which is not open source) interact with memory in ways unknown to the developer, so any client-side artifacts are non-transferable to other harnesses. Worst: the whole harness, including long-term memory, sits behind an API — the concrete example given is Anthropic’s Claude Managed Agents, which “puts literally everything behind an API, locked into their platform.” Even nominally open systems drift this way: Codex is open source but generates an encrypted compaction summary usable only inside the OpenAI ecosystem.
The “models will absorb more of the harness” narrative is, in this reading, a euphemism for memory moving behind provider APIs. This directly challenges the assumption that model-provider APIs are stateless-and-swappable forever — see Context is the product, not the model and Proprietary feedback loops create moats that widen with every interaction. The implication for product builders is that any dependence on provider-managed state should be scored against the cost of eventual migration, not treated as free infrastructure. This tightens Memory is where agent lock-in lives — without it, agents are commoditized.