Codexのセッションを再開する方法とは?エラーやタイムアウトを回避する対策ガイド!

ターミナルで動く便利なAIツールを使っていて、突然画面を閉じちゃったり、PCがフリーズして作業が途切れちゃったりした経験はありませんか。特に、codexのセッションを再開したいけれど、どうやれば前の会話の続きから効率よく開発を続けられるのか、具体的なやり方が分からなくて悩んでいる人も多いかなと思います。

過去に自動保存された対話履歴がディスクを圧迫していてcodexのセッションを削除したかったり、便利なサードパーティ製のツールであるcodex-sessionsを探していたりするケースもあるかもしれません。また、競合ツールであるclaude codeのセッションを再開する仕組みとの違いが気になったり、大規模ファイルを解析させた時のcodex cliのタイムアウト問題、過去のプロンプトや修正差分を視覚的に追跡できるcodexのセッション履歴の確認方法を探している方もいるはずです。

この記事では、初心者の方でも迷わずに作業を一瞬で復活させられるよう、コマンドの使い方からエラーが出たときの対策まで分かりやすく丁寧に解説します。最後まで読めば、途切れた開発タスクをスムーズに引き継いで、時間を無駄にせず開発に集中できるようになりますよ。

  • Codexで過去の対話や作業状態を安全に呼び出す基本コマンド
  • セッション履歴の確認方法と不要になったデータの整理・物理削除手順
  • 5時間利用制限の仕組みとエラーでフリーズしたときの確実な回避ワークアラウンド
  • プロジェクト設定ファイル(AGENTS.md)を活用した消費トークンの削減テクニック
目次

codexのセッションを再開する基本手順

まずは、中断してしまった開発作業をターミナル上でスムーズに復活させるための基本的なアプローチについて見ていきましょう。直近の作業をすぐに続けたい場合や、過去の履歴から特定のタスクを選びたい場合のコマンドの使い分け、さらには便利な周辺ツールやエディタ拡張機能の使い方まで分かりやすく解説しますね。

セッションの履歴を視覚的に追跡する方法

過去に実行したプロンプトや、AIエージェントが加えてくれたコードの修正履歴(diff)を、ターミナルの文字だけでなく画面(GUI)で分かりやすく確認したいときってありますよね。そんなときにおすすめなのが、便利な拡張機能やローカルで動かせるWebビューアを活用する方法です。CLIツールでありながら、リッチな画面で過去の資産を遡れるのは非常に強力な機能かなと思います。

特に、大規模なリファクタリングを繰り返していると、「3日前のあのセッションで出力されたコードの一部をもう一度参照したい」といったシチュエーションが頻繁に発生します。これをターミナル内の履歴スクロールや、生ログであるJSONLファイルから自力で探し出すのは至難の業ですよね。以下で紹介する2つの視聴アプローチを導入するだけで、まるで通常のWebサービスを触っているかのような快適さで、過去のすべてのAIとのやり取りを時系列で綺麗にトラッキングできるようになりますよ。

Codex History Viewer(VS Code拡張機能)

VS Codeを使っているなら、公式の拡張機能である「Codex History Viewer」を導入するのが一番手軽でおすすめです。アクティビティバーに専用のアイコンが追加され、過去の会話スレッドが「年/月/日/プロジェクト」ごとに綺麗にツリー表示されます。キーワードを入力すれば、過去のプロンプトや適用されたソースコードの差分、アタッチした画像などのメタデータまで一瞬で高速検索できるので、視覚的な追跡がとても簡単になりますよ。

Codex Viewer(ローカルWebダッシュボード)

ブラウザでグラフィカルに管理したい場合は、ローカルWebサーバーを立ち上げる「Codex Viewer」が便利です。ターミナルで以下のコマンドを実行するだけで、手軽にダッシュボードを起動できます。

PORT=3400 npx @nogataka/codex-viewer@latest

これを実行したあとにブラウザで localhost:3400 にアクセスすると、各プロジェクトのセッションがカード形式で綺麗に並んだ管理画面が表示されます。タイトルや最終更新日時、自分が最初に投げた指示がひと目で把握できるのが魅力ですね。カードメニューからセッションID(sessionId)をワンクリックでコピーできるので、後述する再開コマンドへの連携も非常にスムーズです。

補足:高度なフィルタリング機能
Codex Viewerのクッキー設定を変更すると、「同じコマンドから派生したスレッドを自動で1つに統合する(unifySameTitleSession)」機能や、「中身が空っぽのセッションを非表示にする(hideNoUserMessageSession)」機能などが使えます。履歴がごちゃごちゃしてきたときに重宝しますよ。

セッションを削除してディスクを整理する手順

「過去に自動保存された対話履歴が溜まってきてディスク容量を圧迫している」「機密情報が含まれるログを消去したい」という場合、現在のCLIには標準の削除コマンド(codex deleteなど)が用意されていません。そのため、不要になった履歴はローカルの設定ディレクトリから物理的に手動削除する必要があります。この「削除コマンドがない」という仕様を事前に知らないと、ターミナルで延々とヘルプコマンドを叩き続けることになってしまうので注意が必要かなと思います。

Codexのログは非常に詳細で、AIが解析したソースコードの構造や、生成された中間ファイル、さらにはコンテキストのバックアップまでをも丸ごと保存するため、毎日ヘビーに使い込んでいると1ヶ月で数ギガバイトもの容量に膨れ上がってしまうケースも珍しくありません。また、会社の共有プロジェクトなどでうっかりセキュアな認証キーや個人情報を含むログをローカルに残してしまった場合、セキュリティの観点からもこれらの物理ファイルを確実に狙い撃ちで消去できるスキルは必須になってきます。

Codexのセッション履歴は、すべてリアルタイムに「JSON Lines(JSONL)」形式のファイルとして、OSごとの特定の場所に保存されています。具体的な保存先は以下の通りです。

対象のOS環境物理的なセッション保存ディレクトリのパス
macOS / Linux~/.codex/sessions/YYYY/MM/DD/
Windows (WSL)~/.codex/sessions/YYYY/MM/DD/
Windows (Native)C:\Users\<ユーザー名>\.codex\sessions\

ファイル名は rollout-YYYY-MM-DDTHH-MM-SS-*.jsonl という日付ベースの形式になっています。不要なファイルをMacやLinuxなら rm コマンドで物理削除するか、Windowsのエクスプローラーからゴミ箱に捨てることで、対話型ピッカーの選択肢からも非表示になり、ディスクを綺麗にクリーンアップできます。

タイムアウトが発生したときの初心者の対処法

大規模なファイルを一気に解析させたり、会話のやり取りが長くなってコンテキストの上限に達したりしたときに、CLIがフリーズしたりエラーを吐いて止まったりすることがあります。これが、初心者の方が最初につまずきやすい「タイムアウト問題」ですね。突然プロンプトの入力が受け付けなくなったり、数分間待った挙句に赤い文字でエラーメッセージがドバッと出ると、何か重大な不具合が起きたんじゃないかと焦ってしまうかもしれません。

この現象の多くは、ChatGPTのWebブラウザログインに起因する、バックエンドの自動要約(コンパクション)APIのハングアップが原因です。会話が長くなると、ツールは履歴を小さくまとめようと裏で処理を走らせるのですが、ブラウザログインによる認証の仕組みだと、この通信がセッションのタイムアウト限界である60秒や120秒を超えてしまい、うまく完了せずに途中で遮断されてしまうのです。特に数千行を超えるソースコードを一度に読み込ませた直後に発生しやすくなります。

簡単な回避策としては、作業が長くなりそうなときはデフォルトのブラウザログインを避け、OpenAI互換のAPIキーによる直接認証パスに切り替えるのが有効です。環境変数にAPIキーを設定して動作させることで、通信のハングアップを防ぎ、スムーズに長時間のセッションを維持できるようになりますよ。設定方法は非常にシンプルで、お使いのシェル設定ファイル(.bashrc.zshrc)に export CODEX_API_KEY="your-key-here" を追記して反映させるだけなので、フリーズに悩まされている方は今すぐ試してみる価値アリかなと思います。

別のツールであるclaude codeとの違い

Anthropicが提供している競合ツール「Claude Code」におけるセッション管理と、どのような機能差や利便性の違いがあるのか気になっている方もいるかなと思います。同じようにターミナル上で自律的に動くAIエージェントですが、その設計思想やセッションのハンドリング方法にはいくつかの明確な違いが存在します。一番大きな違いは、会話に人間が分かりやすい「任意のカスタム名」を付けられるかどうか、という点にあります。

Codexではセッションを特定する際に、システムが自動生成した「UUID(ランダムな英数字の羅列)」を扱う必要があります。そのため、後から見返したときに「えっと、認証機能を実装していたのはどのIDのセッションだっけ…」と判別しにくいのが少し弱点かもです。これに対して、Claude Codeには「Named Session」という非常に直感的な機能が標準で備わっています。

Claude Codeの環境では、会話の途中で /rename payment-integration と打つだけで、そのセッションに好きな名前を付けられます。次回からは claude --resume payment-integration と名前を指定するだけで呼び出せるので、UIの使いやすさという面では一歩リードしている印象があります。ただ、Claude Codeは原則として同一のGitリポジトリ内にセッションの保存範囲が制限されるのに対し、Codexはプロジェクトを跨いだ柔軟なセッションのフォークができるなど、それぞれに違ったメリットがあります。

ターミナルで動作するセッション管理のツール

「いちいちVS Codeを開いたり、ブラウザのダッシュボードを立ち上げたりするのは面倒」「ターミナルの中だけでスマートに完結させたい」という方には、サードパーティ製の便利なTUI(テキストユーザインタフェース)ツールの活用がおすすめです。マウスに手を伸ばすことなく、キーボードのタイピングだけで過去のセッションを自由自在に行き来できるようになると、開発の生産性は格段に跳ね上がります。

これらのサードパーティ製ツールは、Codexの生ログ(JSONL)が特定の規則に従って保存されている特性を活かし、有志のコミュニティによって開発されました。公式の機能がアップデートされるのを待つことなく、今すぐターミナル環境をハッカーライクで快適なものにカスタマイズできるのが嬉しいポイントですね。ここでは、特に人気の高い2つの周辺ツールについて詳しく掘り下げてご紹介します。

codex-sessions(おすすめのTUI管理ツール)

クロスプラットフォームに対応した、RustやGo言語製のような非常に軽快に動くTUI管理ソフトです。ターミナル上で起動すると、過去のすべてのセッション履歴が一覧で表示され、上下キーでの選択や「あいまい検索(Fuzzy Search)」を使って、目的の会話を即座に見つけ出すことができます。さらに、不要になった古いログ(アーティファクト)をその画面上で1クリックで物理削除・整理することもできるので、画面をあち起こち移動する必要がなくなります。

codex-history-list

こちらはローカルのログを素早くスキャンして、現在開いているカレントディレクトリ(CWD)や、過去に投入したプロンプトの履歴、タイムスタンプをシンプルな一覧テーブルとしてターミナルに出力してくれるツールです。内部的には構成を上書きするフラグを利用して、過去の文脈を強制的に疑似復元するワークアラウンドを提供してくれます。ターミナル作業に最適化された環境を作りたい方は、ぜひ試してみてくださいね。

codexのセッションを再開できない時の対策

ここからは、実務で本格的に使い込んでいるときに直面しやすい、よりディープなトラブルの原因と具体的な解決策について解説します。セッションを再開しようとしたのにエラーで進まないときや、利用制限にあっという間に達してしまうといったペインポイントを解消していきましょう。

5時間制限でエラーが出る原因と解決策

有償プラン(ChatGPT PlusやPro、Businessなど)を使っていて、「5時間の利用制限枠があっという間にゼロになってエラーが出る」「画面下のパーセンテージ表示が急に変わって混乱する」という報告がよくあります。まず知っておきたいのは、画面の最下部に表示されている「%ゲージ」は時間制限ではなく、現在のセッションにおけるコンテキスト窓(記憶容量)の占有率だということです。これが100%に近付くと自動的に履歴の要約処理が走り、ゲージがリセットされる仕組みになっています。

一方で、実際の「5時間利用制限」は実時間ではなく、モデルがコードを解析したり計画を立てたりするために実際に頭を動かした累積時間(推論処理時間)や消費トークン量で計算されます。この消費の早さは、契約しているアカウントプランと選択しているAIモデルによって大きく変わります。目安として以下の比較表を見てみましょう。

アカウントプラン選択モデル5時間枠内の実質推論時間特徴と実務への影響
ChatGPT PlusGPT-5.4約40分間最新モデルですが、大規模なリファクタリングを数回回すと制限に達しやすいです。
ChatGPT PlusGPT-5.3約60分間日常の定型開発やデバッグにおいて、最も実用的なバランスの取れたモデルです。
ChatGPT ProGPT-5.4約200分間〜400分間予算が大幅に増えるため、業務時間中の大半のタスクを余裕でこなせます。
ChatGPT BusinessGPT-5.4約12.5分間実質枠がかなり短いため、数回の自動要約で一瞬で上限に達することがあります。

※上記の数値はあくまで一般的な運用上の目安であり、処理させるコードの量や複雑さによって変動します。

制限を枯渇させないための最大の対策は、新しくセッションを再開するたびに、毎回無駄な前提プロンプト(長文の仕様説明など)を何度も往復させないことです。また、重たいタスクにはGPT-5.4を使い、普段のちょっとしたデバッグには少しエコノミーなGPT-5.3を選ぶといった、モデルの賢い使い分けを意識するのがおすすめかなと思います。

windows環境でログインに失敗する時の対策

セッションの再開に必要なログイン認証を行うとき、Windows環境においてブラウザでの認証画面から戻ってきた後、いつまでも完了せずにフリーズしたり、os error 10013access forbidden といったエラーを吐いて失敗することがあります。せっかくやる気になってターミナルを開いたのに、認証の部分で躓いてしまうと一気にモチベーションが下がってしまいますよね。

この原因のほとんどは、ローカルで認証トークンを受け取るためのポート番号「127.0.0.1:1455」が、Windows上で他のプロセス(WSLやHyper-V、VPNツール、あるいはセキュリティソフトの常駐監視など)に占有されて衝突していることにあります。Codex CLIはブラウザでログインが成功したというサインをこのポート経由で待ち受けているため、ここが塞がっていると「認証完了のシグナル」をいつまでも受け取れずにフリーズしてしまうわけです。対策としては、以下の手順で原因となっているプロセスを特定して強制終了させるか、衝突の起きない認証モードを試すのが確実です。

ポート競合の解消手順(PowerShellの場合)
1. netstat -ano | findstr :1455 を実行してPID(プロセスID)を特定します。
2. taskkill /PID <特定したID> /F を実行してプロセスを強制終了します。

ポートの解放が面倒な場合は、最も安定した代替手段として、ブラウザを介さないデバイスコード認証を利用するのが一番おすすめです。ターミナルで以下のコマンドを叩いてみてください。

codex login --device-auth

これを実行すると、画面上にワンタイムコードとログイン用のURLが表示されます。スマホや普段使っているブラウザからそのURLを開いてコードを入力するだけで、ポートの衝突を完全に回避してクリーンにログインを完了させることができますよ。

プロジェクト共通の設計書でトークンを削減

セッションを新しく立ち上げたり再開したりするたびに、「このプロジェクトの基本設計はこうで、コーディング規約はこれで、使っているライブラリはこれです」と毎回AIに読み込ませていませんか。これをやっていると、起動するだけで大量のトークンを消費してしまい、あっという間に利用制限に達してしまいます。人間で例えるなら、毎朝出社するたびに分厚い社内マニュアルを1ページ目から音読させられているようなもので、非常に非効率的ですよね。

この起動トークンの膨張を抑えつつ、AIの回答精度を一撃で劇的に引き上げるための賢いテクニックが、プロジェクトのルートディレクトリにAIエージェント向けの共通設計書「AGENTS.md」を配置するという方法です。これさえあれば、過去の会話コンテキストがリセットされたまっさらなセッションであっても、起動した瞬間にAIがプロジェクトの全容をインテリジェンスに理解してくれます。

AGENTS.mdは、多くのオープンソースプロジェクトでも採用されているAIアシスタント用の世界共通コンテキスト規格です。このファイルに、ビルドやテスト用の正確なコマンド(例:npm run test)や、使用している技術スタック、ディレクトリ構造のルール、遵守させたい規約などをあらかじめMarkdown形式で記述しておきます。Codex CLIは起動時に自動でこのファイルを検出して読み込んでくれるため、わざわざプロンプトで長々と前提条件を説明する必要がなくなり、セッション再開時のトークン消費を劇的に抑えることができます。

複数のaiツールで設定ファイルを共存させる

実際の開発現場では、Codexだけでなく、Claude CodeやCursorといった他の強力なAIツールを併用していることも多いかなと思います。ここで問題になるのが、「それぞれのツールごとに設定ファイルを作ると管理が大変だし、ファイルの重複でごちゃごちゃしてしまう」という点です。ツールごとに仕様書の修正を反映して回るなんて、本末転倒な作業はできるだけ避けたいところですよね。

実は、これらは非常にスマートに共存させることができます。ツールの仕様を賢くハックすることで、1つの共通ファイルを使い回す仕組みが構築可能です。Claude Codeにおける同様の設定ファイルは「CLAUDE.md」ですが、Claude Codeは親切な設計になっていて、CLAUDE.mdが存在しない場合は自動的にAGENTS.mdを代わりに読み込んでくれる性質を持っています。

また、CLAUDE.mdの中に以下のように1行記述するだけで、中身をコピーすることなく共通のドキュメントとして読み込ませるインポート設計も可能です。

@AGENTS.md

このように、AGENTS.mdを「プロジェクトの唯一の真実(共通設計書)」として中央に1つだけ置いておき、他のツールにもそれを参照させる構成にするのが、管理の手間も省けてトークン管理の面でももっとも効率が良い賢い運用方法ですね。

自動で要約を実行するコンパクションの仕組み

長時間の開発作業を続けていると、会話のログがどんどん積み重なって、AIが扱える記憶の上限(コンテキストウィンドウ)を超えてしまいそうになりますよね。通常のチャットAIだと、上限を超えた過去の会話から順番に忘れていってしまい、さっき決めたはずの仕様を忘れてバグを生み出すといったことが起きますが、Codex CLIが優れているのは、ユーザーが手動でリセット操作をしなくても、裏で自律的に要約タスクを実行する「コンパクション(Compaction)」という仕組みが備わっている点です。

トークンの使用量が全体の80%〜85%に達したことを検知すると、システムはこれまでの変更差分や決定した方針、まだ終わっていないToDoリストなど、これからの作業に本当に必要なコアイメージだけをギュッと凝縮してチェックポイントとして固定します。そして、古い冗長なやり取りの履歴をカットして、記憶の空きスペースを自動で確保してくれるのです。

この高度な自動要約ループがあるおかげで、複雑なコードベースの大規模なリファクタリングなど、最長で7時間以上もの長時間の連続作業を破綻させることなく自律的に進めることが可能になっています。セッションを再開した際も、このコンパクションされた綺麗な状態からスタートできるため、無駄なオーバーヘッドが発生しません。

開発を効率化するcodexのセッション再開まとめ

ここまで、Codex CLIにおける文脈の復元メカニズムや、各種コマンドの使い分け、よくあるトラブルの対策について詳しく見てきました。最後に、実務で迷ったときにすぐ使える主要コマンドの挙動の違いを分かりやすく表にまとめておきますね。

実行コマンド物理的な動作と特徴主な実務ユースケース
codex resume対話的なセッションピッカー(選択画面)を起動する。過去数日間の作業から、特定のタスクを選んで復元したいとき。
codex resume --last選択画面を挟まず、直近の最後のセッションをダイレクトに開く。コンソールを閉じた直後、同じ場所から最短で作業を再開したいとき。
codex resume <SESSION_ID>指定した特定のUUIDに紐づくセッションをピンポイントで復元する。過去のログやダッシュボードから特定した確実な文脈を呼び出したいとき。
codex continue新しいブランチ(フォーク)を切らず、元のファイル末尾に直接ログを結合する。オリジナルのセッションIDを同一に保ったまま、ログを1つにまとめたいとき。

特に知っておきたいコツとして、codex resumeを使ってセッションをロードすると、内部的には「元の会話をテンプレートとしてコピーし、そこから新しい別のIDで分岐(フォーク)スレッドを作る」という挙動になります。これにより、元の綺麗な開発状態をバックアップとして安全に残したまま、別の実装パターンを実験的に試すといったパラレルワークが可能になります。

ターミナルの不意な切断やタイムアウト、5時間制限の壁にぶつかったときは、本記事で紹介した「APIキー認証への切り替え」や「--device-authによるポート衝突回避」、そして「AGENTS.mdによるコンテキストの共通化」をぜひ試してみてください。セッションの仕組みを正しくマスターして、より快適でスピーディーな開発ワークフローを実現させていきましょう!

この記事を書いた人

エンジニア歴 12 年・Web マーケター歴 4 年・ブログライター歴9年。エンジニア兼マーケターの視点から AI ツール活用に取り組んでいます。
AI-Rise では、NotebookLM・Claude Code・Google AI Studio・Gamma などの主要 AI ツールについて、機能・料金・使い方・エラー解決といった実用情報を整理して発信。新しいツールが登場するたびに調べ、初心者がつまずきやすいポイントを噛み砕いて記事にすることを意識しています。

目次