

换到新 Mac 后登录同一个 ChatGPT/OpenAI 账号,并不一定能把你的本地 Codex 工作环境完整重建出来。
账号本身可能没问题,但重要的工作还在旧机器上:本地对话记录、项目结构、自定义技能、配置、自动化脚本、未推送的分支、linked worktrees、stash,还有那些写到一半没保存的文件。
这篇说说该检查什么、普通的 Git clone 会漏掉什么,以及怎么迁移才不会把新 Mac 的身份标识覆盖掉。
在新 Mac 上稳定运行之前,保持旧 Mac 原样不动。重要对话先打开确认没问题,也建议做一份独立备份。迁移进度条走完不代表每个对话、Git 对象、worktree、未追踪文件都完整到达了。
新 Mac 上的操作顺序:
其实就两大类东西。
根据你的 Codex 版本和配置,本地状态可能包含:
直接复制整个旧的 ~/.codex 目录是有风险的,因为它可能也包含机器特定的状态。特别注意:不要盲目用旧 Mac 的 auth.json 或 installation_id 覆盖新 Mac 的值。
一个仓库远不止 Finder 里看到的那些文件。如果想从上次中断的地方继续,选中的工作区文件夹需要完整的 .git 目录,外加:
如果所有重要内容都 commit 并 push 了,fresh clone 可能就够了。但从未到达远程仓库的内容,从远端 clone 是无法恢复的。
够用——前提是你已经清楚每个相关路径、排除规则、依赖关系、权限规则、备份步骤和校验项。
复制命令本身不是难点。难点在于回答这些问题:
一个站得住脚的流程是这样的:
Wi-Fi、网线直连、或者 USB-C/Thunderbolt 网络桥接都能承载 SSH 传输。但一根数据线本身不保证 macOS 已经建立了可用的网络连接。传输时间主要取决于数据量和实际的网络路径。
如果暂存传输中断了,应该可以恢复。如果验证结果模糊或失败,应该停止流程、保留旧 Mac——而不是宣称成功。
换 Mac 的时候踩了这个坑,于是我做了 Codex Migrate,按照上面的流程来的。
完整的 CLI 和源码是 MIT 协议、免费的。它能盘点本地 Codex 状态和选中的工作区,排除旧机器的身份认证信息,通过 SSH 分阶段可恢复地传输,要求先验证目标备份,并生成一份可读的验证报告。
不想 clone 源码或在终端操作的,还有一个经过签名和 Apple 公证的 Mac beta 版,$49。同样的核心逻辑,加上打包好的应用,加上我提供的个人化、尽力而为的迁移和恢复帮助。
目前只支持 Apple 芯片的 Mac。这是迁移工具,不是持续多设备同步,也不是合并两个独立活跃工作区的合并工具。请保留旧 Mac 和一份独立备份。
如果新 Mac 上 Codex 历史看起来是空的,先停手,别删旧 Mac 上的任何东西。先盘点,再复制,验证通过后再信任结果。
声明:我是 Codex Migrate 的维护者。这是一个独立项目,与 OpenAI 没有关联或授权关系。