codex项目目录丢失后数据通常仍完整保留在.codex目录中,只需修复路径映射即可恢复:可通过codex-session-recovery工具自动重建、手动更新state_5.sqlite中的project_path字段,或新建项目后导入历史会话。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex项目目录丢失后,历史会话、本地文件索引和当前工作上下文全部不可见,但实际数据往往仍完整保留在.codex目录中,只是项目路径映射关系断裂,导致UI无法挂载显示。
确认项目目录是否真丢失
打开文件资源管理器,导航至 【C:\Users\你的用户名\.codex】(Windows)或 【~/Library/Application Support/Codex】(macOS),检查是否存在 sessions/、state_5.sqlite 和 session_index.jsonl 文件。若这些文件存在,说明项目目录未物理删除,只是 Codex Desktop 未能识别原项目路径。
用 SQLite 浏览器打开 state_5.sqlite,执行查询:SELECT * FROM threads WHERE project_path IS NOT NULL; 如果返回多条记录,证明项目路径元数据仍在数据库中,只是新版 UI 未正确解析。
方法一:用 codex-session-recovery 工具自动重建项目映射
该工具专为修复项目路径错位、provider切换、cc-switch切号后会话消失设计,全程只读扫描,不修改原始数据。
在终端中运行安装命令:curl -fsSL https://raw.githubusercontent.com/wufei-png/codex-session-recovery/main/install.sh | bash
安装完成后,进入你原本的项目根目录(例如 D:\myproject),执行:codex-session-recovery --project-path .
工具会自动匹配 .codex/sessions/ 中与当前路径哈希一致的会话,并生成可点击的 codex resume 深链。点击即可在 Codex Desktop 中恢复对应项目侧边栏条目。
【注意】必须在原始项目根目录下运行命令,否则路径哈希无法匹配,恢复失败。
方法二:手动修正 state_5.sqlite 中的 project_path 字段
第一步:关闭 Codex Desktop,避免数据库被锁定。
第二步:用 DB Browser for SQLite 打开 C:\Users\你的用户名\.codex\state_5.sqlite。
第三步:执行 SQL 更新语句,将已知会话的 project_path 设为当前真实路径:
UPDATE threads SET project_path = 'D:/myproject' WHERE id = 'thread_abc123';
其中 thread_abc123 是你在 sessions 目录下找到的某个 thread-*.jsonl 文件名前缀;D:/myproject 必须使用正斜杠 /,且不能以反斜杠 \ 结尾,否则 Codex 解析失败。
第四步:保存更改,重启 Codex Desktop。侧边栏应立即显示对应项目条目。
方法三:重建空白项目并导入历史 rollout
在 Codex Desktop 中新建一个项目,选择你确认存在的原始路径(如 D:\myproject)。
然后打开终端,进入该目录,运行:codex import --from ~/.codex/sessions/thread-xxx.jsonl
这会将指定会话的 rollout 数据作为新对话导入当前项目。每条 thread-*.jsonl 对应一次独立会话,可逐个导入。
导入后,左侧会话列表会出现新条目,内容与原始会话完全一致,包括所有代码块和工具调用记录。











