🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?
Claim this page →
claude-teleport
Move your Claude Code history, memory, and sessions between machines (Linux/macOS/Windows), with paths fixed automatically.
git clone https://github.com/gowtham-sai-yadav/claude-teleport
claude-teleport
Move your Claude Code history to a new computer - sessions, memory, and settings - with every path fixed automatically.
Linux · macOS · Windows, in any direction.
If you live in Claude Code, losing your sessions feels like losing part of your workspace.
When I moved from my Linux laptop to a new Mac, I wanted to bring all of it with me: my sessions, conversation history, memory, and project context. There was no clean way to do it. Copying the files by hand is tedious, and because project paths change between machines, nothing just works when you get there.
So I built claude-teleport. It packs your whole Claude Code setup into one file on the old machine and restores it on the new one, rewriting every path so your conversations resume exactly where you left off.
┌─────────────┐ export ┌───────────────┐ import (paths fixed) ┌─────────────┐
│ OLD machine │ ────────────▶ │ one .tgz file │ ───────────────────────▶ │ NEW machine │
└─────────────┘ └───────────────┘ └─────────────┘
Contents
- Why you need it
- Install
- Quick start (5 minutes)
- Prefer clicking? Use the GUI
- Moving between different operating systems
- Command reference
- What gets moved (and what doesn't)
- Is it safe?
- How it works
- FAQ
- Contributing
Why you need it
Copying the ~/.claude folder by hand does not work, for two reasons:
- Sessions live in folders named after each project's full path, with the slashes turned into
dashes (
/home/you/app→-home-you-app). That naming is lossy - slashes, dots, underscores and spaces all become-- so you can't reconstruct the real path, and the name is wrong on a machine with a different username or OS anyway. - The session files have the old machine's paths written inside them.
claude-teleport handles both: it records each project's true path, then rebuilds the folder names and rewrites the in-file paths for the new machine.
Install
Pick whichever you like.
Option A - Download a ready-made binary (no tools needed)
- Go to the latest release.
- Download the file for your computer:
Your machine File macOS (Apple Silicon) claude-teleport-darwin-arm64macOS (Intel) claude-teleport-darwin-amd64Linux claude-teleport-linux-amd64Windows claude-teleport-windows-amd64.exe - On macOS/Linux, make it runnable and put it on your PATH:
On Windows, rename it to
chmod +x claude-teleport-* # allow it to run sudo mv claude-teleport-* /usr/local/bin/claude-teleportclaude-teleport.exeand keep it in a folder you can find.
Option B - With Go installed
go install github.com/gowtham-sai-yadav/claude-teleport@latest
This drops the binary in Go's bin directory ($(go env GOPATH)/bin, usually ~/go/bin).
If claude-teleport: command not found, that directory is not on your PATH yet. Add it:
# macOS / Linux (zsh)
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
On Windows, add %USERPROFILE%\go\bin to your PATH via System Settings.
Option C - From source
git clone https://github.com/gowtham-sai-yadav/claude-teleport
cd claude-teleport
go build -o claude-teleport .
Check it works: claude-teleport version
Quick start (5 minutes)
You'll run two commands total - one on each computer.
On the OLD computer
- Open a terminal and run:
claude-teleport export - It prints the name of a file it created, e.g.
claude-teleport-backup-20260628-120000.tgz. - Copy that one file to the new computer - AirDrop, a USB stick,
scp, Google Drive, whatever is easiest.
On the NEW computer
- Install Claude Code and sign in once (so it sets up your account), then close it.
- Preview what will happen - this writes nothing:
You'll see a table of every project and where it will move to. claude-teleport guesses the new location from your current home folder. If a guess is wrong, fix it with
claude-teleport import claude-teleport-backup-20260628-120000.tgz --dry-run--map:claude-teleport import bundle.tgz --map /home/oldname=/Users/newname --dry-run - Happy with the preview? Run it for real:
It asks for confirmation, copies everything into place, fixes the paths, and finishes with a check that your sessions are resume-ready.
claude-teleport import claude-teleport-backup-20260628-120000.tgz - Put your actual project folders where the table said they'd go (e.g. clone your repos into
~/Desktop/...). Then open one and resume:cd ~/Desktop/my-project claude --resume
That's it. Your old conversations are there.
One thing that does not transfer: your login. That's on purpose - credentials are locked to each machine and should never travel in a file. Just sign in to Claude Code once on the new computer.
Prefer clicking? Use the GUI
Not a terminal person? Run:
claude-teleport gui
Your browser opens a small wizard where you pick the bundle file, confirm where each project should go, tick the projects you want, and click Import. It shows a live result and the same resume-ready check at the end. Everything runs locally on your own machine - nothing is uploaded anywhere.
Moving between different operating systems
Import runs on the destination machine, so it detects the right OS automatically and translates everything for you, including Windows drive letters and backslashes:
| From → To | Example folder rename |
|---|---|
| Linux/macOS → Windows | -home-you-app → -C-Users-you-app |
| Windows → Linux/macOS | -C-Users-you-app → -home-you-app |
Paths stored inside the transcripts are rewritten in the correct style too. Because
transcripts are JSON, Windows paths are matched and re-written in their escaped form
(C:\\Users\\you), so nothing is missed.
Command reference
claude-teleport export [--out FILE] [--config-dir DIR]
claude-teleport import <bundle> [flags]
claude-teleport inspect <bundle>
claude-teleport verify [--config-dir DIR]
claude-teleport gui [bundle] [--port N]
import flags
| Flag | What it does |
|---|---|
--dry-run | Show the plan and write nothing. Always start here. |
--map OLD=NEW | Remap a path prefix (repeatable). The most specific match wins. |
--project P | Import only this project, by its path or folder (repeatable; default: all). |
--target-home DIR | Override the detected home directory. |
--target-os OS | Render paths for linux/darwin/windows (default: this machine). |
--overwrite | Replace files that already exist (each one is backed up first). |
--deep | Rewrite old paths everywhere in transcripts, not just the cwd field. |
--yes | Skip the confirmation prompt. |
inspectprints what's inside a bundle without importing.verifychecks that the sessions already on this machine are resume-ready.
What gets moved (and what doesn't)
Moved: session transcripts, per-session sidecars, project memory, your user
settings.json, prompt history, plan files, plugin manifests, and the portable parts of
~/.claude.json (re-keyed to the new paths).
Never moved - your login. Credentials are machine-locked (macOS Keychain, Windows user profile) and are deliberately left out. Sign in once after importing.
Skipped as junk: caches, telemetry, shell snapshots, lock files, and device-identity fields - all of which rebuild themselves on first run.
Is it safe?
- It never overwrites an existing file by default - it merges and tells you what it
skipped.
--overwritemakes a timestamped backup of each file it replaces. --dry-runshows exactly what will happen before anything is written.- The riskiest step - rewriting paths inside message text - is off by default. The safe
default only fixes the structural
cwdfield needed to resume.--deepopts into a full rewrite. - It runs entirely offline. Your bundle and history never leave your computers.
How it works
A bundle is a .tgz archive with a manifest.json written first. The manifest records each
project's true absolute path - the piece the lossy folder name throws away - read from
~/.claude.json and from the cwd stored inside each transcript. On import, claude-teleport:
- works out a new path for each project (auto-detected, or via
--map), - re-encodes the folder names for the target machine and OS,
- rewrites the old paths inside transcripts (JSON-escaped, so Windows paths match),
- merges everything in without overwriting, and
- verifies each migrated project's
cwdmatches its new folder.
FAQ
Will this delete anything on my old machine? No. export only reads.
Do I need Claude Code installed first on the new machine? Yes - install it and sign in once so your account is set up, then import.
My new username/OS is different. That's the whole point - it's handled. Preview with
--dry-run and adjust with --map if a guess is off.
I only want a couple of projects. Use --project <path-or-folder> (repeatable), or tick
just those in the GUI.
Where is all this stored? Under ~/.claude/ and ~/.claude.json (or %USERPROFILE% on
Windows). Set CLAUDE_CONFIG_DIR to relocate it; claude-teleport respects that variable.
Contributing
Issues and pull requests are welcome. To develop:
go test ./... # run the tests
go vet ./... # static checks
gofmt -l . # should print nothing
go run . gui # try the wizard locally
CI runs lint and tests on Linux, macOS, and Windows. Tagging vX.Y.Z builds and publishes
release binaries automatically.
Star history
License
MIT © Gowtham Sai Yadav
// compatibility
| Platforms | cli, api, desktop, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | Go |
// faq
What is claude-teleport?
Move your Claude Code history, memory, and sessions between machines (Linux/macOS/Windows), with paths fixed automatically.. It is open-source on GitHub.
Is claude-teleport free to use?
claude-teleport is open-source under the MIT license, so it is free to use.
What category does claude-teleport belong to?
claude-teleport is listed under devtools in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/claude-teleport)
// retro hit counter
[](https://claudeers.com/claude-teleport)
// reviews
// guestbook
// related in Developer Tools
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…
Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA
🙌 OpenHands: AI-Driven Development
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.