ハブネコのAIラボ

Codex

Codex resumeでセッションを再開する方法|--lastとforkの使い分け

公開: 読了目安5分

#セッション再開#効率化

Codex resumeでセッションを再開する方法|--lastとforkの使い分け

先に結論: 前回のCodexセッションはcodex resume --lastで即座に再開できます。引数なしのcodex resumeなら一覧から選択でき、codex forkを使えば履歴を引き継いだまま別の続きを試せます。セッションは~/.codex/sessionsにJSONL形式で保存されています。

「昨日の続きをやりたいのに、また一から説明し直し」という手間は、codex resumeで解消できます。

この記事では、セッション再開コマンドの使い分け(resumeexec resumefork)と、セッションが保存されるrolloutファイルの仕組みを2026年8月時点の情報で解説します。

この記事の要点

  • codex resume --lastで、現在のディレクトリの直近セッションを会話履歴ごと再開できます(2026年8月時点)。
  • 引数なしのcodex resumeはセッション一覧(ピッカー)から選択でき、--allを付けると他のディレクトリのセッションも対象になります。
  • 非対話モードの続きはcodex exec resume、履歴を引き継いで枝分かれさせたいときはcodex forkを使います。
  • セッションの実体は~/.codex/sessions配下のJSONLファイル(rolloutファイル)です。
  • resumeで戻るのは会話履歴だけで、ファイルの状態は巻き戻りません。

前提・動作環境

この記事はCodex CLIの基本操作を一度は試したことがある方向けです。起動方法や承認モードは「Codexの使い方完全ガイド」と「Codex CLIの使い方」で解説しています。

コマンドの細かい仕様はバージョンによって変わることがあるため、挙動が異なる場合は公式ドキュメント(developers.openai.com/codex)を確認してください。

codex resumeの基本

codex resumeは、保存された過去のセッションを会話履歴つきで開き直すコマンドです。前回までの文脈をCodexが覚えた状態で続きを指示できます。

codex resumeの使い分け3パターンの分岐図: 直近の続きならcodex resume --last、一覧から選ぶなら引数なしのcodex resume、別ディレクトリの作業も含めて探すなら--allを付けるという選び方を示す図解

# 現在のディレクトリの直近セッションを即再開
codex resume --last

# 一覧(ピッカー)から選んで再開
codex resume

# セッションIDや名前を指定して再開
codex resume <SESSION_ID>

引数なしで実行すると最近のセッションが一覧表示され、矢印キーで選んでEnterで開けます。迷ったらcodex resume --lastだけ覚えておけば十分で、日常の再開はほぼこれで済みます。

一覧に出るのは基本的に現在の作業ディレクトリのセッションです。別のフォルダで始めた作業まで含めて探したいときは--allを付けます。

codex resume --all

再開時には--model--sandboxなどの通常の起動フラグも併用できます。モデル指定の考え方は「Codexのモデル選択と切り替え方法」を参照してください。

codex exec resumeで非対話タスクを続ける

codex execで実行した非対話タスクにも続きを渡せます。

# 直近のexecセッションに追加の指示を渡す
codex exec resume --last "テストも追加して"

書式はcodex exec resume [SESSION_ID] [--last] [--all] [プロンプト]で、前回の結果を踏まえた追い打ちの指示をスクリプト的に流せるのが特徴です。

なお、codex exec--ephemeralを付けて実行した場合はセッションがディスクに保存されないため、後から再開できません。

codex forkで履歴を枝分かれさせる

「ここまでの文脈は活かしたいけれど、元のセッションは汚したくない」というときはcodex forkを使います。

codex resumeとcodex forkの対比: resumeは同じセッションをそのまま継続して履歴が1本に伸びるのに対し、forkは履歴を引き継いだ新しいセッションを作って枝分かれし、元のセッションは無傷で残ることを示す図解

# 直近セッションを複製して新しいセッションとして続ける
codex fork --last

forkはそれまでの会話履歴を引き継いだ新しいセッションを作り、元のセッションは無傷のまま残します。「方針Aと方針Bを別々に試したい」といった比較検討に便利です。

フラグはresumeと同じく[SESSION_ID] [--last] [--all]が使えます。

セッションの実体はrolloutファイル

セッションの中身は~/.codex/sessions配下に、日時ベースの名前を持つJSONL(JSON Lines)ファイルとして保存されています。いわゆるrolloutファイルです。

~/.codex/sessions/
└── 2026/08/18/
    └── rollout-2026-08-18T09-15-30-<UUID>.jsonl

ファイル名末尾のUUIDがセッションIDに当たり、codex resume <SESSION_ID>での指定に使えます。

セッションの整理には、チャット内のスラッシュコマンドが使えます。

スラッシュコマンド全般は「Codexコマンド一覧・早見表」にまとめています。

つまずきポイント

バグイヌバグイヌ

失敗した変更をなかったことにしたくてresumeしたのに、ファイルが昨日の状態に戻っていません!再開したのに、どうしてですか?

ハブネコハブネコ

resumeが戻すのは会話の続きであって、ファイルの状態ではないのです。コードを巻き戻したいときはgitの出番ですよ。まずgit statusで現状を確認してみてください。

よくある質問

resumeで復元されるのは何ですか?

会話履歴とその文脈です。前回のやり取りをCodexが把握した状態で続きを指示できます。

一方で、ファイルシステムやGitの状態は復元されません。

PC再起動後でも再開できますか?

できます。セッションは~/.codex/sessionsのrolloutファイルとしてディスクに保存されているため、ターミナルやPCを閉じても失われません。

resumeとforkはどう使い分けますか?

同じ作業の続きをそのまま進めるならresume、履歴を引き継ぎつつ元のセッションを残したまま別案を試すならforkです。

複数の方針を並行して比較する使い方は「Codexで複数タスクを並列実行する方法」とも相性が良いです。

ハブネコ

ハブネコのひとこと

長く続けるセッションには、早めに/renameで名前を付けておくのがおすすめです。後からピッカーで探すとき、日時とUUIDの羅列から目当てを見つけるのは意外と骨が折れますから。

まとめ

Codexのセッション再開はcodex resume --lastが基本で、一覧から選ぶなら引数なし、別ディレクトリまで探すなら--allです。

非対話タスクの続きはcodex exec resume、履歴を引き継いだ枝分かれはcodex forkが担当します。実体は~/.codex/sessionsのrolloutファイルで、resumeが戻すのは会話履歴だけという点を押さえておきましょう。

CLI操作の全体像は「Codex CLIの使い方」、コマンドの早見表は「Codexコマンド一覧・早見表」、Codex入門は「Codexの使い方完全ガイド」をご覧ください。