Claude Code keeps its history in ~/.claude, Cursor keeps its own per workspace, Codex somewhere else again. None of them read each other. So the moment you move a task from one agent to another — because one is better at refactors, another at long CLI runs — the receiving agent starts blind. It re-reads the repo, re-asks the conventions, and re-proposes ideas the previous agent already rejected.
The usual workaround is to paste a paragraph of context into the new tool, by hand, every time. It is slow, it is lossy, and it forgets the decisions that never made it into a message. Context isn't shared between agents by default — it evaporates at the boundary.