One developer describes running Cursor, Codex, and Claude Code on the same repo — and what actually costs them isn’t the three subscriptions. It’s the handoff.
- Cursor — main window. Composer for multi-file work, Auto for exploratory poking without burning quota
- Codex — long refactors that don’t need a babysitter
- Claude Code — terminal tab for test failures and git surgery
The real tax is context. Cursor and the dev work out how a module should be structured, then the follow-up moves to Claude Code — where none of that exists. So they paste the plan again. Then the review notes. Then the same project rules explained to each tool separately: we don’t use that ORM helper, tests go next to the file, nobody touches the migration folder, ask before adding a dependency. That’s usage spent telling one model something told to a different model this morning.
Second machine, same problem. Whatever context was settled on one box isn’t sitting on the other when it opens.
NOTE
The handoff gap is structural. Cursor doesn’t orchestrate external Claude Code or Codex CLI as part of its loop — you can assign different models to subagents inside Cursor, but a truly independent second pass via external tools isn’t wired in. A community handoff protocol uses append-only files in a shared .handoff/ directory to let two agents collaborate asynchronously — no server, no daemon. But even with files synced, staleness bites: context files confidently describe scripts that were deleted and conventions that were abandoned.
The tools are composable, not integrated. Until one of them owns the context layer across agents, the handoff stays manual — and the tokens you spend re-explaining your own project to each tool is the real cost of running all three.