Switching AI Coding Tools Without Starting Over
You decided to switch. Maybe Claude Code got better at the thing you do most. Maybe Cursor's inline diffs finally won you over. Maybe the tool you started on was never built to carry a project this far.
So you move the repo, open it in the new tool, and type your first message.
And the new tool asks you what the project is.
The migration nobody warns you about
Moving the code is the easy part. Git already solved that. Code is files, and files travel.
What does not travel is everything that lived in the conversation. Why auth ended up shaped the way it is. The approach you tried in week two and abandoned for a good reason you can no longer name. What you decided about the database, and what you were nervous about when you decided it. The three things you meant to do next.
None of that is in the repo. It was in a chat history that belongs to the tool you just left.
So you rebuild it by hand. You write a long context document from memory, paste it in, and hope you did not leave out the part that mattered. Then a fortnight later you go back to the old tool for one task, and you do the whole thing again in reverse.
The workaround everyone lands on
Most people end up at context portability. Keep a project file. Translate your instructions into whatever format the new tool reads. Generate a resume prompt. Carry the document across the boundary by hand.
It helps. It is also a copy of a copy, and it starts going stale the moment you build anything, because nothing updates it except you remembering to update it.
You end up maintaining a document about your project, alongside the project. That is a second job, and it is the first thing to slip in a busy week.
Every one of these workarounds is a way to carry context across a boundary that should not be there.
What changes when the project holds its own state
PAPI keeps a project's state outside any single assistant. Cycles, tasks, decisions with the reasoning still attached, build reports, direction. It installs as a connector beside whichever tool you are using, and the state it holds belongs to the project rather than the session or the vendor.
That makes switching a non-event. You open the new tool, PAPI hands it the project, and your assistant starts out oriented instead of curious. You do not re-explain anything, and you do not keep a second copy of the project in sync by hand.
It also means you stop picking a tool for life. Use one assistant for the backend and a different one for the interface in the same week. Both read the same project. Both file what they learned back into it.
The honest version
PAPI does not write code, and none of this is magic. Your assistant still does the building. What PAPI holds is the part a chat window was always a bad place to keep: what got decided and why, what got built and what it taught you, what comes next.
We build PAPI with PAPI. The decisions made in cycle 1 are still steering cycle 330.
If you are mid-switch right now
Get the repo into git, if it is not there already. Open it in whichever assistant you are moving to. Install PAPI, which is one config and a couple of minutes, then run setup. It reads the repo as it actually is, rather than as the old chat remembered it. Then run a plan.
For most people the first plan is the moment the project comes into focus, because it is the first time the whole thing sits in one place: what is real, what was decided, what is actually next.
Install PAPI and run your first plan. After that, switch tools whenever you like. The project stays put.
Ready to keep the thread on your own project?