← All posts

How to export your Claude chat history (and Grok, which has no export at all)


You usually discover how fragile your AI chat history is the day you go looking for a conversation that isn’t there. It happens quietly: in late June, The Register reported that Claude Code users were finding their local chat records mysteriously wiped out by a retention setting, cleanupPeriodDays, that defaults to 30 days and runs on startup with no warning and no recovery path. Add a banned or lapsed account you can’t sign into, and the export button is too late. Here’s how Claude’s official export works, what it doesn’t cover, what to do about Grok — which has no export at all — and what an actual backup looks like.

Claude’s official export, and its limits

Claude has an export. In settings, under privacy and data controls, request your data; some time later you get an email with a link to a ZIP of your conversation data as structured JSON.

That’s a compliance-grade snapshot of everything as of the day you asked. As a way to keep your history, it has real limits:

  • It’s a bulk snapshot, not a living copy. You get everything up to the moment you requested it and nothing after. To stay current you keep requesting.
  • It’s JSON, not something you’d read. Turning it back into legible conversations, with code blocks and tables intact, takes work or a separate tool.
  • You have to remember to do it. It only protects conversations you had before you ran it. The ones you’ll wish you had are usually from after.
  • It needs an account you can still access. If you’re locked out, the export button is behind the lock too.

It’s a fine fire drill. It just isn’t a smoke detector.

claude.ai and Claude Code are two different histories

Exporting one does nothing for the other. Your claude.ai chats come out through the settings export above. Claude Code’s history lives as transcript files on your machine under ~/.claude — the ones the cleanupPeriodDays cleanup deletes, and the account-level export won’t save them. So “I exported my Claude data” can be true and still leave the Claude Code sessions unprotected. Two stores, two backups.

Grok: there’s no export button

As of this writing Grok has no built-in export and no extension of any real adoption filling the gap. That leaves the manual options:

  • Copy-paste, conversation by conversation. Works once, mangles formatting the moment a conversation contains anything structured.
  • Screenshots. Fine for a keepsake, useless for anything you’d search, quote, or re-feed to a model.
  • Export weekly by hand. Do the labor yourself, forever, and hope you never skip the week that mattered.

For a tool people increasingly use for real work, that’s a lot of history on a platform that can lose it with no way to get it back.

What a real backup actually looks like

A backup is the opposite of an export in almost every way.

An export A real backup
When you get it On-demand, if you remember Continuous, as the conversations happen
Where it lives Behind your login A folder you own, on your machine
Format A JSON dump to decode Markdown you can open, search, and link
Getting it back Wait for a zip; the link expires Already yours, nothing to request

Doing it with Carry

Carry is a browser extension built to be that copy — the capture layer for your AI conversations, not another exporter. What it does today, no more:

  • You pick a folder. Carry writes into it directly; nothing goes to a server, and there’s no account to create.
  • You connect the providers you use — ChatGPT, Claude, and Grok. Carry uses the session you’re already logged into, so there’s no API key. Grok is a first-class provider here.
  • You open the toolbar popup and sync. Carry pulls your most recent conversations — around the last twenty per provider — and writes each as a clean Markdown file, code blocks and tables intact, because it reads each provider’s own data rather than scraping the page.
  • Re-syncing updates in place. Each file is matched to its conversation by id, so running it again overwrites rather than spawning conversation (3).md.

Today that sync is manual — you click it. Automatic capture is on the way but doesn’t ship yet. Even manual, it changes the problem: your Claude and Grok conversations become Markdown files in a folder you control, no export request required. (If Obsidian is where your notes live, point Carry at your vault — there’s a dedicated walkthrough for that.)

The history you’d miss is rarely the history you remembered to export. Keep the copy before you need it.


Carry is local-only — no server, no account, and only the providers you connect. It syncs Claude, ChatGPT, and Grok into your own folder as Markdown — see how it works to get started.

Carry it home.

Sync your ChatGPT, Claude, and Grok conversations into your own folder — as clean Markdown, local-only.

Add to ChromeSoonSee how it works