codex 导入项目A,并进行对话产生有会话session,后面由于项目路径变更,则项目右侧从finder中打开失败,且在该项目下新对话,找项目默认也会找不到(当然agent 最终自己会推理分析找到新路径)

而如果重新导入新路径的A项目,原会话session则不会携带过来,有点割裂。研究一番,发现则直接修改codex的相关文件,修正项目路径,得以实现
首先退出codex 桌面端(不退出后面修改文件后会自动恢复)
1、修改 ~/.codex 目录下的config.toml 文件
找到
bash
[projects."/{自己的项目旧路径}/{项目名称}"]
trust_level = "trusted"
修改为
[projects."/{自己的项目新路径}/{项目名称}"]
trust_level = "trusted"
2、修改 ~/.codex 目录下的.codex-global-state.json
查找旧路径文件内容并替换
bash
vim 编辑替换命令,进入文件后,执行命令即可
vim .codex-global-state.json
输入
:%s#自己的项目旧路径#自己的项目新路径#g
此时,codex的桌面版的项目已经指向正确的路径了,但是项目下的线程session 会话记录没有展示,原因是每个session都指向了原来的项目路径,所以需要修改每个session的文件的项目路径,session文件存在~/.codex/sessions 文件夹下,按照年月日进行划分
bash
tree sessions
sessions
└── 2026
├── 04
│ └── 18
│ ├── rollout-2026-04-18T22-00-20-019da0e4-76e2-79e1-865b-aff381f4c59a.jsonl
│ └── rollout-2026-04-18T22-15-56-019da0f2-c0db-70b1-9511-366c2c11c197.jsonl
每个.jsonl是一个sesssion 会话,好在我的会话记录不多,打开对应的文件,同理替换,则可
:%s#自己的项目旧路径#自己的项目新路径#g
修改完后,重启codex,发现项目和历史会话都正常了