Claude Import Export Chats
Export, import, back up, search, and organize your Claude Code conversations — and move them between computers.
Claude Code stores every conversation as a transcript under your Claude home folder
(~/.claude/projects/<project>/<session>.jsonl). This extension reads those transcripts
and gives you a sidebar to browse them, plus one-click export/import so your history
follows you across machines.
Features
- Browse — a Claude Chats view in the Activity Bar lists every conversation, grouped by project, with titles, timestamps, and message counts.
- Open as Markdown — render any conversation to clean, readable Markdown (optionally including thinking blocks and tool calls).
- Search — full-text search across every conversation; supports regex (
/pattern/). Jump straight to the matching chat.
- Export — export a single conversation, a whole project, or everything, as:
- a portable
.claudechats.json bundle (lossless, re-importable), or
- Markdown files, or both.
- Import — pull a bundle from another computer back into Claude Code. Import new only or overwrite existing.
- Backup & Restore — one-click
Back Up All Now to a timestamped bundle, and restore from a list of previous backups.
- Continue — resume any conversation in Claude Code, including one imported from another computer: in the Claude Code panel when the folder is this window's, otherwise with
claude --resume in a terminal.
- Move chats between projects — Copy to Project… / Move to Project…, or drag conversations onto another project. Select several rows at once with Ctrl/Shift-click. Import a bundle straight into any project.
- Reuse prompts in another project — Browse Prompts lists everything you typed in a chat, a project, or all projects. Send a prompt to a new Claude Code chat here, save it as a
/slash-command in any project, copy it, or export it to a .claudeprompts.json file to import elsewhere.
- Organize — mark favorites, add tags, write a note, or give a conversation a custom title. Organizer data travels with your exports.
Usage
Open the Claude Chats icon in the Activity Bar. Your conversations load automatically.
| Action |
Where |
| Search all chats |
View toolbar → 🔍, or Claude Chats: Search Conversations |
| Export everything |
View toolbar → ⬇, or Claude Chats: Export All Conversations |
| Import a bundle |
View toolbar → ⬆, or Claude Chats: Import from Backup |
| Back up / restore |
View ⋯ menu |
| Continue a conversation |
Conversation row → ▶, or right-click → Continue Conversation in Claude Code |
| Browse prompts |
View toolbar → prompts icon (all projects), or a project/conversation row |
| Copy / move to another project |
Right-click conversation(s) → Copy to Project… / Move to Project…, or drag onto a project |
| Import prompts / copy slash commands |
View ⋯ menu |
| Open / favorite / tag / rename |
Right-click a conversation |
Moving a conversation to another project
Claude Code only lists a conversation in the project folder it was recorded in.
Copy to Project… writes the conversation into another project's history, with
its recorded paths rewritten. Open that folder and it is in Claude Code's past
conversations, ready to resume. A copy gets its own session id and the original
stays where it was; Move takes it out of the old project. Dragging
conversations onto a project row asks which of the two you want.
When importing a bundle you can keep the original projects, or put every
conversation into an open workspace folder or any other project.
Reusing prompts in another project
Browse Prompts reads the prompts you typed, skipping tool output, IDE
context and command noise. A prompt you sent many times shows once, marked
"sent N×". Type to filter, tick one or more (or just press Enter on one), then:
- Send to Claude Code: opens a new Claude Code chat in this window with the
prompt filled in. Nothing is sent until you press Enter. Needs the Claude Code
VS Code extension.
- Save as Slash Command…: writes
<project>/.claude/commands/<name>.md, so you
can type /name in that project. Choose All projects to save it to
<Claude home>/commands instead.
- Copy to Clipboard, Open as Markdown.
- Export to Prompt File…: a
.claudeprompts.json file. On another project or
computer, run Import Prompts from File (or the regular Import button) to get
the same choices.
Copy Slash Commands to Another Project copies saved commands from one
project's .claude/commands to another's.
Moving history between computers
- On computer A: Export All Conversations (or Back Up All Now) → copy the
.claudechats.json file.
- On computer B: Import from Backup → pick the file → Import new only or overwrite existing.
Restart any running Claude Code session after importing so it picks up the new transcripts.
Continuing an imported conversation
Claude Code's --resume only lists transcripts stored under the project folder
encoded from the current working directory. An imported conversation carries the
paths of the machine it came from, so Claude Code on this machine cannot see it.
Continue Conversation in Claude Code handles that:
- You pick the folder to continue in — the original folder (if it exists here),
an open workspace folder, or any folder you browse to.
- If that folder differs from the recorded one, the transcript is copied into the
matching project directory and every recorded path inside it is rewritten to the
new folder. The original transcript is left untouched.
- If that folder is this window's first workspace folder and the Claude Code
extension is installed, the conversation opens in the Claude Code panel.
Otherwise a terminal opens in that folder and runs
claude --resume <session-id>.
Set claudeChats.continueIn to terminal to always use the terminal.
The terminal route needs the claude CLI on your PATH; otherwise set
claudeChats.claudeCommand to its full path.
Settings
| Setting |
Default |
Description |
claudeChats.claudeHome |
(auto) |
Path to the Claude home folder. Auto-detects ~/.claude and honors CLAUDE_CONFIG_DIR. |
claudeChats.claudeCommand |
claude |
Command used to launch Claude Code when continuing a conversation. |
claudeChats.continueIn |
auto |
auto opens in the Claude Code panel when possible; terminal always uses claude --resume. |
claudeChats.downloadDir |
(auto) |
Where downloads/exports (chats and prompt files) are saved. Defaults to <Claude home>/downloads. |
claudeChats.exportFormat |
bundle |
bundle, markdown, or both. |
claudeChats.includeThinking |
false |
Include assistant thinking blocks in Markdown. |
claudeChats.includeToolCalls |
true |
Include tool calls / results in Markdown. |
claudeChats.backupDir |
(auto) |
Folder for Back Up All Now. Defaults to <Claude home>/backups/chat-exports. |
Privacy
Everything runs locally. The extension only reads files under your Claude home folder and
writes exports/backups where you tell it to. Nothing is uploaded anywhere. Bundles contain
your full conversation text — treat exported files as private.
License
MIT