コマンドセンターが表示するもの
OpenAI のスラッシュコマンドリファレンスには、コマンドセンターを開いたときに表示される内容が次のように記載されています。「Codex は接続されたサーバー上のチャットの概要を表示します。ステータスを確認し、チャットを切り替えることができます。」
この機能は、数回のリリースを経て成長してきました。2024年8月に Codex CLI 0.149.0 でダッシュボードが登場した際、変更ログには「タスクの検索、開始、開始、名前変更、停止を行うためのインタラクティブな codex agents ダッシュボードが追加され、設定可能なショートカットが導入された」と記されていました。その後の変更により、最近のセッションやライブタスクの詳細も同じビューに追加されました。
実用的には、次の3つの質問に素早く答えるための場所です。どのチャットが実行中か、どれが終了したか、そして次にどのチャットを開きたいか。
開き方
アクセス方法は2つあります:
- セッション内から:
/agentsと入力して Enter を押し、開きたいチャットを選択します。スラッシュコマンド表では、/agentsは「エージェントコマンドセンターを開く」コマンドとしてリストされています。 - ターミナルから:
codex agentsを実行します。OpenAI のリファレンスには、「ターミナルから直接コマンドセンターを開くには、codex agentsを実行してください」とあります。
codex agents はリモート作業用のオプションも受け付けます。「--remote <URL> を使用してリモートサーバーに接続し、--cd <DIR> を使用して新しいリモートタスクのディレクトリを設定します。」
コマンドセンターは、サブエージェントスイッチャーとは異なります。/subagents は現在のセッション内のアクティブなスレッドを切り替え、「そのエージェントの作業を検査または続行」するためのものです。コマンドセンターは、セッションをまたいでサーバー上のチャットをリストします。
なぜバックグラウンドサーバーが必要なのか
コマンドセンターはターミナルの履歴を表示するものではありません。サーバー上のチャットを表示するものです。OpenAI は次のように述べています。「コマンドセンターには、共有のローカルまたはリモートサーバーが必要です。」
そのサーバーは Codex アプリサーバーであり、マシン上または別のホスト上でバックグラウンドデーモンとして動作します。いくつかの Codex コマンドはこれに依存しています:
codex agentsはそのサーバー上のコマンドセンターを開きます。リファレンスには「codex agentsは--no-daemonをサポートしていません」と記されています。codex queue --resumeは、サーバーがある場合にのみセッションを再開できます。「再開には、実行中のローカルデーモン、または--remoteで選択されたサーバーが必要です。」codex remote-controlは、「対象となる場合、管理されたバックグラウンドサーバーを介してリモートコントロールを開始し、フォアグラウンドのフォールバックを備えます。」
あるリリースノートでは記述が異なります。Codex CLI 0.167.0 の変更ログには「codex agents --no-daemon でエージェントコマンドセンターを開く」とありますが、現在のコマンドリファレンスでは codex agents はそのフラグをサポートしていないとされています。両者が一致しない場合は、リファレンスが現在の動作を示しているため、自身のビルドで /daemon または codex agents を確認してください。
/daemon によるサーバー管理
セッション内で /daemon を入力すると、バックグラウンドサーバーのコントロールが開きます。OpenAI のリファレンスによれば、「サーバー接続と利用可能なアクションを確認」できます。
使用前に知っておくべき2つのアクションがあります:
- サーバーの更新: Codex は、最新のパブリック安定版をインストールするか、現在の CLI ビルドを使用するかを提案します。「更新を確定すると Codex が終了し、アクティブな作業が中断される可能性があります。」
- サーバーの再起動: 「Codex は自動的に再接続します。再起動により、他のチャットで実行中またはキューに入れられた作業が中断される可能性があります。」
リモート接続の場合、OpenAI はそのホスト上でサーバーを管理するように指示しています。
Codex CLI 0.167 での変更点
11月6日のリリースでは、コマンドセンターとセッションピッカーに2つの機能が追加されました:
- 未読マーカー: 「コマンドセンターとセッションピッカーで、未読の結果にマークが付くようになりました」。
- バックエンドの切り替え: 「ターミナルセッションピッカーから接続されたバックエンドを切り替え、切り替え時にドラフトを保持できる」ようになりました。
- 同じリリースで、保存されたチャットに影響していたプロバイダーの問題も修正されました。「モデルプロバイダーを切り替えた後も、保存されたチャットが表示されたままになります。チャットを再開できない場合は、そのトランスクリプトを読み、新しいチャットで続行するための編集可能なプロンプトを準備できます」。
また、Ctrl+L の動作も変更されました。「Ctrl+L はターミナルの表示をクリアしますが、以前のメッセージは Ctrl+T で引き続き利用可能です」。
アーカイブと削除:チャットへの影響の違い
どちらもアクティブなリストからチャットを削除しますが、一方だけがデータを保持します。
アーカイブ (Archive)
codex archive コマンドは、トランスクリプトを削除せずに整理するためのものです。OpenAI は次のように述べています。「トランスクリプトを削除せずにセッションピッカーを整理したい場合に、これらのコマンドを使用してください。」
チャット内から /archive を実行すると確認を求められ、その後:「Codex はセッションをアーカイブし、ローカルバックグラウンドサーバーまたはリモートサーバーに接続されている場合はコマンドセンターに戻ります。共有サーバーがない場合、Codex は終了します。Codex はトランスクリプトを保持します。後で codex unarchive <SESSION> で復元できます。」
2つの詳細事項:
- ターンが実行中の場合、「
/archiveを確定すると、アーカイブ前にそのターンを停止します。」 - アーカイブは、そのセッションから生成されたチャットも対象となります。「セッションをアーカイブまたは復元すると、Codex はそのセッションが生成したサブエージェントセッション(その子孫を含む)もアーカイブまたは復元しようとします。」
削除 (Delete)
削除は永続的です。codex delete コマンドは、「セッション ID またはセッション名によって、保存されたインタラクティブセッションを削除します。これは、アクティブなセッションリストから隠すのではなく、トランスクリプトを完全に削除したい場合にのみ使用してください。」
チャット内から /delete を実行すると、確認後に同様の処理が行われます。「Codex はトランスクリプトと生成された子孫セッションを永久に削除します。」アーカイブと同様に、共有サーバーに接続されている場合はコマンドセンターに戻り、そうでない場合は終了します。
削除の制限:
- 「チャットが実行中、またはサイドチャット内では
/deleteは利用できません。」 --forceフラグは、セッション UUID を指定した場合のみ確認をスキップします。「名前付きセッションは、Codex がプロンプトなしで重複した名前や曖昧な名前のセッションを削除しないよう、引き続き確認が必要です。」
どちらを使うべきか
チャットは終了したが、後でトランスクリプトが必要になる可能性がある場合は「アーカイブ」してください。トランスクリプト、およびそのチャットから派生したすべてを完全に消去したい場合は「削除」してください。迷った場合はアーカイブしましょう。codex unarchive で元に戻せますが、削除は取り消せません。
見ていないチャットへのメッセージ送信
複数のチャットが実行されている場合、指示を追加するためだけにチャットを切り替えたくないことがあります。codex queue を使うと、ターミナルから既存のセッションにメッセージを送信できます。OpenAI の例は codex queue --thread <SESSION_ID> --message "残りのチェックを実行して" です。
ルール:
- 「
--threadは UUID または正確なセッション名を受け付けます。セッションが同じ名前を共有している場合は UUID を使用してください。」 - 「キューに入れられたメッセージは、そのセッションのモデルを使用します。コマンドはテキストのみを受け付けます。」
--resumeを追加すると、メッセージをキューに入れ、セッションがまだロードされていない場合は再開します。これにはバックグラウンドサーバーが必要です。- 「Codex がセッションを再開できない場合、警告を表示しますが、コマンド自体は正常に終了します。」
最後の点は、スクリプトを作成する場合に重要です。正常終了したからといって、セッションがメッセージを受け取ったことが保証されるわけではありません。
コマンドラインからの再開
コマンドセンターはチャットに戻る一つの方法ですが、codex resume もその一つです。「ID でインタラクティブセッションを続行するか、最新のチャットを再開します。」これは「--all を渡さない限り、--last の範囲を現在の作業ディレクトリに限定します。」
現在のディレクトリがセッションの保存されたディレクトリと異なる場合、Codex はどちらを使用するか尋ねます。tui.resume_cwd 設定でその選択を記憶させることもできます。チャットの続行と最初からのやり直しの違いについては、Codex の clear と new コマンド に関するガイドで、それぞれが何を保持するかを説明しています。
コマンドセンターが保持しないもの
コマンドセンター内の各チャットは、独自のトランスクリプトと独自のコンテキストを持っています。コマンドセンターはそれらを並べてリストしますが、OpenAI の説明によれば、それはチャットとそのステータスの概要に過ぎません。コマンドセンターがあるチャットでの決定を別のチャットに引き継ぐとは説明されていません。
したがって、あるチャットで「どの API バージョンをターゲットにするか」や「なぜテストをスキップするのか」といったことが決まっても、ドキュメント上ではその決定が他のチャットに伝わることはありません。各チャットは、独自の会話、プロジェクトファイル、および AGENTS.md に基づいて動作します。チャットのコンテキストがどの程度埋まっているかを確認する必要がある場合は、Codex の context left インジケーター に関するガイドをご覧ください。
初心者が陥りやすいミス
バックグラウンドサーバーなしで codex agents を実行する。 コマンドセンターには共有のローカルまたはリモートサーバーが必要です。
整理のために「削除」を使う。 削除はトランスクリプトと生成されたセッションを永久に消去します。アーカイブはチャットを隠しつつ保持します。
タスクの途中でサーバーを再起動する。 再起動により、他のチャットで実行中またはキューに入れられた作業が中断される可能性があります。
キューに入れたメッセージが届いたと過信する。 Codex がセッションを再開できない場合でも、警告を出した上で正常終了します。
あるチャットの決定が他に伝わることを期待する。 各チャットは独自のコンテキストで動作します。
解決策:見失うことなく複数の Codex チャットを実行する
ステップ 1: 共有サーバーから開始する
ローカルバックグラウンドサーバーを使用するか、--remote で接続し、codex agents または /agents でコマンドセンターを開きます。
ステップ 2: 終了したチャットは削除せずアーカイブする
アーカイブはトランスクリプトを保持し、codex unarchive で元に戻すことができます。
ステップ 3: 再起動や更新の前に確認する
再起動や更新は他のチャットを中断させる可能性があるため、他のチャットがターンの途中でない場合にのみ /daemon を使用してください。
ステップ 4: チャットをまたぐ決定事項を書き留める
あるチャットで決まったことが他のチャットでも必要な場合は、すべてのチャットやツールが読み取れる場所に記録してください。
MemoryLake でのセットアップ
コマンドセンターは多くの Codex チャットを視界に保ちます。採用した API バージョンやテストをスキップした理由など、それらを繋ぐ決定事項は、一つのチャットで発生し、他のチャットでも重要になります。
MemoryLake は、決定事項、規約、制約といったプロジェクトのコンテキストのための記憶レイヤーです。これらを一箇所で管理し、ChatGPT、Claude Code、Codex などの接続されたアシスタントから利用できるようにします。
エントリーはあなた自身の言葉で作成します。Codex チャット、トランスクリプト、~/.codex フォルダ、AGENTS.md ファイル、バックグラウンドサーバー、またはベンダーのストレージから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。コマンドセンター、アーカイブ、削除は OpenAI が説明している通りに機能します。
ステップ 1: API キーを作成する
サインインし、ダッシュボードからキーを生成します。他の認証情報と同様に、リポジトリの外に保存してください。

ステップ 2: 最初の記憶をアップロードする
解決策のステップ 4 で書いたことから始めましょう。チャットをまたぐ決定事項、すべてのチャットが従うべき規約、そしてその背後にある制約です。1つのエントリーにつき1つの項目にします。

ステップ 3: AI とエージェントを接続する
Codex やその他の使用しているアシスタントを接続します。各チャットや各ツールは、同じエントリーを参照できます。

実務で何が変わるか
第一の違いは、同じ説明を繰り返す回数が減ることです。一度書かれた決定事項は、次に開始するチャットですぐに利用可能です。
第二に、特定のトランスクリプトへの依存度が下がります。チャットをアーカイブしたり削除したりしても、決定事項まで一緒に消えることはありません。
第三に、Codex 以外でも同じコンテキストを利用できます。同じプロジェクトで作業する Claude Code や ChatGPT も、同じエントリーを使用できます。
Codex コマンドセンターのベストプラクティス
共有サーバーを実行し続ける。 コマンドセンターと codex queue --resume はこれに依存しています。
チャットには /agents、スレッドには /subagents を使う。 一方はサーバー上のチャットをリストし、もう一方はセッション内のスレッドを切り替えます。
デフォルトでアーカイブする。 トランスクリプトが保持され、可逆的です。
削除は意図的な場合にのみ行う。 トランスクリプトとそのチャットから生成されたすべてのセッションが削除されます。
未読マーカーに注目する。 0.167 以降、コマンドセンターはまだ見ていない結果にフラグを立てます。
サーバーの再起動は慎重に行う。 他のチャットの作業を中断させる可能性があります。
チャットをまたぐ決定事項は書き留める。 各チャットは独自のコンテキストで動作します。
結論
Codex agent command center は、共有のローカルまたはリモートサーバー上のチャットをリストし、そのステータスを表示し、切り替えを可能にします。ターミナルからは codex agents、セッション内からは /agents で開くことができます。Codex CLI 0.167 以降、未読の結果もマークされるようになり、セッションピッカーではドラフトを保持したまま接続されたバックエンドを切り替えることができます。
アーカイブはチャットを隠してトランスクリプトを保持し、codex unarchive で復元できます。削除はトランスクリプトと派生セッションを永久に消去します。各チャットは独自のコンテキストで動作するため、チャットをまたいで重要な決定事項は書き留めておき、すべてのチャットやツールがそれらを活用できるようにしましょう。