← All posts

How to export Claude chat history before you lose it


To export your Claude chat history, open Settings → Privacy on claude.ai or in Claude Desktop and click Export data. Claude emails you a link to download all your chats, and the link works for 24 hours. The catch is what the export can’t do. It can’t move your chats into another personal account. It only works while you can still sign in. And it has no option for one chat or one project. Each of those is covered below, using Anthropic’s help articles as the source.

How to export your Claude chat history

  1. On claude.ai or in Claude Desktop, click your initials in the lower-left corner and open Settings.
  2. Open Privacy and click Export data.
  3. Wait for the email, then download the export while you’re signed in to Claude. The link expires 24 hours after it arrives.
Where
claude.ai or Claude Desktop. Not the iOS or Android apps.
Who
Free, Pro and Max accounts. On Team and Enterprise plans, only the primary owner can export, and it covers the whole organization.
What’s in it
Your conversation data and account data, per Anthropic.
Link
Sent to your account’s email. Works for 24 hours after delivery, and only while you’re signed in.
Moving it
It can’t be imported into another personal account.
Got a manifest file instead of a zip?

Some people report the download is now a manifest-….json that links to several zips. Download each one; your chats are inside.

What Claude’s data export includes, and what it leaves out

Anthropic says the export holds your conversation data and account data. It doesn’t describe the file format, and it doesn’t mention projects, artifacts or files Claude made. In practice:

  • It’s a snapshot. It holds your chats as of the day you asked, which makes it good for an occasional full copy. Anything newer needs another request.
  • It’s made for programs. People who open recent exports report JSON files such as conversations.json and projects.json. To read a chat comfortably, you need a converter.
  • It’s all or nothing. There’s no option for one chat or one project.

Here’s one chat in that shape, next to the Markdown file that Carry (the extension we make) saves for it:

What you download JSON

conversations.json, one chat, trimmed

[
  {
    "uuid": "5f0c7b2e…",
    "name": "Out-of-office reply",
    "created_at": "2026-10-09T16:02:11.482913Z",
    "chat_messages": [
      {
        "sender": "human",
        "text": "Write a short out-of-office reply…",
        "content": [{ "type": "text", "text": "…" }]
      },
      {
        "sender": "assistant",
        "text": "Thanks for your email. I am away…"
      }
    ]
  }
]

What Carry saves Markdown

2026-10-09-out-of-office-reply.md

---
conversation_id: "5f0c7b2e-14d9-4a3e-b8c6-91e2f7a0d435"
source: claude
type: conversation
title: "Out-of-office reply"
aliases:
  - "Out-of-office reply"
tags:
  - capture/claude
created: 2026-10-09T16:02:11
updated: "2026-10-09T16:02:19.307Z"
verified_list_token: "2026-10-09T16:02:19.307Z"
conversation_files_fetched: true
synced: 2026-10-09T16:15:44
url: "https://claude.ai/chat/5f0c7b2e-14d9-4a3e-b8c6-91e2f7a0d435"
message_count: 2
capture_version: 2
content_hash: sha256:d77498646d5e54de2ba991b75ee36d000a30dcedfcdc8a1deb1bcd316886d0ca

---
**Human**

Write a short out-of-office reply for next week. Priya covers anything urgent.

**Assistant**

Thanks for your email. I am away from 13 to 17 October with no access to email. For anything urgent, please contact Priya at priya@example.com. I will reply when I am back on 20 October.
Anthropic doesn’t document the export format; this shape comes from user reports.

The Claude exporter page compares what each route saves, row by row.

Can you move Claude chats to another account?

Not between personal accounts. Anthropic says exported data can’t be imported into another personal account, and personal accounts can’t move data between each other. Two cases work differently:

  • Joining your company’s Team or Enterprise plan. You may be able to move your personal account into the organization’s workspace, chats and projects included. It’s one-way: once moved, your work can’t go back to a personal account.
  • Changing your email address. Claude can’t change the email on an account. Anthropic’s workaround is a new account, and deleting the old one removes its chats and projects for good. Export first.

What does work is keeping your chats as files and bringing over the parts you need. Attach an old chat to a new conversation, or add it to a project’s files in the new account, and Claude has the context again. This is much easier when each chat is its own file than when everything sits in one export.

Before you lose access to Claude

Claude has no passwords. You sign in with Google or with a link sent to your email, and the export link goes to that same email. So the time to save your chats is before the account, the plan or the inbox goes away.

Situation What Anthropic says What to do
Leaving a job that owns your email The email on an account can’t be changed. Sign-in and the export both rely on it. Export or save your chats before your last day.
Leaving a Team or Enterprise plan Members can’t export their own data. The primary owner can export the organization’s data, and a removed member’s data stays in those exports. Members: ask the primary owner before you go. Owners: Organization settings → Data and privacy.
Downgrading or cancelling Its help articles don’t say what happens to projects. One user lost access to older projects when a Max plan ended; others in the thread saw no change. Save your projects before the plan ends.
Deleting your account Your chats and projects are gone for good. Export first.
Account banned Free, Pro and Max users can still sign in to export or delete. What you can export may be restricted. Sign in at claude.ai and use the options shown with the appeal form.

If the email is already gone, look for a place you’re still signed in, such as a browser or Claude Desktop. That session is your window, because the export link can’t reach you and you can’t sign back in without the inbox. Anthropic’s help articles don’t describe a way to export from an account whose email you’ve lost. Copy what matters while the session lasts. If you’re signed in through Chrome or another Chromium browser, Carry can save your chats from that session. Once you’re signed out or banned, it can’t reach them either.

Why select-all and print stop partway through long Claude chats

People report that select-all on a long Claude chat copies only about two pages, and that printing it comes out blank. Both work from the page in front of you, not from the chat itself, so they only get what the page has drawn.

The export avoids this, because it comes from your account rather than the page. So does any tool that reads the chat’s data instead of the page. Whatever you use, open the copy and check:

  • The first message is there.
  • The last message is there.
  • A phrase from the middle turns up when you search the file.
  • Code blocks and tables kept their formatting.

How to export a Claude project

Claude has no export for a single project. The account export may include your projects, but Anthropic doesn’t say. A user report on GitHub found that chats in conversations.json don’t record which project they belong to. So getting every chat from one project out of the export means matching them by hand. Doing the whole project by hand is three jobs: copy the instructions, download each file, and save each chat.

Carry does all three for you. It saves each project as a folder with its instructions, its files, an index note and its chats, and each chat names its project in its frontmatter. Project files download when you click Save all. Projects in Claude’s newer threads view don’t include their file library yet. Here’s a sample project folder, written by Carry:

Your folder7 files

2026-09-07-pomodoro-timer-page.md1 KB

A chat with an artifact

---
conversation_id: "3f6a9c2e-8b14-4d7a-9e05-6c1b2d4f8a13"
source: claude
type: conversation
title: "Pomodoro timer page"
aliases:
  - "Pomodoro timer page"
tags:
  - capture/claude
created: 2026-09-07T13:02:18
updated: "2026-09-07T13:09:44.617Z"
verified_list_token: "2026-09-07T13:09:44.617Z"
conversation_files_fetched: true
synced: 2026-09-07T13:30:05
url: "https://claude.ai/chat/3f6a9c2e-8b14-4d7a-9e05-6c1b2d4f8a13"
documents:
  - "Pomodoro timer"
message_count: 4
capture_version: 2
content_hash: sha256:fe6ae9c9c99d81890177ba2d7dc46718cee5e2ec0a6fb7eb33d14d2b4592ccc8

---
**Human**

Make me a simple pomodoro timer I can open in a browser. 25 minutes of focus, 5 minutes of break, and one start/pause button.

**Assistant**

> [!note]- Thought for 6s
> Planning a single-file page with a countdown and one button

Here is a single-file timer page. It counts down 25 minutes of focus, then a 5-minute break, and the tab title shows the time left so you can see it from another tab.

Open it in any browser. Press Space to start or pause.

**Human**

Can it play a sound when the timer ends?

**Assistant**

Yes. It now plays a short beep from the Web Audio API, so there is no sound file to load.

Browsers only allow sound after a click on the page, so the first beep needs one press of Start, which you do anyway.

### 📄 Pomodoro timer

[Pomodoro timer](files/Pomodoro%20timer.html)

<!doctype html>
<html lang="en">
<head>
title
Pomodoro timer page
tags
capture/claude
created
2026-09-07T13:02:18
url
Open in Claude
+12 more fieldsHide 12 fields
conversation_id
3f6a9c2e-8b14-4d7a-9e05-6c1b2d4f8a13
source
claude
type
conversation
aliases
Pomodoro timer page
updated
2026-09-07T13:09:44.617Z
verified_list_token
2026-09-07T13:09:44.617Z
conversation_files_fetched
true
synced
2026-09-07T13:30:05
documents
Pomodoro timer
message_count
4
capture_version
2
content_hash
sha256:fe6ae9c9c99d81890177ba2d7dc46718cee5e2ec0a6fb7eb33d14d2b4592ccc8

Human

Make me a simple pomodoro timer I can open in a browser. 25 minutes of focus, 5 minutes of break, and one start/pause button.

Assistant

Thought for 6s

Planning a single-file page with a countdown and one button

Here is a single-file timer page. It counts down 25 minutes of focus, then a 5-minute break, and the tab title shows the time left so you can see it from another tab.

Open it in any browser. Press Space to start or pause.

Human

Can it play a sound when the timer ends?

Assistant

Yes. It now plays a short beep from the Web Audio API, so there is no sound file to load.

Browsers only allow sound after a click on the page, so the first beep needs one press of Start, which you do anyway.

📄 Pomodoro timer

Pomodoro timer

<!doctype html> <html lang="en"> <head>

Pomodoro timer.html2 KB

The artifact itself, a page you can open in any browser

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Pomodoro timer</title>
  <style>
    body { margin: 0; min-height: 100vh; display: grid; place-items: center;
      font-family: system-ui, sans-serif; background: #f7f4ee; color: #222; }
    main { text-align: center; }
    .mode { letter-spacing: 0.08em; text-transform: uppercase; color: #777; }
    .time { margin: 0.2em 0; font-size: 5rem; font-variant-numeric: tabular-nums; }
    button { font: inherit; padding: 0.6rem 1.6rem; border-radius: 8px;
      border: 1px solid #ccc; background: #fff; cursor: pointer; }
  </style>
</head>
<body>
  <main>
    <p class="mode" id="mode">Focus</p>
    <p class="time" id="time">25:00</p>
    <button id="toggle">Start</button>
  </main>
  <script>
    const FOCUS = 25 * 60;
    const BREAK = 5 * 60;
    let left = FOCUS;
    let onBreak = false;
    let tick = null;

    const time = document.getElementById('time');
    const mode = document.getElementById('mode');
    const toggle = document.getElementById('toggle');

    function show() {
      const m = String(Math.floor(left / 60)).padStart(2, '0');
      const s = String(left % 60).padStart(2, '0');
      time.textContent = m + ':' + s;
      document.title = m + ':' + s + ' · ' + (onBreak ? 'Break' : 'Focus');
    }

    function beep() {
      const audio = new AudioContext();
      const tone = audio.createOscillator();
      tone.frequency.value = 880;
      tone.connect(audio.destination);
      tone.start();
      tone.stop(audio.currentTime + 0.4);
    }

    function step() {
      left -= 1;
      if (left < 0) {
        beep();
        onBreak = !onBreak;
        left = onBreak ? BREAK : FOCUS;
        mode.textContent = onBreak ? 'Break' : 'Focus';
      }
      show();
    }

    toggle.addEventListener('click', () => {
      if (tick) {
        clearInterval(tick);
        tick = null;
        toggle.textContent = 'Start';
      } else {
        tick = setInterval(step, 1000);
        toggle.textContent = 'Pause';
      }
    });

    document.addEventListener('keydown', (e) => {
      if (e.code === 'Space') { e.preventDefault(); toggle.click(); }
    });

    show();
  </script>
</body>
</html>

2026-10-03-chapter-2-reading-plan.md2 KB

A project chat

---
conversation_id: "b18d4e07-6a3c-4f92-8d15-0e7c9a2b4f61"
source: claude
type: conversation
title: "Chapter 2 reading plan"
aliases:
  - "Chapter 2 reading plan"
tags:
  - capture/claude
created: 2026-10-03T09:12:40
updated: "2026-10-03T09:14:02.905Z"
verified_list_token: "2026-10-03T09:14:02.905Z"
conversation_files_fetched: true
synced: 2026-10-03T09:40:21
url: "https://claude.ai/chat/b18d4e07-6a3c-4f92-8d15-0e7c9a2b4f61"
project: "Thesis research"
documents:
  - "Chapter 2 reading plan"
document_versions:
  - document_index: 0
    artifact_id: "chapter-2-reading-plan"
    version_id: "e4b0c2d1-7f3a-4c86-9b25-1a6d8e0f3c74"
message_count: 2
capture_version: 2
content_hash: sha256:534938903b3ebc1e898b4f4e823f46428e246770a0cf8e6832eb79bd1c452462

---
**Human**

Draft a two-week reading plan for chapter 2. Mostly measurement first, then policy. Use my interview notes.

**Assistant**

> [!note]- Thought for 9s
> Ordering the reading from measurement to policy
> Fitting the interview notes into week 2

Here is a plan that moves from measurement to policy, with your interview notes in week 2. The district heat map from interview 3 makes a good baseline for week 1.

### 📄 Chapter 2 reading plan

# Chapter 2 reading plan

## Week 1: measuring the heat island

- Day 1–2: urban climate basics, then how surface and air temperature differ
- Day 3–4: two satellite studies of land surface temperature
- Day 5: compare their methods with the district heat map

## Week 2: what cities do about it

- Day 1–2: tree canopy and cool-roof programmes
- Day 3: your interview notes, coded by theme
- Day 4–5: write a two-page synthesis for the chapter outline
title
Chapter 2 reading plan
tags
capture/claude
created
2026-10-03T09:12:40
url
Open in Claude
project
Thesis research
+13 more fieldsHide 13 fields
conversation_id
b18d4e07-6a3c-4f92-8d15-0e7c9a2b4f61
source
claude
type
conversation
aliases
Chapter 2 reading plan
updated
2026-10-03T09:14:02.905Z
verified_list_token
2026-10-03T09:14:02.905Z
conversation_files_fetched
true
synced
2026-10-03T09:40:21
documents
Chapter 2 reading plan
document_versions
document_index: 0 artifact_id: "chapter-2-reading-plan" version_id: "e4b0c2d1-7f3a-4c86-9b25-1a6d8e0f3c74"
message_count
2
capture_version
2
content_hash
sha256:534938903b3ebc1e898b4f4e823f46428e246770a0cf8e6832eb79bd1c452462

Human

Draft a two-week reading plan for chapter 2. Mostly measurement first, then policy. Use my interview notes.

Assistant

Thought for 9s

Ordering the reading from measurement to policy

Fitting the interview notes into week 2

Here is a plan that moves from measurement to policy, with your interview notes in week 2. The district heat map from interview 3 makes a good baseline for week 1.

📄 Chapter 2 reading plan

Chapter 2 reading plan

Week 1: measuring the heat island

  • Day 1–2: urban climate basics, then how surface and air temperature differ
  • Day 3–4: two satellite studies of land surface temperature
  • Day 5: compare their methods with the district heat map

Week 2: what cities do about it

  • Day 1–2: tree canopy and cool-roof programmes
  • Day 3: your interview notes, coded by theme
  • Day 4–5: write a two-page synthesis for the chapter outline

district-heat-map.png418 KB

An image uploaded to the project, saved as the original file.

PNG image · 418 KB

interview-notes.md228 bytes

A project document, saved as Markdown

# Interview 3, city planning office

- Tree canopy targets slipped two years.
- Cool-roof rebates: popular, underfunded.
- Wants data on night-time temperatures by district.
- Suggested the 2019 district heat map as a baseline.

Interview 3, city planning office

  • Tree canopy targets slipped two years.
  • Cool-roof rebates: popular, underfunded.
  • Wants data on night-time temperatures by district.
  • Suggested the 2019 district heat map as a baseline.

instructions.md181 bytes

The project’s instructions, as written in Claude

You are helping me write a master's thesis on urban heat islands.

- Cite sources in APA style.
- Keep answers short unless I ask for detail.
- Flag any claim you are unsure about.

You are helping me write a master's thesis on urban heat islands.

  • Cite sources in APA style.
  • Keep answers short unless I ask for detail.
  • Flag any claim you are unsure about.

Thesis research.md504 bytes

The project’s index note

---
source: claude
project_id: "7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37"
url: "https://claude.ai/project/7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37"
archived: false

---# Thesis research

- **Provider**: Claude
- **Project ID**: `7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37`
- **Link**: https://claude.ai/project/7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37
- **Instructions**: [instructions.md](instructions.md)

## Files

- [district-heat-map.png](files/district-heat-map.png)
- [interview-notes.md](files/interview-notes.md)
url
Open in Claude
+3 more fieldsHide 3 fields
source
claude
project_id
7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37
archived
false

Thesis research

  • Provider: Claude
  • Project ID: 7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37
  • Link: https://claude.ai/project/7c2e9a41-3b5d-4f0e-9c1a-2d8e6f4b1a37
  • Instructions: instructions.md

Files

Keep a copy of your Claude chats that stays current

An export is a copy of one day. If you’d rather not keep requesting new ones, Carry saves each Claude chat as a Markdown file in a folder you pick. It keeps saving new and changed chats every couple of hours while your browser is open. It reads chats through Claude’s internal API, the same data the app loads. It doesn’t read the page, so the middle of a long chat saves too. Chats from the Claude mobile and desktop apps live in the same account, so they save as well. Carry never uploads your chats, and there’s no Carry account or API key.

Here’s what it saves from projects and files:

Projects and tasks

  • Projects
  • Cowork tasksturn on in Settings

Files

  • Files you upload
  • Files Claude sends you
What Carry doesn’t do

It runs in Chrome and other Chromium browsers on a computer, and it saves Markdown, not PDF. It can’t move chats into another account, can’t reach an account you’re signed out of or banned from, and can’t recover chats it never saved. The 14-day trial saves your latest 5 chats. A one-time $59 license saves your full history, with a 14-day refund.

Pick your folder

Connect providers

Then it’s automatic

Common questions

Can I export just one Claude chat?
Not with Claude’s export, which is all or nothing. Copy and paste works for a short chat. On a long one, select-all can stop partway, so check the copy against the list above.
Can I save Claude chats as Markdown and then delete them?
Yes. Save the chat first, open the file and check the first message, the last one and a phrase from the middle. Then delete it in Claude. A file Carry saved stays in your folder after you delete the chat on claude.ai.
My Claude chats and projects disappeared. Are they gone?
Check claude.ai in a web browser first. Then request the export: if your chats are in it, they still exist on Anthropic’s side. If they’re missing there too, only a copy you saved earlier can help.
My long chat compacted and Claude forgot the details. What now?
On paid plans with code execution on, Claude summarizes earlier messages when a chat nears its context limit. Anthropic says the full history is kept so Claude can still refer to it, but a summary loses detail. Paste the exact passage you need back in, or start a new chat and attach a saved copy of the old one.
Does this cover Claude Code sessions?
No. Claude Code in your terminal keeps session transcripts as files on your computer, and by default it deletes ones older than 30 days without a message. To keep them longer, raise cleanupPeriodDays in your settings.json; Anthropic’s docs suggest a large value such as 3650. Carry saves your Claude chats, not Claude Code sessions.
Can I back up Claude Cowork tasks?
People report that Claude’s export often leaves Cowork out. Carry saves each Cowork session as a Markdown note once you turn on Claude Cowork sessions in its settings (it’s off by default): your prompt, Claude’s replies and the steps it ran, as plain text. Task chats in Claude’s merged view save like any other chat. More on Cowork.

Using Grok too? It has no export for a single chat. The Grok export guide covers its account download and the other options.


Carry processes chats on your device and never uploads them. Verified compatibility settings download from carry.md, with an off switch. See privacy details.

Save every conversation.

Sync your ChatGPT, Claude, and Grok conversations into your own folder — as clean Markdown, processed on your device.