Every coding agent now ships some form of recall. Rules files, memory banks, learned preferences, session summaries. All of it shares one property nobody advertises: it belongs to the tool, not to you.
Switch from one agent to another and the accumulated context does not come with you. The new tool starts cold, repeats the mistakes the old one had finally stopped making, and begins accumulating its own private history that will die at the next switch. Teams running more than one agent, which is most teams now, pay this cost in parallel: each tool learns the same lessons separately, at the team's expense.
The lock-in nobody chose
This is not a conspiracy. Each vendor built memory the obvious way, inside their own product, keyed to their own sessions. But the sum of obvious decisions is a switching cost that compounds every week you use a tool. The better an agent's memory gets, the more it costs to leave. That is lock-in by accumulation, and it arrives without anyone signing an enterprise agreement.
The escape is structural, not contractual. Knowledge about a codebase should live with the codebase and be readable by whichever agent shows up. One team history, written and read by every connected tool over a common protocol, so the agents stay interchangeable while the memory stays put.
What survives a switch
Held to that standard, the inventory of what should survive a tool switch is exactly the inventory of what teams keep losing: decisions and their reasons, constraints that are not visible in the code, attempts that failed and why, review outcomes that keep being re-argued.
None of that is agent-specific. There is nothing about a rejected approach to connection pooling that belongs to one vendor's product. Storing it inside one is a category error we have all been making because the storage happened to be within reach.
The memory outlives the tool. That is the whole position. Agents will keep getting better and teams will keep switching between them, faster than anyone plans to. The knowledge a team accumulates while working should be the one thing that does not reset when they do.