ChatGPT to Claude: Native Import or a Shared Vault

John Rood··4 min read

The first week with Claude makes the gap visible. The project brief, the naming conventions, the decision you settled on Tuesday, none of it crossed over from ChatGPT. There are two ways to close that gap, and choosing between them is simpler than it looks.

What can move, and what cannot

ChatGPT keeps a working memory of its own: the preferences, projects, and corrections it decided to hold onto. You can see it, correct it, and ask it to write everything out in one block. That block is the raw material for any move, because neither path hands over the underlying store directly.

Two limits come with it. It is a compressed picture rather than a full record, so a decision can arrive without its reasoning. "Uses a queue" survives the trip, while "because ordering mattered" may not. And it covers only what ChatGPT currently holds, not the months of conversations underneath.

Path one: Claude's built-in import

Claude ships a native import for exactly this case. You paste the export into the import flow, click Add to memory, and Claude stores the entries it extracts. From there, entries are reviewable and editable in the same memory panel where you fix anything else Claude remembers. One official note worth knowing: Claude's memory is tuned for work topics, so personal details unrelated to work may not stick.

If you are moving once and staying in Claude, this is the right answer. Use it and move on.

The tradeoffs appear on two other paths. Keep working in ChatGPT, whether a project started there or a task simply fits better there, and its memory keeps moving while the imported copy sits still. Two stores, nothing reconciling them. And when a third tool enters the picture, the export-and-paste exercise runs again for each new destination, leaving another copy in another place.

Path two: a vault both assistants read from

Same first step, different destination. The export from ChatGPT gets reviewed line by line, and only what you approve saves into a vault that belongs to no single assistant. The guided version of that transfer takes about two minutes, and nothing lands before your review.

Then the tools attach to the vault. Claude connects through a custom connector and binds to one vault at sign-in (connector docs). ChatGPT connects in developer mode through the MCP server (docs). A coding agent joins later as one more connection rather than one more migration.

To be exact about what this is: not a background sync that mirrors two vendor memories into each other. The vault is the store, and the assistants are readers and writers attached to it. Corrections happen in one place, and the next tool you adopt costs a connection instead of a re-export.

Test the move before you trust it

Run the switch on one fake fact before any real context goes near it.

For the vault path: save a synthetic line ("remember for a demo: the Meridian handoff code is cobalt-42"), open a fresh Claude conversation, and ask for the code without providing it again. The answer only counts when the tool call shows retrieval behind it. Then ask about a code you never saved. If one comes back anyway, you have watched improvisation, and you now know what an unsourced answer is worth.

For the native import path: after importing, ask Claude what it learned, and check a few entries against the block you pasted. An import that dropped half the context is worth catching before the real version gets handed over.

Which path fits

  • A one-time move with Claude as the destination: use Claude's import. It is the official path, and it costs nothing.
  • Both assistants staying in use, or a third on the way: the vault, because the memory then outlives whichever tools you run.
  • The full conversation history, not the current summary: a separate archive import, covered in the import walkthrough.

One project is enough to start: create your MemoryRouter account, move its context over, and confirm recall from a fresh Claude conversation before anything else moves.