Codexがチャットを保存する場所
Codexは複数の場所で動作し、それぞれチャットの表示方法が少し異なります。
ChatGPTデスクトップアプリ。 CodexのチャットとプロジェクトはCodexのサイドバーに表示されます。OpenAIは、表示されないものについて明確に述べています。「ChatGPTのチャットは、Codexのチャットとプロジェクトが含まれるCodexのサイドバーには表示されません。」クイックチャット(Quick chat)は通常のChatGPTチャットを開くため、これもCodexのリストには表示されません。
Codex CLI。 CLIは、起動したディレクトリをチャットのプロジェクトとして扱います。「チャットは文字起こし(トランスクリプト)と記録された作業ディレクトリを保持し、Codexは現在の作業ツリーからファイルを読み込みます。」セッション内からは/resume、シェルからはcodex resumeを使用してチャットに戻ることができます。
IDE拡張機能。 拡張機能は、開いているフォルダまたはワークスペースをプロジェクトとして扱い、「最近のチャット(Recent chats)」からチャットに戻ります。OpenAIは、「拡張機能は、ウェブやデスクトップアプリのChatGPT Projectsビューを公開しません」と指摘しています。
Codexクラウド。 クラウドチャットには独自のリストがあります。ターミナルから、OpenAIはcodex cloudを使用することで「ターミナルからCodexクラウドチャットを操作できる」と述べており、codex cloud listはオプションのフィルタリングを適用して最近のクラウドチャットを返します。
ディスク上。 ローカルチャットの場合、文字起こしはコンピュータ上に保存されます。OpenAIのトラブルシューティングページによると、セッションの文字起こしは$CODEX_HOME/sessions(デフォルトは~/.codex/sessions)、アーカイブされたセッションは$CODEX_HOME/archived_sessions(デフォルトは~/.codex/archived_sessions)に保存されます。
もう一つ知っておくべき境界線があります。Codexに加えてChatGPT Workも使用している場合、OpenAIは「Workの会話履歴はCodexの履歴とは別々に保持されます」と述べています。Workで行った会話は、Codexのリストには表示されません。
Codexのチャットが表示されなくなる理由
以下は、文書化されている原因です。確認しやすいものから順に説明します。
アーカイブされた
アーカイブは、完了した作業を整理するための通常の方法です。デスクトップアプリでは、個々のチャットをアーカイブできるほか、プロジェクトのメニューからプロジェクトのすべてのチャットをまとめてアーカイブすることもできます。
CLIでは、codex archiveが保存されたセッションに対して同じ処理を行います。OpenAIはその目的を「文字起こしを削除せずにセッションピッカーを整理したい場合に、これらのコマンドを使用します」と説明しています。OpenAIのアプリサーバーリファレンスでは、アーカイブを「セッションのログファイルをアーカイブ済みセッションディレクトリに移動すること」と説明しています。
アーカイブされたチャットは消えたわけではありません。デフォルトのリストから外れているだけです。
異なるディレクトリから探している
CLIは、一部のショートカットのスコープを現在の場所に限定します。OpenAIのリファレンスには、「codex resumeは、--allを渡さない限り、--lastのスコープを現在の作業ディレクトリに限定します」とあります。あるリポジトリでチャットを開始し、別のリポジトリからcodex resume --lastを実行した場合、代わりに2番目のリポジトリの最新のチャットが取得されます。
IDE拡張機能は、開いているフォルダまたはワークスペースをプロジェクトとして扱うため、「最近のチャット(Recent chats)」を確認する前に同じフォルダを開いてください。
非インタラクティブな実行だった
codex execで開始されたセッションは非インタラクティブであり、指定しない限り再開ピッカーからは除外されます。関連するオプションは「ピッカーおよび--lastの選択に非インタラクティブセッションを含める」と説明されています。探している作業がスクリプトや単発のexecコマンドによるものである場合、それがリストに表示されない原因である可能性が高いです。
違うリストを見ている
ChatGPTのチャットはCodexのチャットには表示されず、Workの会話はCodexの履歴には表示されず、ChatGPT ProjectsビューはIDE拡張機能には表示されません。どこで会話を始めたか思い出せない場合は、紛失したと判断する前に、それぞれのインターフェースを確認してください。
保存されなかった、または別のマシンにある
Codexはセッションを保存せずに実行することもできます。--ephemeralフラグは「セッションのロールアウトファイルをディスクに永続化せずに」実行するため、エフェメラル(一時的)な実行では探すべきセッションファイルが残りません。また、設定によってローカル履歴が制限されることもあります。OpenAIの設定リファレンスでは、history.persistenceが「Codexがセッションの文字起こしをhistory.jsonlに保存するかどうか」を制御し、history.max_bytesが「最も古いエントリを削除することで」そのファイルのサイズを制限すると説明されています。どちらかを変更した場合は、設定値を確認してください。
ローカルの文字起こしもCODEX_HOME配下に保存されます。その場所を変更した、ユーザーアカウントを切り替えた、あるいは別のコンピュータで作業した場合は、チャットは別の場所にあります。
削除された
codex deleteはアーカイブとは異なります。OpenAIはこれを「セッションIDまたはセッション名によって、保存されたインタラクティブセッションを永久に削除する」コマンドと説明しています。ガイドラインでは、「アクティブなセッションリストから非表示にするのではなく、文字起こしを完全に削除したい場合にのみ」使用することを推奨しています。削除されたセッションは、このリストの中で唯一、復元が不可能なケースです。
多くの人が最初に試すこと
サイドバーをスクロールする。 これは最近のチャットには有効ですが、アーカイブされたチャットや別のインターフェースからのチャットには機能しません。
タイトルで検索する。 タイトルは自動生成されることが多く、覚えていない場合があります。OpenAIの提案は、代わりに内容で検索することです。サイドバーから「チャットを検索(Search chats)」を開き、「タイトルは覚えていないが、フレーズやブランチ名を覚えている過去のチャットを見つける」ことができます。「チャットを検索」にはデフォルトのショートカットはありませんが、設定の「キーボードショートカット(Keyboard Shortcuts)」で割り当てることができます。
Codexを再インストールする。 これは上記の原因のいずれにも対処できません。
チャットが削除されたと思い込む。 まずアーカイブを確認してください。アーカイブは元に戻すことができます。
解決策:アーカイブを確認し、正しい場所から検索し、コンテキストをチャットの外部に保持する
ステップ 1:アーカイブされたチャットを確認して復元する
ChatGPTデスクトップアプリで、設定を開き「アーカイブされたチャット(Archived chats)」に移動します。OpenAIの設定リファレンスでは、「アーカイブされたチャットセクションには、日付とプロジェクトのコンテキストとともにアーカイブされたチャットがリストされます」と説明されています。「アーカイブを解除(Unarchive)」を使用してチャットを復元します。
CLIでは、codex unarchiveに続けてセッションIDまたは名前を指定して、アーカイブされたセッションを復元します。OpenAIは「セッションIDはセッション名よりも優先されます」と指摘しているため、似たような名前のセッションが複数ある場合はIDを使用してください。
何がアーカイブされたかわからない場合は、デフォルトで~/.codex/archived_sessionsにあるアーカイブ済みセッションディレクトリを確認すると、そこに何かがあるかどうかがわかります。
ステップ 2:正しい場所から検索する
チャットがアーカイブされていない場合は、検索範囲を広げます。
- CLIでは、元のディレクトリに戻る。 チャットを開始したリポジトリから
codex resumeを実行します。どれかわからない場合は、codex resume --last --allを実行すると、任意のディレクトリからのセッションが考慮されます。 - 非インタラクティブな実行を含める。 作業が
codex execによるものである場合は、--include-non-interactiveを追加します。 - デスクトップアプリの「チャットを検索」を使用する。 覚えているフレーズ、ファイル名、またはブランチ名を検索します。
- IDEで正しいワークスペースを開く。 そのチャットのときに開いていたのと同じフォルダまたはワークスペースを使用します。
- 他のインターフェースを確認する。 クイックチャットはChatGPT、Workの会話はWork、クラウドで実行された作業はクラウドチャットリストを確認します。
- 正しい
CODEX_HOMEを確認する。 現在のセットアップがどの場所を使用しているかを確認し、作業を行ったコンピュータ上を探します。
チャットが保存されたディレクトリとは異なるディレクトリから再開する場合、OpenAIは「現在の作業ディレクトリがセッションの保存先ディレクトリと異なる場合、Codexはどちらのディレクトリを使用するかを尋ねます」と述べています。Codexに今ファイルを読み込ませたいディレクトリを指定して回答してください。
ステップ 3:重要なコンテキストを個々のチャットの外部に保持する
チャットを見つけることは今日の問題を解決します。より永続的な解決策は、再び必要になる事柄についてチャットの文字起こしに依存するのをやめることです。
OpenAI自身のガイダンスも同じ方向を指し示しています。「将来のチャットで利用できるように、永続的なプロジェクトのガイダンスはAGENTS.mdまたはチェックインされたドキュメントに保持してください。」メモリについては、「メモリは、常に適用しなければならないルールの唯一のソースとしてではなく、役立つ想起レイヤーとして扱ってください」と付け加えています。
実践においては:
- 決定事項を
AGENTS.mdまたは決定事項ファイルに書き出す。 チャットで決定が下されたら、それを書き留めます。これは、Codexがプロジェクトのコンテキストを忘れる問題に関するガイドで説明されているように、将来のすべてのチャットが読み込むものです。 - チャットの名前を結果に基づいて変更する。 OpenAIは、結果を説明する短いタイトルを推奨しています。これにより、後で見つけやすくなります。
- よく戻るチャットをピン留めする。 OpenAIは、頻繁に戻るチャットをピン留めすることを推奨しています。これにより、プロジェクトに新しいチャットが表示されても、そのチャットが常に表示されたままになります。
- 削除するのではなくアーカイブする。 アーカイブすることでリストが整理され、文字起こしが保持されます。
- 作業に適している場合はローカルメモリをオンにする。 Codexのローカルメモリに関するガイドでは、何が保持され、どのように制御するかを説明しています。
もしAGENTS.mdが長くなってきたら、Codexが実際にそのすべてを読み込んでいるか確認してください。CodexがAGENTS.mdのルールをスキップする問題に関するガイドでは、サイズ制限と確認方法について説明しています。
Setting this up in MemoryLake
失われたチャットから得たかった決定事項は、文字起こしよりも永続的な場所に保管しておく価値のある部分です。MemoryLakeは、そのような記録を管理する1つのリストに保持し、Codexや他の使用しているアシスタントから利用できるようにするためのメモリレイヤーです。
エントリはご自身の言葉で自分で作成します。Codexのセッション、アーカイブされたチャット、CODEX_HOMEディレクトリ、またはベンダーのストアから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。リポジトリの外部にプロジェクトの詳細を保存する前に、組織のポリシーを確認してください。
ステップ 1:APIキーを作成する
サインインし、ダッシュボードからキーを生成します。このキーはMemoryLakeワークスペースに属し、OpenAIアカウントとは別個のものです。

ステップ 2:最初のメモリをアップロードする
探しに行った決定事項から始めましょう。うまくいったアプローチ、うまくいかなかったアプローチ、およびその理由です。1つのエントリにつき1つの決定事項を、日付付きで登録します。

ステップ 3:AIとエージェントを接続する
Codexやその他の使用しているアシスタントを接続します。これにより、古いチャットがアーカイブされていたり、別のディレクトリで開始されていたり、異なるツールで実行されていたりしても、新しいチャットでそれらの決定事項を利用できるようになります。

実践においてこれがもたらす変化
最初の違いはスピードです。アーカイブは非表示にし、削除は消去すること、そしてCLIは再開のスコープをディレクトリに限定することを知っておくことで、「チャットが消えてしまった」という漠然とした不安が、短いチェックリストへと変わります。
2つ目は、誤検知の減少です。アーカイブ、フィルター、その他のリストを最初に確認することで、まだ手元にある作業を再構築してしまうのを防ぐことができます。
3つ目は、文字起こしへの依存度の低下です。決定事項がAGENTS.mdや決定事項ファイルに存在する場合、チャットが見つからなくても失うのは会話だけであり、結論ではありません。
4つ目は、ツール間の移行がスムーズになることです。他の場所からチャットを取り込む場合、CodexがCursorやClaudeからインポートできる内容に関するガイドで、何が引き継がれるかを説明しています。Codexと並行してdotsを使用している場合は、dotsとCodexの間でコンテキストがどのように移動するかに関するガイドで、それらのチャットがどのように関連しているかを説明しています。
Codexのチャット履歴を見つけやすくするためのベストプラクティス
まずアーカイブされたチャットを確認する。 これが最も素早い確認方法であり、ワンクリックで解決します。
元のディレクトリから再開する。 わからない場合は、--lastとともに--allを使用します。
execによる実行はデフォルトで非表示であることを覚えておく。 表示するには--include-non-interactiveを使用します。
削除ではなくアーカイブする。 削除は永続的です。
結果に基づいてチャットに名前を付ける。 サイドバーと検索の両方で役立ちます。
再び必要になる可能性のある作業には--ephemeralを使用しない。 エフェメラルな実行では文字起こしが保存されません。
決定事項をファイルに保存する。 文字起こしは記録にすぎません。将来のチャットが読み込むのはAGENTS.mdです。
他のツールでも同じ確認を行う。 VS CodeでCopilotのチャット履歴を復元する方法に関するガイドでVS Codeについて示されているように、まずアーカイブを確認し、次にフィルターとスコープを確認します。
結論
消えたCodexのチャットは、アーカイブされているか、ディレクトリによってフィルタリングされているか、非インタラクティブな実行として非表示になっているか、あるいは別のリストに存在している可能性があります。Codexはこれらすべてを文書化しており、それぞれに直接的な確認方法があります。「アーカイブされたチャット」セクションとcodex unarchive、正しいディレクトリまたは--allを指定したcodex resume、--include-non-interactiveフラグ、そして正しいインターフェースとCODEX_HOMEです。
例外は、--ephemeralセッションのように保存されなかった実行や、OpenAIが永続的であると説明しているcodex deleteで削除されたチャットです。
必要なものが見つかったら、重要な部分をAGENTS.mdや決定事項ファイルに移動しましょう。そうすれば、次にチャットが見つからなくなったとしても、失うのは会話だけであり、そこから得られた結論を失うことはありません。