Codex 最佳实践。

Codex CLI 会话的中断和恢复

Codex CLI 在被强制中断(如 Ctrl+C)时,确实不会在终端回显 Session ID。这并非故障,而是因为进程被立即终止,来不及打印"善后信息"。

为什么有时候不显示?

  1. 正常退出(/exit
    1. CLI 会完整执行退出流程,通常会打印 Session ID 或提示"Session saved"。
  2. 强制中断(Ctrl+C
    1. 进程收到 SIGINT 信号后立即终止,来不及打印任何输出。此时 Session 虽然已保存,但 ID 被"吞"掉了。

如何找回被“吞”掉的 Session?

即使没看到 ID,Session 文件依然保存在本地,你可以通过以下方式找回:

  1. 查看最近的文件(最快)
    1. 会话文件按时间戳命名,直接查看最新的文件即可:
    2. ls -lt ~/.codex/sessions/$(date +%Y/%m/%d)/
    3. 文件名格式为 rollout-2026-04-22T10-30-00-xxx.jsonl,其中的 xxx部分通常包含 Session ID。
  2. 使用交互式选择器
    1. 运行以下命令,Codex 会列出所有可恢复的会话(包含 ID 和路径):
    2. codex resume
  3. 直接恢复最近一次
    1. 如果你只是想继续刚才的工作,直接使用 --last参数,无需手动找 ID:
    2. codex resume --last

最佳实践

  1. 优雅退出:尽量使用 /exit/quit结束会话,确保看到 Session ID
  2. 随手记录:在长会话开始后,先运行 /status记下 ID,以防后续意外中断
What do you think?
0 Reactions
Pick a reaction