How to Migrate Your Context From ChatGPT to Claude
You've spent months teaching ChatGPT how you work -- your stack, your preferences, the way you like answers structured. Then you decide to switch to Claude, and all of it stays behind. Here's what actually transfers (nothing, automatically), the manual process that works, and how to make sure you never have to do this again.
What transfers automatically: nothing
Let's get the disappointing part out of the way. ChatGPT's memory -- both the explicit saved memories and the context it quietly builds from your chat history -- lives on OpenAI's servers in a format nothing else consumes. There is no export-to-Claude button, no API that hands your accumulated context to a competitor, and no third-party tool that genuinely automates the move. Anything claiming otherwise is doing what you're about to do manually: reading text out of one product and pasting it into another.
That's not an accident. Memory is the stickiest feature an assistant has -- the longer you use one, the more expensive leaving becomes. Which is exactly why the migration is worth doing deliberately, instead of abandoning the context you've built and starting from zero.
Step 1: Export what ChatGPT knows
Three places hold your context, and only one of them has a real export.
- Chat history. Settings → Data Controls → Export Data. You'll get an emailed link to a zip containing your conversations as JSON and HTML. This is the bulk archive -- useful as a reference, far too noisy to paste anywhere.
- Saved memories. Settings → Personalization → Memory → Manage. This is the list of facts ChatGPT decided to keep about you. There's no clean download; select the list and copy it into a scratch document.
- Custom instructions. The boxes where you told it who you are and how to respond. Copy these verbatim -- they're the highest-signal text you have, because you wrote them on purpose.
Step 2: Distill, don't dump
The tempting move is to paste the entire conversation export into Claude and let it sort things out. Don't. You'd be burying a few hundred useful facts under megabytes of expired conversation, and no assistant weights buried context well.
What you actually want is a distilled context document -- 500 to 1,500 words, organized roughly like this:
- Who you are: role, domain, what you're building.
- Stack and environment: languages, frameworks, deployment targets, the versions that matter.
- Preferences: tone, formatting, verbosity, "always do X, never do Y."
- Standing decisions: choices you've already made that shouldn't be relitigated.
- Corrections: mistakes you've had to correct more than once.
A shortcut that works well: before you leave, ask ChatGPT itself to write the first draft -- "Summarize everything you know about me, my work, and my preferences as a briefing document for another assistant." Then edit the result against your saved-memories list, because the model will forget real things and confidently include others that were never true. Budget an hour. It's the only genuinely tedious part of the migration, and it pays for itself within days.
Step 3: Load it into Claude
Where the document goes depends on which Claude you're moving to:
- Claude.ai: put the durable parts -- preferences, tone, standing rules -- into your profile preferences in Settings, and attach the full document to a Project as project knowledge so every conversation there starts with it.
- Claude Code: the cleanest landing spot, because context is just files. Global preferences go in
~/.claude/CLAUDE.md; project-specific context goes in aCLAUDE.mdat the repo root. Claude Code reads them at the start of every session, automatically.
Then test it the way you'd test a backup: start a fresh session and ask a question whose answer depends on the migrated context. If the response reflects your preferences without you restating them, the migration worked.
The trap you just rebuilt
Notice what happened, though. You moved your context out of one silo and into another. The document in your Claude profile belongs to Claude now; the CLAUDE.md works beautifully for Claude Code, but Cursor won't read it, and neither will whatever tool you adopt next year. The next time you switch -- and in this market, there will be a next time -- you're doing this same weekend project again, except now your context is scattered across two ecosystems instead of one.
Making it the last manual migration
This is the problem memoir exists for, so let me be precise about what it does and doesn't do. It does not import ChatGPT's memory -- nothing can, and you should distrust anything that says otherwise. What it changes is where your context lives from here on. memoir stores your preferences, decisions, and lessons as plain files on your own disk, served over MCP to any tool that speaks it -- Claude Code, Cursor, and others -- so the same memory follows you across tools instead of belonging to one of them. The distilled document you wrote in Step 2 is exactly the right seed: save it once, and it's the last time your context lives inside somebody's product. When you switch tools again, there's nothing to migrate. See how memory persists between sessions for what that looks like day to day.