A small cross-platform tool (Windows, macOS, Linux) to export and import Claude Code chats, so you can move conversations from one machine to another.
Claude Code stores every conversation as a local JSONL transcript under ~/.claude/projects/, and it has no built in sync. cchat lets you pick chats, bundle them into a single .zip, and restore them on another machine, rewriting the project paths so the chats show up again.
- Clickable GUI and a scriptable CLI.
- Pick all or individual chats from a sortable, searchable table.
- Export the selection to one portable
.zip(transcripts, sidecar files like subagent and tool output, plus a manifest). - Import on another machine with a per chat resume folder, so each chat reappears in
claude --resumeat the right local path after a move. - Auto-detects this machine and its Claude data folder.
- Pure Python standard library, no
pip installrequired.
python cchat.py # open the GUI
python cchat.py list # list available chats
python cchat.py export --all --out chats.zip # export everything
python cchat.py import chats.zip --all --into /path/to/project- Python 3.8 or newer. The GUI uses Tkinter (bundled on Windows and macOS; on Linux install
python3-tk).
- Transcripts are plain text and can contain secrets, so handle exported
.zipfiles with care. - Resuming copied chats is unofficial and can depend on the installed Claude Code version. Reading the history always works, and cchat never deletes anything on import.
cchat.pyengine and CLI.cchat_gui.pythe Tkinter GUI.