Picking a coding agent feels like picking an IDE. It isn't. An IDE never held your team's accumulated context, and switching one never meant rebuilding your delivery workflow. Here's what we check before a team commits, so the exit stays affordable.
1. Where do your agent instructions live? If your agent's behavior is defined in a proprietary config only one tool reads, you'll rewrite it on exit. Keep the real instructions in conventions any runtime can read, and treat tool-specific files as thin pointers to them. The repo should own the knowledge, not the vendor.
2. What survives a switch, and what doesn't? Conversation history, learned patterns, and behavioral tuning don't travel. Assume you lose all of it. The defense is boring: push durable knowledge into the repo as docs, tests, and architecture notes the next agent can read cold. If your codebase only makes sense to the agent that's been living in it, you're already locked in.
3. Are your integrations built on a standard or a primitive? A tool connection built as an MCP server works across most current harnesses. The same connection built on a vendor's own primitive works in exactly one. Cursor shipped subscriptions, pinned modes, per-VM subagents, and a /goal command in a single August release. Useful features, every one, and every one is surface you can't take with you. Count how many your workflow would depend on.
4. Can you export what the agent work produced? Evals, review rules, prompts that took weeks to tune, run logs you'll want for audits. Confirm bulk export exists before you sign, not when you leave. A vendor who can't answer this in writing has answered it.
5. What does leaving cost, priced today? Run the exercise before you commit: if we switched harnesses in six months, what would we rebuild, and how many engineer-weeks is that? If the number scares you now, it'll be worse after a year of accumulation. Sometimes the answer is still yes, the proprietary features are worth it. Fine. Make that a decision, not a discovery.
The pattern behind all five: vendors are competing to own the loop, and every convenience that deepens the loop deepens the exit cost. You don't have to refuse the convenience. You have to price it.
We make this call on live delivery work as part of our AI implementation practice, and the teams that stay portable are the ones that decided to before the first commit.

