Moves your Claude Code conversations between computers: Mac to Mac, Mac to Windows, Windows to Mac, or Windows to Windows. One file, no installation, and nothing ever leaves your machines.
On the old computer
- Mac: double-click
Session Porter.command
(or runpython3 session_porter.py
) - Windows: double-click
Session Porter.bat
(or runpy session_porter.py
) Click Pack this computer. You get one bundle zip on the desktop, with a copy of the app saved next to it.
Copy both files to the new computer using a USB stick, AirDrop, a network drive, or anything else.
On the new computer, run the app the same way and click Unpack a bundle. Porter finds the bundle on the desktop, in downloads, or on an attached drive by itself, or you can paste the path. Check the summary, click Unpack here, then quit the Claude app completely and reopen it. Your chats are there.
Windows needs Python 3.9+ from python.org (tick "Add to PATH" during install). Macs already have it.
A plain zip of the .claude
folder is not enough to move sessions. Porter covers the gaps:
The app's chat list lives outside(Mac:.claude
~/Library/Application Support/Claude/claude-code-sessions
, Windows:%APPDATA%\Claude\claude-code-sessions
). Without it, imported sessions exist on disk but appear nowhere in the app. Porter packs it, and rebuilds it from the transcripts when it is missing, so it can also ingest a plain.claude
zip made without Porter.Every path is rewritten for the new home folder, at all four JSON escape depths, anchored on the old home prefix with boundaries on both sides. A username that is also an ordinary word never corrupts your text, and a longer username sharing the same prefix is never mistaken for the home.Project folder names are encoded paths(C--Users-Name-...
,-Users-name-...
) and are renamed to match the new home.Merge only, never overwrite. Whatever already exists on the target computer wins. Every import writes a log, andpython3 session_porter.py undo
removes exactly what an import added.Fragmented conversations are reunited. Auto-compaction and forks split one chat across many transcript files. Porter follows the recorded links so the app shows one chat per conversation.Credentials never travel. You sign in normally on the new computer, and account identity fields are stripped from the bundle.
- After unpacking on a computer where the Claude app has never signed in, open the
app once, then click
Finish setup in Porter. - Bundles moved to Windows use forward-slash paths (
C:/Users/Name/...
). These are valid on Windows and produce identical encoded folder names, and they cannot be corrupted by nested JSON escaping. - Everything also works from the command line:
export DIR
,inspect ZIP
,import ZIP
,register
,undo
, andselftest
(the built-in test suite, covering every direction). Session Porter is an independent tool and is not affiliated with Anthropic.