Claude Code 搬機踩坑:對話歷史綁的是專案絕對路徑
Claude Code / migration pitfall
搬 Claude Code 不能只搬 config:歷史對話還吃專案絕對路徑
Threads 作者用 gws 遷移開發環境後,發現 1267 場 Claude Code 對話叫不回來;排查後指出 Claude Code 將對話按「專案絕對路徑」編碼分目錄保存,且 jsonl 內部也記錄絕對路徑。新舊電腦使用者短名不同時,路徑對不上,歷史就像消失。
問題本質
這不是雲端同步失敗,而是 local state 的 key 不是 project id 或 git remote,而是包含使用者目錄的 absolute path。
兩層要對
作者提到要處理 projects 底下的目錄名,以及每個 jsonl 裡記錄的絕對路徑;只改其中一層可能仍叫不回歷史。
對工具鏈的啟示
AI coding 工具越常保存長期 context,搬機就越像資料庫 migration,而不是 dotfiles restore。
操作 caveat:這篇是個人經驗,不是官方遷移文件。若要批次替換 jsonl 或目錄名,務必先完整備份、在複本上測試,並保留原始路徑對照表;不要直接在唯一副本上跑全域取代。
Claude Code / AI coding tool 搬機 checklist
- 記錄舊機使用者短名、repo 根路徑、新機預計路徑。
- 同步 settings、skills、agents 之外,也要同步 conversation / projects / cache 類 local state。
- 先抽樣確認 1–2 個專案能用 history resume,再批次處理其他專案。
- 把「絕對路徑」列入 dotfiles / gws / backup 工具的特殊規則。
- 完成後跑一次 search:確認新路徑與舊路徑殘留量。
Source
Threads: https://www.threads.com/@ci.fullstack/post/DY2Sc5bHXwB
Threads: https://www.threads.com/@ci.fullstack/post/DY2Sc5bHXwB