首页Codex会话恢复
CODEX / 会话与历史

Codex 中断后怎么继续?resume 恢复会话与历史记录指南

终端关闭、网络断开或任务暂停后,先判断你用的是本地交互会话、非交互任务还是 Codex Cloud,再选择正确的恢复入口。

Codex resume历史会话继续任务2026-10-27 核对
直接给结论

本地交互会话用 codex resume;当前目录最近一次会话用 codex resume --last;非交互任务用 codex exec resume;希望从旧会话另开一条路线时用 codex fork。Codex Cloud 新建任务会创建独立工作区,不等于恢复原任务。

资料核对日期:2026-10-27。官方来源:Codex CLI reference · Non-interactive mode · Codex Cloud · Config reference · 归档与删除 Codex 聊天。命令与保留策略可能随版本变化,以当前官方文档和本机 codex --help 为准。

先判断你要恢复哪一种 Codex 任务

场景正确入口关键边界
本地交互会话codex resume从会话选择器继续原上下文
当前目录最近一次会话codex resume --last默认受当前工作目录筛选
脚本或 CI 的非交互任务codex exec resume继续时要附上新的指令
保留原会话,另开方案codex fork创建新会话,不修改原线路
Codex Cloud 任务返回原任务新建任务会创建独立工作区

本地交互会话:用 codex resume 恢复

在原项目目录打开终端,运行:

codex resume

Codex 会显示可恢复会话。若目标就是当前目录最近一次会话:

codex resume --last

若会话来自其他目录,可使用 codex resume --all 扩大列表;也可直接传入会话 ID 或名称。对于非交互创建的历史记录,必要时使用 --include-non-interactive。

工作目录不同为什么会提示选择?

会话保存了当时的工作目录。恢复时若当前目录不同,Codex 会询问使用哪个目录。配置项 tui.resume_cwd 可指定偏好;显式传入 --cd 或 -C 时,以命令行选择为准。为避免在错误仓库继续写文件,恢复前先确认终端路径。

非交互任务:用 codex exec resume

脚本、自动化或 CI 使用的是非交互模式时,恢复命令与普通 TUI 不同:

codex exec resume --last "继续运行测试并说明失败原因"

如果知道具体会话 ID:

codex exec resume SESSION_ID "继续处理剩余任务"

恢复会话不会替你确认未提交文件是否还存在。继续前先检查 Git 状态、工作目录和测试结果;涉及发布时,仍应按项目的权限与审批规则执行。

resume 与 fork:继续原路线还是另开分支

resume 延续原会话;fork 复制旧会话上下文并创建新会话。需要保留原讨论、同时尝试另一种实现时,使用:

codex fork
codex fork --last

在 worktree 场景中,官方要求显式提供本地会话 ID。不要把会话 fork 和 Git 分支混为一谈:前者复制对话上下文,代码版本仍要用 Git 提交和分支管理。

找不到历史会话:按这 5 项排查

  1. 确认目录:--last 默认从当前工作目录筛选;先进入原项目,或用 --all。
  2. 确认模式:交互会话用 codex resume,非交互历史用 codex exec resume。
  3. 检查历史配置:history.persistence 可设为 save-all 或 none;如果禁止保存,本地就没有可恢复历史。
  4. 检查容量:history.max_bytes 到达上限时可能移除较旧记录。
  5. 确认是否删除:已删除的 Codex 聊天无法恢复;执行删除前必须先保留重要代码和记录。

如果只是配置不生效,先看 Codex config.toml 配置排查;如果 CLI 本身无法运行,转到 Codex CLI 使用指南。

Codex Cloud:返回原任务,不要靠新任务找回修改

Codex Cloud 中应返回原任务继续对话。官方说明新任务会创建独立工作区,无法找回另一个任务内尚未提交的修改。重要工作应及时提交到版本控制。Cloud 保存的虚拟机状态有时可在最后一次交互后短期继续使用,但这不应被当作长期聊天记录或代码备份。

需要理解 Cloud 环境与本地 CLI 的差别,可查看 Codex Cloud 使用说明;定时或自动运行相关内容见 Codex 自动化任务。

常见问题

Codex 终端关闭后怎么继续上次会话?

在原项目目录运行 codex resume,选择要继续的会话;若要直接打开当前目录最近一次会话,可使用 codex resume --last。需要跨目录查找时使用 --all。

codex resume --last 为什么找不到我想要的会话?

--last 默认按当前工作目录筛选最近会话。可先进入原目录,或使用 codex resume --all 扩大选择范围;也可直接提供会话 ID 或会话名称。

Codex 非交互任务可以继续吗?

可以。使用 codex exec resume --last "新的指令",或把 --last 替换为具体 SESSION_ID。是否保留记录仍取决于本地 history.persistence 等配置。

codex resume 和 codex fork 有什么区别?

resume 继续原会话;fork 以旧会话内容为起点创建一个新会话,适合保留原线路同时尝试另一种方案。

Codex Cloud 新建任务会恢复旧工作区吗?

不会。新任务会创建独立工作区,不能借此找回另一个任务里未提交的改动。要继续原 Cloud 任务,应返回原任务;重要修改应及时提交。

删除或归档 Codex 会话后还能恢复吗?

归档会停止运行中的会话并移除其附带的计划任务;删除后的聊天无法恢复。执行前应先确认重要代码已提交并保留必要记录。

先确认模式、目录和历史保存设置

恢复成功后立即检查 Git 状态并提交关键修改;会话记录不能替代版本控制。