Advanced ChatGPT transfer

Recover the Exact Details from Your ChatGPT History

Use your official ChatGPT export and MemoryRouter's deterministic local importer. Preview the exact plan, approve one digest, resume safely, and keep a reconciled receipt.

Advanced guide · 12 min read · Updated

Advanced import is live

Your archive stays local until you approve the exact plan.

The importer deterministically reconstructs supported text messages from the official export. It reports exclusions and unsupported content instead of pretending every byte was imported.

Basic or Advanced

Choose how much history you need.

BasicAbout 2 minutes

Move what ChatGPT remembers.

Transfer a reviewed profile from what ChatGPT can currently recall or expose. Fast and useful, but not your old transcripts.

Use the Basic transfer
AdvancedOfficial export

Want the exact details from years of old conversations?

Use the deterministic importer below for supported messages in your official ChatGPT export, with approval, resume, cancellation, and a receipt.

Start Advanced import

Get the official source

Request your ChatGPT data export.

Download the ZIP yourself and keep one untouched copy. MemoryRouter never needs your ChatGPT password, cookies, mailbox, MFA code, or private download link.

  1. 01

    Sign in to ChatGPT

    Use the account that owns the conversations. MemoryRouter does not sign in or request the export for you.

  2. 02

    Open Settings

    Open your profile menu, then choose Settings.

  3. 03

    Open Data Controls

    Find Export Data under Data Controls.

  4. 04

    Confirm the export

    Choose Export and confirm the request. If this option is not available, use OpenAI’s Privacy Portal.

  5. 05

    Wait for OpenAI

    OpenAI says delivery can take up to seven days. Wait for the existing request instead of submitting it repeatedly.

  6. 06

    Use the time-limited link

    Open the email or SMS while signed in to the same account. OpenAI says the download link expires 24 hours after receipt.

  7. 07

    Keep the original ZIP intact

    Download it to private local storage. Keep one untouched backup and do not rename, edit, extract over, or upload it yet.

Recommended

Let a local agent guide the released importer.

Paste this into Codex, Claude Code, or another agent that can access local files and run terminal commands. The agent launches deterministic software. It does not read the archive into model context or invent its own migration.

Prompt for a local filesystem-capable agent
Help me import my official ChatGPT data export into MemoryRouter with the released deterministic importer. You are the guide, not the parser.

Rules you must follow:
1. Work only with a local official ChatGPT export ZIP or extracted folder that I select. Never ask me to paste archive contents, a download link, or raw conversation text into this chat.
2. Use the released @memoryrouter/cli chatgpt-import commands. Do not improvise parsing, graph reconstruction, ordering, chunking, deduplication, billing, or receipt logic.
3. Never ask me to paste or reveal my Memory Key. If authentication is needed, stop and tell me to run the authentication command myself in a separate private terminal.
4. Preserve the original archive unchanged. Use a separate local workspace for importer state.
5. First run inspect locally. Then run prepare locally against my selected destination vault.
6. Show me the complete prepare result: destination fingerprint, conversations and messages selected, date range, exclusions, off-branch and skipped counts, sensitive-category flags, unsupported-content reporting, estimated tokens, current rate, estimated cost, and the exact approval digest.
7. Write nothing before approval. After showing that preview, stop. Require me to approve that exact digest in a later turn. An earlier yes, a generic approval, or your own judgment is not authorization.
8. Only after my later explicit approval of the exact digest, run approve and then run. If interrupted, use resume. Show status when useful. If I ask to stop, use cancel and do not launch more batches.
9. At terminal state, fetch the immutable receipt. Reconcile expected records against stored, duplicate, skipped, failed, conflict, reserved, in-progress, and unstarted totals. Reconcile actual billing too. Do not claim unsupported or excluded content was imported.
10. Keep the source archive until the receipt reconciles. Then help me connect the same MemoryRouter vault in Claude and verify one imported detail through a visible MemoryRouter result.

Begin by confirming that you can access local files and run terminal commands. Then ask me for the local path to the official ZIP or extracted folder. Do not inspect anything until I provide that path.

What happens next

Preview first. Write only after exact approval.

  1. 01

    Inspect the archive locally

    The importer opens the ZIP or folder under strict path, size, entry, encoding, and schema limits. It reports every discovered shard without sending conversation text to a model.

    Available
  2. 02

    Prepare the exact preview

    Review destination fingerprint, selected messages, date range, exclusions, skipped and off-branch counts, sensitive flags, unsupported content, estimated tokens, current rate, and estimated cost.

    Available
  3. 03

    Approve one digest

    Approval binds the exact preview and current price. No batch can write before the server accepts that digest.

    Available
  4. 04

    Run or resume safely

    Bounded batches use durable record and batch fences. Re-running a committed batch does not create new vectors or a second charge.

    Available
  5. 05

    Cancel or reconcile

    Cancellation stops future batches and preserves truthful partial state. A terminal receipt accounts for every approved record and actual billing.

    Available
  6. 06

    Continue in Claude

    Connect Claude to the same destination vault, explicitly recall one imported detail, and continue the work from there.

    Available

CLI fallback

Run the same deterministic workflow yourself.

Install the released CLI, authenticate in your private terminal, and replace the example paths. The prepare command does not write conversation records.

npm install --global @memoryrouter/cli
memoryrouter auth <your-memory-key>

memoryrouter chatgpt-import inspect /path/to/export.zip
memoryrouter chatgpt-import prepare /path/to/export.zip --out ./mr-chatgpt-import

# Stop here. Review the preview and exact approval digest.
memoryrouter chatgpt-import approve ./mr-chatgpt-import
memoryrouter chatgpt-import run ./mr-chatgpt-import

# Controls and reconciliation
memoryrouter chatgpt-import status ./mr-chatgpt-import
memoryrouter chatgpt-import resume ./mr-chatgpt-import
memoryrouter chatgpt-import cancel ./mr-chatgpt-import
memoryrouter chatgpt-import receipt ./mr-chatgpt-import

Keep the Memory Key out of chat.

Run authentication yourself in a private terminal. Do not paste the key into an agent conversation, prompt, screenshot, workspace, manifest, or receipt.

Privacy and content boundaries

Supported text is imported. Everything else is reported honestly.

The current deterministic path imports canonical user and assistant text messages. Off-branch messages, skipped nodes, optional memory files, attachments, tool payloads, and unknown structures are excluded or reported, not silently claimed as imported.

  • Raw archive content is parsed locally by the CLI, not pasted into model context.
  • The original ZIP remains unchanged. Keep it until the terminal receipt reconciles.
  • Only records bound to the approved destination fingerprint and digest can launch.
  • Replays and full reruns use durable destination and batch fences to prevent duplicate storage and charges.
  • The receipt contains counts, IDs, billing totals, and reconciliation state, not message plaintext or your Memory Key.

Troubleshooting

Resume safely instead of starting over.

The payoff

Bring the history into Claude.

After the receipt reconciles, connect Claude to the same MemoryRouter vault. Ask Claude to use MemoryRouter to recall one imported detail, then continue the original work.

  1. 1Keep the reconciled receipt and original export.
  2. 2Connect the same destination vault in Claude.
  3. 3Verify one imported detail through a visible MemoryRouter result.

New to the idea? Start with how AI memory works, see the two-minute ChatGPT to Claude memory transfer, or check pricing.