Codex のセッション再開|resume で前回の続きから
Codex を長い作業に使うほど、いったん閉じたセッションを翌日また開き直したくなる。最初からやり直すと、前回読ませたコードや決めた方針をもう一度説明することになり、時間もトークンも余計にかかる。Codex CLI には前回のセッションをそのまま開き直す resume が用意されており、直近のリリースでも resume --last の復元を高速化するなどセッション周りの改良が続いている(出典: https://github.com/openai/codex/releases )。本記事では resume の使い方を、対話と非対話の両面から順に整理する。
Codex のセッション再開(resume)は、前回の会話をそのまま開き直して続きから作業する ための仕組みだ。Codex は対話の記録をローカルに保存しており、再開すると元の会話の流れ・計画(plan)・その場で与えた承認がそのまま引き継がれる。最初から文脈を説明し直す必要がないため、中断と再開をまたいでも作業の連続性が保てる(出典: https://developers.openai.com/codex/cli/features )。
使い方は用途で分かれる。対話で続けるなら codex resume で最近のセッション一覧(ピッカー)から選び、迷わず最新に戻るなら codex resume --last、別ディレクトリの記録まで含めるなら --all を付ける。特定の回に戻りたいときはセッションIDを直接指定する。スクリプトから続きを流したいときは codex exec resume を使えば非対話のまま フォローアップの指示を渡せる(出典: https://developers.openai.com/codex/cli/reference )。
再開は常に正解ではない。話題が変わったなら新しいセッションで始めたほうが文脈が軽く、トークンの面でも有利だ。「続きなら resume、別件なら新規」 という線引きを持っておくと、消費を抑えつつ連続性を活かせる。なお resume はプレリリース版で改良が続く領域でもあるため、安定版(本記事時点で 0.139.0)との差は使う版を確認しておきたい(出典: https://github.com/openai/codex/releases )。
目次 (7)
なぜ前回のセッションに戻るのか — 文脈を捨てない
Codex で込み入った作業を進めると、一度のセッションでは終わらないことが多い。設計の方針を固め、関連ファイルを読ませ、いくつかの修正を承認してきた状態は、それ自体が貴重な文脈だ。ここでターミナルを閉じ、翌日まっさらな状態で始め直すと、同じ説明と同じファイルの読み込みをもう一度繰り返すことになる。やり直しは手間であるだけでなく、入力トークンの面でも無駄が大きい。
resume はこの「やり直し」を避けるための機能だ。Codex は対話の記録(トランスクリプト)をローカルに保存しており、再開すると元の会話の流れに加えて、それまでの計画の履歴やセッション中に与えた承認まで引き継がれる。公式ドキュメントも「Codex は以前の文脈を使いながら、あなたは新しい指示を与えられる」と説明している(出典: https://developers.openai.com/codex/cli/features )。つまり再開後は、ゼロから始めるのではなく「どこまで進めたか」を Codex が把握した状態で次の一手を頼める。日々の消費そのものを抑える観点は「Codex のトークンを節約する方法|モデル選択と文脈の絞り方」(/articles/codex-token-saving)でも扱っており、再開はその文脈管理と地続きの話だ。
codex resume の基本 — ピッカーと --last で前回に戻る
対話で続きを始める入り口は codex resume だ。引数なしで実行すると、現在の作業ディレクトリで動かした最近のセッション一覧がピッカーとして開く。候補を選ぶ前に各セッションの概要を確認でき、目的の回を見つけてから Enter で開き直せる。どのセッションだったか曖昧なときは、この一覧から見当をつけて戻るのが素直だ(出典: https://developers.openai.com/codex/cli/features )。
戻り方は次の三つを使い分けると迷いにくい。
codex resume— 現在の作業ディレクトリの最近のセッション一覧(ピッカー)が開く。概要を見てから選んで再開する。codex resume --last— ピッカーを飛ばし、直近のセッションへ即座に戻る。同じ作業の続きをすぐ始めたいときに最短だ。codex resume --all— 現在のディレクトリ以外で動かした記録も一覧に含める。別の場所で始めた作業を開き直したいときに使う。
resume はメインの codex コマンドと同じグローバルオプションを受け付けるため、再開時にモデルやサンドボックス設定を上書きすることもできる(出典: https://developers.openai.com/codex/cli/reference )。前回は軽いモデルで進めていた作業を、続きから一段深い設定で詰める、といった切り替えも再開のタイミングで指定できる。
セッションIDで特定の回に戻る — /status と保存場所
「あの回の続き」を確実に開きたいときは、セッションIDを直接指定する。codex resume <SESSION_ID> の形で実行すれば、ピッカーを介さず狙った回をそのまま再開できる(出典: https://developers.openai.com/codex/cli/reference )。複数の作業を並行して進めていて一覧から見分けにくいときほど、IDの直接指定が確実だ。
セッションIDは三つの場所から手に入る。ピッカーの表示、対話中の /status コマンド、そして保存先のファイル名だ。Codex はセッションを ~/.codex/sessions/ 配下にローカル保存しており、ここから直接IDを拾うこともできる(出典: https://developers.openai.com/codex/cli/features )。/status をはじめとするスラッシュコマンドの全体像は「Codex CLIの主要コマンドと使いどころ — 実践的リファレンス」(/articles/codex-commands)にまとめてあるので、コマンド一覧とあわせて押さえておくとよい。なお、再開後にプロジェクトの場所が変わっている場合は --cd で作業ディレクトリを上書きしたり、--add-dir で対象ディレクトリを足したりしてから続きに入れる(出典: https://developers.openai.com/codex/cli/reference )。
非対話モードで続きを流す — codex exec resume
ターミナルで対話せずに、前回の続きへ一気に指示を投げたい場面もある。そのときは非対話モードの codex exec resume を使う。codex exec resume --last "次の指示" のように書けば、直近のセッションに対してフォローアップの指示を渡したうえで、対話画面を開かずに処理を進められる。セッションIDを指定する codex exec resume <SESSION_ID> "次の指示" の形も使える(出典: https://developers.openai.com/codex/cli/reference )。
このサブコマンドは対話版と同じく --last や --all を受け付けるほか、--image(-i)でフォローアップに画像を添えられ、指示の本文は引数で渡すか - を指定して標準入力から読み込める。スクリプトから繰り返し呼び出すような使い方に向いた入り口だ。なお codex exec はセッションを既定でディスクに保存するが、記録を残したくない場合は --ephemeral を付けて保存なしで走らせることもできる(出典: https://developers.openai.com/codex/cli/reference )。残すか残さないかを意識して使い分けると、後から再開できる作業と使い捨ての作業を整理しやすい。
再開すべきとき・新しく始めるべきとき
resume は便利だが、いつでも前回に戻ればよいわけではない。判断の軸はシンプルで、いまから進める作業が前回の続きなのか、それとも別件なのかだ。同じ機能の実装や同じバグの追跡を続けるなら、文脈を引き継げる resume が効く。一方、話題がまったく変わったのに古いセッションを引きずると、不要な履歴が毎回の入力に持ち越され、文脈が重くなってトークンの面でも不利になる。別件は新しいセッションで始めたほうが軽く済む。
長い一つの作業を続けたい一方で履歴が膨らんできた、というときは、再開とは別にコンテキスト圧縮が役に立つ。/compact などで履歴を整理すれば、文脈を保ちながら重さを抑えられる。圧縮の仕組みと手動・自動の使い分けは「Codexのコンテキスト圧縮|/compactと自動圧縮の使い分け」(/articles/codex-context-compaction)で詳しく扱っている。「続きなら resume、別件なら新規、長くなったら圧縮」という三つの引き出しを持っておくと、連続性とトークン消費のバランスを取りやすい。消費そのものを抑える打ち手は「Codex のトークンを節約する方法|モデル選択と文脈の絞り方」(/articles/codex-token-saving)も参照してほしい。
注意点 — プレリリースと保存・確認
resume はセッション管理の中核として改良が続いている領域だ。直近では resume --last が状態データベースを先に参照して最新の該当セッションを見つけるようになり、ローカルの履歴が大きくても復元が速くなった(出典: https://github.com/openai/codex/releases )。こうした改善はプレリリース(alpha)で先行して入ることが多く、本記事時点の安定版は 0.139.0 が継続している。安定版と先行版で挙動が一致するとは限らないため、使っている版を確認したうえで活用したい(出典: https://github.com/openai/codex/releases )。
保存の面も押さえておきたい。Codex はセッションを ~/.codex/sessions/ 配下にローカル保存しており、再開できるのはこの記録があるからだ。裏を返せば、これらのトランスクリプトには過去のやり取りが含まれるため、共有端末などでは保存物の扱いに注意がいる。記録を残したくない非対話の実行では --ephemeral を使う選択肢がある(出典: https://developers.openai.com/codex/cli/reference )。コマンドやオプションの細部は改定されうるので、迷ったら公式ドキュメントで最新の仕様を確認するのが確実だ(出典: https://developers.openai.com/codex/cli/reference )。
まとめ — 「戻る → 選ぶ → 続けるか新規か」で使い分ける
Codex のセッション再開は、流れで覚えると迷いにくい。まず前回に戻る入り口は codex resume で、ピッカーから選ぶか、最短で戻る --last、別ディレクトリまで含める --all、確実に狙うセッションIDの指定を使い分ける(出典: https://developers.openai.com/codex/cli/reference )。セッションIDはピッカー・/status・~/.codex/sessions/ のファイルから拾える。対話せずに続きを流したいときは codex exec resume を使えばよい(出典: https://developers.openai.com/codex/cli/features )。
最後に、再開は連続性のための手段であって目的ではない。続きなら resume、別件なら新規、履歴が重くなったら圧縮、という線引きを持っておくと、文脈を捨てずにトークン消費も抑えられる。resume はプレリリースで改良が続く領域でもあるため、安定版(本記事時点で 0.139.0)との差や細部の仕様は、使う版と公式ドキュメントで確認しておくと安心だ(出典: https://github.com/openai/codex/releases )。