尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Restore Claude desktop conversation history hidden by an account switch, and move it between Macs. macOS app.
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
Switching Claude accounts hides your history. Take it with you.
A small macOS app with two buttons: back up one account, import into another.
That is the whole installation.
The first run takes about a minute: it creates a .venv inside the folder,
installs PySide6 into it, and starts the window. Every run after that opens
immediately. Nothing is installed into your system Python.檢視完整 README ↗Switching Claude accounts hides your history. Take it with you.
A small macOS app with two buttons: back up one account, import into another.
git clone https://github.com/pokharnajay/claude-migrator.git
cd claude-migrator
python3 app.py
That is the whole installation.
The first run takes about a minute: it creates a .venv inside the folder,
installs PySide6 into it, and starts the window. Every run after that opens
immediately. Nothing is installed into your system Python.
Back Up and Import stay off while the Claude desktop app is running, because Claude holds these files open and rewrites them as it goes. The window has a Quit Claude button, and it notices on its own when Claude has gone.
python3 --version to check. macOS ships one; if it is too
old, brew install python or grab it from python.org..venv.venv/bin/pip install pyinstaller
.venv/bin/python packaging/build.py --install
Builds a self-contained Claude Migrator.app (Python and Qt inside, about
75 MB) and puts it in /Applications. Run it again after changing the code to
replace the installed copy.
Delete the .venv folder and try again:
rm -rf .venv
python3 app.py
~/Downloads/claude-app-backup-<timestamp>/.Open Claude and the chats are in the sidebar.
The old account was signed in on this Mac before, but you never backed it up? Its history is still on disk. Back up another account on this Mac… backs it up without signing in to it.
To move to another Mac, copy the backup folder across and import it there.
| Chats | Claude Code and Cowork conversations, which ones are archived, and the transcripts they need to open |
| Cowork | Memory, plugins, settings and artifacts |
| Scheduled tasks | The tasks themselves and their prompts |
| Setup | Desktop MCP servers and extensions; ~/.claude settings, CLAUDE.md, plugins, skills, agents and commands; MCP servers from ~/.claude.json |
Left out on purpose: sign-in state and tokens, caches, and the multi-gigabyte VM images Claude downloads again by itself. A backup is checked file by file against the original before it is called done.
Copies are APFS clones, so even gigabytes of transcripts take seconds and almost no extra disk until something changes.
The window counts runs of scheduled tasks separately from chats. A task that runs every twenty minutes leaves a session behind each time, so a raw count can be ten times the number of conversations you actually had.
One rule covers every file:
A chat is matched by its session file, so importing the same backup twice changes nothing the second time, and no chat is ever doubled. A chat you carried on after importing it keeps your newer turns.
The archive list, Cowork's artifacts and scheduled tasks are merged, not
replaced. MCP servers are added to ~/.claude.json unless one of the same
name is already there.
A backup of another account goes into the signed-in account's active workspace, which is the one Claude shows. A backup of the signed-in account itself goes back where it came from.
~/Downloads/claude-import-undo-<timestamp>/ at its original path.Everything happens on your Mac. The app makes no network requests — there is no networking code in it. Account e-mails are read from your own local files purely to label accounts in the window.
The one time anything is downloaded is the first run, when pip fetches
PySide6 from PyPI.
| Module | Responsibility |
|---|---|
app.py | Entry point — bootstraps the environment, opens the window |
storage.py | Finds accounts, workspaces and the signed-in account; counts chats |
identity.py | Resolves an account UUID to an e-mail and name |
backup.py | Makes and checks a backup folder |
restore.py | Validates a backup, plans an import, carries it out |
safety.py | Every write — containment, space, atomic placement, locking |
ui.py | The window |
.venv/bin/pip install pytest
QT_QPA_PLATFORM=offscreen .venv/bin/python -m pytest -q # 124 tests
Tests never touch real Claude data. They build a synthetic storage tree in a temp directory, including a planted token that must never reach a backup and damaged backups the importer has to refuse.
python3: command not found — install Python from
python.org or with brew install python.
The buttons are greyed out — Claude is still running. Press Quit Claude, or quit it yourself (⌘Q, and check it is not in the Dock).
"That is not a Claude Migrator backup" — choose the
claude-app-backup-… folder itself, not Downloads and not a folder inside it.
"The backup is incomplete" — a file was removed or changed since the backup was made, often by a partial copy between Macs. Copy the folder again, or make a new backup.
"Made by an older version" — folders named claude-backup-… come from the
previous version of this app. Make a new backup with Back Up.
Imported chats open empty — the chat came back but its transcript in
~/.claude/projects was already gone when the backup was made.
MIT — see LICENSE.
Not affiliated with Anthropic.