Codex CLI 会话的中断和恢复
Codex CLI 在被强制中断(如 Ctrl+C)时,确实不会在终端回显 Session ID。这并非故障,而是因为进程被立即终止,来不及打印"善后信息"。
为什么有时候不显示?
- 正常退出(
/exit)- CLI 会完整执行退出流程,通常会打印 Session ID 或提示"Session saved"。
- 强制中断(
Ctrl+C)- 进程收到 SIGINT 信号后立即终止,来不及打印任何输出。此时 Session 虽然已保存,但 ID 被"吞"掉了。
如何找回被“吞”掉的 Session?
即使没看到 ID,Session 文件依然保存在本地,你可以通过以下方式找回:
- 查看最近的文件(最快)
- 会话文件按时间戳命名,直接查看最新的文件即可:
ls -lt ~/.codex/sessions/$(date +%Y/%m/%d)/- 文件名格式为
rollout-2026-04-22T10-30-00-xxx.jsonl,其中的xxx部分通常包含 Session ID。
- 使用交互式选择器
- 运行以下命令,Codex 会列出所有可恢复的会话(包含 ID 和路径):
codex resume
- 直接恢复最近一次
- 如果你只是想继续刚才的工作,直接使用
--last参数,无需手动找 ID: codex resume --last
- 如果你只是想继续刚才的工作,直接使用
最佳实践
- 优雅退出:尽量使用
/exit或/quit结束会话,确保看到 Session ID - 随手记录:在长会话开始后,先运行
/status记下 ID,以防后续意外中断