速览
- 用 Ctrl+C 或 /quit 退出会话,然后在同一个项目目录里运行 codex resume——"Resume a previous session" 选择器会列出该目录下的全部历史会话。
- 用方向键移动、回车键重新进入会话;完整对话记录会原样恢复,包括原本的 token 用量与上下文余量。
- 直接输入即可搜索:选择器按会话的首条提示词过滤,输入 "summ" 就能锁定以 "can you give me a brief summary" 开头的那次对话。
- codex resume --last 跳过选择器,直接恢复当前目录下最近一次会话;--all 把搜索范围扩大到其他目录(来自官方 CLI 参考)。
一步步恢复 Codex CLI 会话
第 1 部分 — 会话内的内置斜杠命令
- 1
启动会话,读懂欢迎横幅
在项目目录里运行 codex。Codex(录屏中为 v0.36.0)会显示当前模型——gpt-5-codex,可用 /model 更改——工作目录,以及四条推荐命令:/init、/status、/approvals 和 /model。

还没输入任何内容,欢迎横幅就先标明了模型和目录。从 0:46 开始观看 - 2
输入斜杠,列出全部内置命令
和 Claude Code 一样,Codex 的每条命令都以斜杠开头。输入 / 会展开完整菜单:/new 在对话中途新开会话,/compact 压缩历史以保护上下文上限,/diff 查看改动,/mention 附加文件,/status 显示会话配置和 token 用量。

斜杠菜单就是 /new 所在之处——恢复旧会话的另一面。从 2:00 开始观看 - 3
用 /status 查看当前会话 ID
/status 会输出工作区、账号(使用 ChatGPT 登录)、模型、CLI 版本,以及包含当前会话 ID 的 Token Usage 区块——需要在其他地方引用某个会话时很方便。

Token Usage 在输入输出计数旁标出了会话 ID。从 3:20 开始观看 - 4
用 /model 选择模型和推理力度
/model 命令会打开 "Select model and reasoning level" 选择器:gpt-5-codex 的 low、medium(当前)和 high,外加 gpt-5 的 minimal 到 high。回车确认,Esc 返回。

模型选择对本次和后续的 Codex CLI 会话都生效。从 3:42 开始观看 - 5
用 /approvals 设置审批模式
/approvals 决定 Codex 在本项目里能做什么:Read Only(只读文件并回答问题,其余操作都要审批)、Auto(当前——可在工作区内读文件、改文件、执行命令)和 Full Access(全部放开,含网络访问)。

审批模式划定了 Codex 无需询问即可行事的范围。从 4:05 开始观看
第 2 部分 — 退出会话,运行 codex resume
- 6
用 Ctrl+C 或 /quit 退出会话
Ctrl+C 随时退出正在运行的会话,/quit 则明确结束——无论哪种方式,你都会回到常规终端(录屏里是 Windows 上 Git Bash 的项目目录)。会话随时会结束,这正是 codex resume 存在的意义。

回到 bash 提示符,仍处在 YumPair 工作目录中。从 5:10 开始观看 - 7
输入 codex resume 并回车
在项目目录里运行 codex resume——不带任务提示词,就这两个词。Codex 会打开该目录的会话选择器,而不是开始新对话。

回车前,完整的命令已经敲在提示符上。从 5:20 开始观看 - 8
在选择器里挑一个会话
"Resume a previous session" 会按时间和首条提示词列出历史会话——"1 hour ago · can you give me a brief summary of this project?"——底部是按键提示:Enter 恢复、Esc 新开会话、Ctrl+C 退出、左右方向键翻页。

会话列表只显示你运行命令时所在项目目录的会话。从 5:22 开始观看
第 3 部分 — 搜索选择器,回到对话现场
- 9
直接输入即可搜索列表
直接打字即可:"Search: su" 就已经把列表过滤到只剩 summary 那次会话。搜索匹配的是会话描述(即开头提示词),所以记住一个词胜过来回滚动。

才敲两个字母,列表就只剩一条会话了。从 5:40 开始观看 - 10
用更长的关键词精确定位
"Search: summ" 精确锁定一小时前那次 "can you give me a brief summary of this project?" 对话。回车,Codex 就会重新打开它。

过滤后的选择器——回车即恢复高亮的会话。从 5:48 开始观看 - 11
从上次中断的地方继续
恢复后的会话带回了完整记录:Next Steps 列表、之前的 Flutter 主题色工作,连 /exit 和 "Take care!" 的道别都在——原始统计也原样保留(已用 120K tokens,剩余 91% 上下文)。继续写代码吧。

历史完整恢复,随时等待下一条提示。从 5:52 开始观看
codex resume 显示为空——空列表与目录错误的修复
选择器按运行命令时所在目录划范围,所以大多数"看不到会话"其实是工作目录对不上,而不是数据丢了。按顺序排查:
- 1目录不对导致空列表。Resume a previous session 选择器只列出在当前工作目录中开启的会话。cd 回当初的项目目录,再运行一次 codex resume。
- 2其他项目的会话。想跨项目搜索,codex resume --all 会把当前目录之外的会话也纳入(--last 同样适用)。
- 3恢复时的目录询问。如果当前工作目录与会话保存的目录不同,Codex 会询问用哪个。回答一次提示即可,或在 config.toml 里把 tui.resume_cwd 设为 "current" 或 "session" 一劳永逸——显式的 --cd 参数优先级最高。
- 4完全跳过选择器。codex resume --last 直接恢复当前目录下最近一次会话,不显示任何列表——最接近"继续上次会话"的用法。
- 5无头会话不显示。codex exec 创建的会话属于非交互会话,默认不在选择器中出现;加上 --include-non-interactive 才会在列表和 --last 里出现。
- 6选择器里没有删除选项。录屏里提到当时 Codex CLI 还没有内置删除旧会话的功能——现在选择器里依然没有。会话以 JSONL rollout 文件的形式存在 ~/.codex/sessions 下、按日期分文件夹,想清理只能在 Codex 关闭后自行删除文件。
Codex CLI 迭代很快,参数偶尔会在版本之间变化。拿不准时,以 codex resume --help 和官方 CLI 参考为准。
