AI continuity guide · 7 min
Move from ChatGPT to Claude Code without re-explaining your project.
Official ChatGPT export, Tramya import, context loading via MCP in Claude Code. Four repeatable steps, tested on August 7, 2026 with Claude Code 1.0.60 and ChatGPT web.
Why ChatGPT cannot pass its context to Claude Code directly
ChatGPT and Claude Code share no common exchange protocol. OpenAI stores conversations in one proprietary database, Anthropic in another, and neither provider exposes an endpoint that lets the other read your history. A ChatGPT share link (chatgpt.com/share/…) is just an HTML rendering: Claude Code cannot open it, cannot parse it, and cannot trace back to the cited files.
Manual copy-paste breaks at 32,000 tokens on average for an active three-month-old project. At that point you lose the order of decisions, the implicit constraints (for example "no Redis dependency"), and references to files that have already been refactored. A concrete result measured across 200 Tramya sessions in July 2026: 41% of regressions were caused by incomplete context within the first hour after migration.
The repeatable solution comes down to three artifacts: a structured JSON export on the ChatGPT side, a compressed context capsule on the Tramya side, and an MCP server on the Claude Code side. The sections below break down each step with the exact commands.
Step 1: Export the ChatGPT conversation in the official format
Open chatgpt.com, click your avatar in the bottom-left corner, then Settings → Data controls → Export data → Confirm export. OpenAI sends an email containing a ZIP link within 30 minutes to 24 hours depending on load. The link stays valid for 24 hours. The export works on the Free, Plus, Team and Enterprise plans without distinction.
The ZIP contains six files, three of which are useful for migration: conversations.json (all your threads, including Custom GPTs), user.json (preferences and Custom Instructions), and message_feedback.json (the 👍/👎 used to rank validated decisions). Typical size: 8 MB for 300 conversations, 45 MB for 2,000.
Check the integrity with jq '.[0].title' conversations.json. If the command returns null, the file is corrupted and you need to run the export again. Never open conversations.json in an editor that reformats JSON: message IDs are case- and order-sensitive, and Tramya relies on them for deduplication.
Step 2: Import the JSON into Tramya and attach it to projects
Drag conversations.json (or the full data-export.zip provided by OpenAI) into the Tramya window, Import section. Tramya splits the file into individual conversations, detects the language (French, English, code), and suggests a default project based on recurring named entities: repository name, domain, main technology.
Import and indexing run in the background, entirely locally — no network calls. Each thread receives a stable identifier and a list of extracted entities. You then confirm the project assignment in batches through the Triage screen: drag-and-drop, or the 1-9 shortcut to assign to the matching project.
ChatGPT Custom Instructions become Tramya System Preferences at the project level. Files that are cited but missing from the ZIP (ChatGPT does not export uploads) are listed as missing references; Tramya offers to reload them from your local disk or to mark them as obsolete.
Step 3: Generate the context capsule for Claude Code
Open the target project in Tramya and run prepare_handoff --target claude-code --project mon-projet. The command produces a JSON capsule of 800 to 2,000 tokens containing: the list of timestamped durable decisions, the active unresolved constraints, the five most recently changed files with their role, and an index of memories queryable via search_memory.
The capsule is deliberately short. A 2,000-token context in Claude Code leaves 198,000 tokens available for the code and exchanges of the current session, versus roughly 50,000 tokens wasted if you paste the raw ChatGPT conversation. Tramya applies three compression rules: deduplication by semantic hash, eviction of canceled or superseded decisions, and prioritization by weighted recency (weight × 0.7 per elapsed week).
You can preview the capsule before sending it via tramya handoff preview. The Markdown rendering shows exactly what Claude Code will receive, letting you manually remove a confidential decision or add a constraint the automatic extraction missed.
Step 4: Load the context into Claude Code via MCP
Install the Tramya MCP server in Claude Code with a single command: claude mcp add tramya npx -y @tramya/mcp@latest. Restart Claude Code (Cmd+Q then relaunch). Check the connection with /mcp in the interface: the tramya server should appear with the status connected and expose 14 tools including get_project_context, search_memory and save_memory.
In a new Claude Code session, simply type "Load the context for project mon-projet." Claude calls get_project_context, receives the Tramya capsule, and confirms by summarizing the three most recent decisions. You can then continue the work you started in ChatGPT without re-explaining the technical choices, the naming conventions or the dependency constraints.
Decisions made during the Claude Code session are fed back into Tramya via save_memory, called automatically at the end of each non-trivial task. The loop is closed: the same context becomes available again for ChatGPT, Codex or Gemini at the next handoff, with no divergence in history across providers.
Frequently asked questions
Can I import a ChatGPT conversation link directly into Claude Code?
No. ChatGPT and Anthropic share no common exchange format. You have to go through a JSON export (Settings > Data controls > Export data) then an intermediate tool like Tramya that produces an MCP capsule Claude Code can consume.
Do you need a ChatGPT Plus subscription to export your conversations?
No. Data export is available on every ChatGPT plan, including Free. The conversations.json file contains your entire history, with no limit on the number of threads.
How many tokens is a Tramya capsule sent to Claude Code?
Between 800 and 2,000 tokens depending on the depth of the project. Tramya extracts decisions, active constraints and cited files rather than raw text, which cuts consumption by 15 to 40 times compared with a full copy-paste.
Can Claude Code modify the memories stored in Tramya?
Yes. The tramya MCP server exposes save_memory, save_design_decision and prepare_handoff with write access. Claude Code records the durable decisions of the current session, which become available again for ChatGPT or Codex in the next session.
Does the data leave my machine?
Not by default. Tramya storage is local-first: SQLite in ~/Library/Application Support/Tramya/ on macOS. Cloud sync is optional and encrypted client-side before anything is sent.