Topic: claude export not working
Claude Export Not Working? Eight Failure Modes and How to Recover
The Settings → Privacy → Export Data flow looks linear, but it fails in eight predictable places. Here's how to tell which one hit you, and the recovery for each.
TL;DR
Most "Claude export not working" reports are one of: (1) email never arrived — wait 30 min, check spam, then re-request; (2) link expired — no recovery, must re-request; (3) ZIP unzips but JSON parser chokes — Artifacts inline inflate the payload past what tree-viewers can hold, use jq; (4) partial ZIP — the download truncated, re-fetch; (5) Projects knowledge-base files / system prompts missing — file bytes aren't in the export by design; (6) mobile dead end — the export flow is web-only, switch to a desktop browser; (7) Team workspace admin block — ask admin or use the DSAR path; (8) silent stuck request — re-request from the same Privacy page, which cancels the prior one. The diagnosis question to ask first: did you ever get the email, and did the ZIP finish downloading?
The right diagnosis question
Before reading the failure modes below, answer two questions: (a) did you ever get the email? and (b) did the ZIP finish downloading?. The first separates request-side failures (modes 1, 6, 7, 8) from delivery failures (mode 2) and post-download failures (modes 3, 4, 5). Most people skip this triage and try the same thing six times — re-requesting won't fix a partial download, and re-downloading won't fix a stuck request. (If you came from the ChatGPT side, the same triage applies — see chatgpt-export-not-working for the symmetric eight modes; the diagnosis question is the same on both platforms.)
Mode 1 — The email never arrived
Symptom: You clicked Settings → Privacy → Export Data, got a confirmation modal saying "you'll receive an email when your data is ready," and you've been waiting 90 minutes with nothing.
Diagnosis: Check three things, in order. (a) Is the email in spam? Sender is on the anthropic.com domain, typically privacy@anthropic.com or noreply@anthropic.com depending on region; subject contains "data export." (b) Does the email address shown on your Claude profile match the inbox you're watching? Single-sign-on accounts sometimes route to a corporate inbox you don't actively check. (c) Has Privacy → Export Data been disabled by your Team workspace admin? On Team plans the export option may be visible but the request silently no-ops if the admin has the toggle off.
Recovery: If all three are clean, request again from the same Privacy page. The system cancels any pending request and starts a fresh one — your old request isn't queued behind the new one. If three re-requests in a row produce no email, treat it as an account-side issue and open a ticket with Anthropic support referencing the request timestamps.
Mode 2 — The download link expired
Symptom: You got the email a few hours ago, clicked the link now, and it returns "link expired" or 404.
Diagnosis: Anthropic's export links are valid for 24 hours from the moment the email is sent. There's no re-download endpoint and no "extend the link" path.
Recovery: Request a fresh export from Settings → Privacy → Export Data. The new ZIP is a full re-snapshot, not a delta from the prior one. Save the ZIP to disk the moment the new download starts — don't leave it open in a browser tab. On a slow connection the link can expire mid-download. (If you're a heavy Artifacts user with multi-hundred-MB exports on a 5–10 Mbps link, start the download immediately on email arrival and don't pause it.)
Mode 3 — JSON viewer chokes on conversations.json
Symptom: The ZIP unzipped fine. You opened conversations.json in VS Code, Notepad++, or your favorite JSON-tree viewer, and the editor froze, hit OOM, or printed a parse error like "Maximum call stack size exceeded."
Diagnosis: The file isn't corrupted — your tool can't handle the size. Claude exports are often bigger than ChatGPT exports of the same conversation count because Artifacts live inline inside chat_messages[].text wrapped in <antartifact> tags rather than in separate files. A heavy Claude user with frequent Artifact use (schemas, code, plans, designs) produces a 50–300 MB conversations.json after a year. Tree-rendering JSON editors hold the entire parsed object in memory plus a DOM for rendering, which kills them at >100 MB.
Recovery: Use a streaming tool, not a tree-rendering editor. jq reads streamingly:
# every conversation name
jq -r '.[] | .name' conversations.json
# count of total conversations
jq 'length' conversations.json
# every conversation that contains an Artifact
jq '.[] | select(.chat_messages[]?.text? // "" | contains("<antartifact"))' conversations.json
# first 5 conversations as compact JSON
jq -c '.[0:5][]' conversations.json
For programmatic access in Node, use stream-json with StreamArray — it parses each top-level array element one at a time. The schema is documented at Claude conversation export format if you need to know which fields exist. If you specifically want to pull every Artifact out as a stand-alone file, the recipe at Claude Artifacts export handles the wrapper schema and MIME-type routing.
Mode 4 — Partial / truncated ZIP
Symptom: The ZIP "downloaded," but unzipping fails with "unexpected end of file" or you get only some of the expected files (e.g., the account JSON but no conversations.json).
Diagnosis: Truncated download. Either the link expired mid-download, the connection dropped, or the browser's download manager flushed before the file was complete. Anthropic's export ZIPs are streamed from object storage; an interrupted stream produces a syntactically-valid-but-incomplete file.
Recovery: Re-download from the same email link if it's still within 24h. If the link is past expiry, request a fresh export. Use a CLI fetcher with retry support if your connection is unreliable: curl -L -o claude-export.zip "<LINK>" --retry 3 --retry-delay 5. Verify the ZIP integrity before deleting any prior partial: unzip -t claude-export.zip — exit code 0 and the line "No errors detected in compressed data" is the success signal.
Mode 5 — Missing Projects files, system prompts, or older Artifacts
Symptom: You exported, opened the files, and noticed your Project knowledge-base PDFs aren't there, or some Artifacts you remember creating last year are missing, or the Project description seems empty.
Diagnosis: Three sub-cases with different shapes. (a) Project knowledge-base files are not in the export — only file names referenced from conversations are present, never the file bytes themselves. This is a privacy + storage decision; Anthropic doesn't ship raw user-uploaded files in the export ZIP. (b) Project system prompts and descriptions ARE in the export, scoped under the project_uuid field on each conversation that belongs to a Project. If you don't see them, you're probably looking at a different shape than expected — see claude-project-export for the per-Project layout reconstruction recipe. (c) Older Artifacts on accounts that pre-date the Artifacts feature are sometimes not retroactively wrapped in <antartifact> tags, so a regex extractor will miss them — they're still in the conversations as plain code blocks, just not flagged.
Recovery: For (a), pre-export download: open each Project, click each knowledge-base file, save it locally, and keep a knowledge-base-files.txt manifest alongside your archive listing the file names. For (b), follow the per-Project rebuild recipe to route conversations by project_uuid and reconstitute the workspace boundary your export collapsed. For (c), fall back to a generic code-block extractor that scans chat_messages[].text for triple-backtick fences in addition to <antartifact> wrappers — older content gets recovered as plain code blocks even if it isn't tagged as an Artifact.
Mode 6 — Mobile app dead end
Symptom: You're on the iOS or Android Claude app, can't find Settings → Privacy → Export Data, or the menu item exists but tapping it does nothing.
Diagnosis: The export flow is web-only as of April 2026. The mobile apps don't surface the request endpoint — Settings on mobile shows account, model selection, and appearance, but Privacy → Export Data is a desktop-web-only path.
Recovery: Open claude.ai in a desktop or mobile browser, sign in with the same account, and request the export from the web Privacy page. The email link works on mobile — only the request step is web-gated. (See the full step-by-step at how to export your Claude conversations.)
Mode 7 — Team / Workspace admin block
Symptom: You navigated to Settings → Privacy and either don't see an Export Data button at all, or it's visible but disabled / greyed out.
Diagnosis: Your Workspace admin has disabled self-service data export. This is a per-workspace toggle on Team plans and is sometimes off-by-default for compliance reasons. There's no user-side workaround.
Recovery: Two paths. (1) Ask the admin to re-enable Privacy → Export Data for your account — the toggle is in the workspace admin panel and is reversible in seconds. (2) If the admin won't re-enable but is willing to pull the export on your behalf, they can submit a data subject access request (DSAR) through Anthropic's privacy team, which produces the same conversations.json shape just routed through compliance instead of self-service. The DSAR path returns the same file structure, so downstream tooling (your search scripts, the WhyChose extractor, the schema reference at Claude conversation export format) all work identically.
Mode 8 — Silent stuck request
Symptom: You requested the export hours ago. The Privacy page now shows the export button is back to its default state (no "request pending" indicator), but no email ever arrived. You don't know whether to re-request or wait.
Diagnosis: Either the request was processed and the email was lost (mode 1), or the request was silently dropped server-side and the UI never reflected the failure. There's no way to distinguish from the user side without telemetry.
Recovery: Re-request. The system treats each request as independent — there's no "queue" you'd be jumping in. Re-requesting is safe and has no documented rate limit (we've personally re-requested up to 3 times in an hour with no throttling). If three re-requests in a row produce no email, treat it as an account-side issue and open a support ticket through the Anthropic help center referencing each request timestamp.
How WhyChose works around all of this
Once you have conversations.json, the extraction itself is decoupled from the export's quirks. WhyChose's open-source extractor reads whatever ZIP you got — partial, full, or re-snapshot — and emits a structured decision log. If you only got a partial download, the extractor still runs over the conversations that did make it; the output is correspondingly partial but valid. If your Project conversations are present, they're processed alongside the others (the project_uuid shows up in the source-conversation metadata so you can filter for them). Artifacts get treated as first-class decision sources — see extract decisions from Claude for the level-4 product-pitch walkthrough. The hosted product runs the same extraction engine; the difference is UI, sharing, and Notion/Linear export. If the export itself is what's broken, the extractor can't help — but everything downstream is robust to whatever shape of file you eventually get.
Related questions
I requested a Claude export and never got the email. What now?
Wait 30 min for the long-tail of slow exports (heavy Artifact users see 5–10% of exports take past 30 min), check spam (sender on anthropic.com), confirm the account email matches the inbox you're watching, and confirm Privacy → Export Data isn't admin-disabled if you're on Team. If clean, re-request from the same Privacy page — it cancels the prior request and starts fresh.
The download link expired. Can I get it back?
No — there's no re-download endpoint. Request a fresh export; the new ZIP is a complete re-snapshot. Save the ZIP to disk immediately on download — the link can expire mid-fetch on slow connections, especially if your account has heavy Artifacts inflating the payload.
conversations.json is huge / fails to parse. Is the file corrupted?
Almost certainly your tool's fault. JSON tree-viewers OOM at >100 MB, and Claude exports are often bigger than expected because Artifacts inline inside chat_messages[].text. Use jq for queries: jq '.[] | .name' conversations.json, or stream-json in Node. If the parser specifically reports "unexpected end of input," the download was truncated — re-fetch.
My Projects knowledge-base files / system prompts aren't in the export.
System prompts ARE in the export under project_uuid; raw knowledge-base file bytes are NOT — only file names referenced from conversations. Pre-export download is the recovery: open each Project, save each knowledge-base file locally, keep a manifest. The full per-Project layout reconstruction recipe is at claude-project-export.
I'm on Claude Team and the Export Data button is greyed out.
Workspace admin disabled self-service export. Either ask them to re-enable the per-user toggle in the workspace admin panel, or have them submit a DSAR through Anthropic's privacy team. Same JSON shape on output, so all downstream tools (jq queries, the WhyChose extractor) work unchanged.
Further reading
- How to export your Claude conversations — the happy-path walkthrough this troubleshooting page assumes.
- Claude conversation export format — what's actually in the file once it does arrive.
- How to search your Claude conversations — once it works, here's how to find anything in it.
- How to export your Claude Artifacts — the Artifacts wrapper schema + jq recipe for pulling them out as separate files.
- How to export a Claude Project — the per-Project rebuild recipe for the system-prompt + KB-manifest layout.
- Extract decisions from your Claude conversations — the WhyChose pitch page for level-4 retrieval.
- ChatGPT export not working? — the ChatGPT-side mirror of this troubleshooting taxonomy.
- The open-source extractor — handles partial and full exports identically, MIT-licensed.