Codex Viewerとは?Codexのセッション・履歴・アーカイブをブラウザ管理する方法【2026年版】

Codex Viewerは、CLIで動くOpenAIのコーディングエージェント「Codex」のセッション・履歴・アーカイブを、ブラウザから一覧・検索・再開できるWebクライアントです。ターミナルだけでCodexを使うと、過去のセッションがどこに保存され、どれをアーカイブし、どれを消したのかが追いづらくなります。この記事では「~/.codexのどこにセッションが保存されるか」「アーカイブの戻し方・削除の仕方」「前回の続きからの再開」を実コマンドで示しつつ、その操作をGUIで見える化するのがCodex Viewerだ、という順で解説します。対象はCodex CLIを日常的に使う開発者です。

まとめ:Codex Viewerの要点と、Codex管理コマンドの早見表

Codex ViewerはnpmでインストールしてポートでローカルWebサーバーを立て、Codexのセッションファイルと履歴ファイルをリアルタイムに表示するツールです。アーカイブ・復元・削除そのものはCodex CLIのコマンドが担い、Viewerは「対象のセッションを探して中身を確認し、再開する」役割を持ちます。まず全体像を押さえます。

項目 内容
正体 nogataka/codex-viewer(Codex向けWebクライアント)
導入 npm install -g @nogataka/codex-viewer
既定ポート 5656(http://localhost:5656
監視対象 ~/.codex/sessions~/.codex/history.jsonl
再開 Viewer上、または codex resume --last
アーカイブ/復元 codex archive / codex unarchive(CLI)
削除 codex delete(CLI・恒久)
派生元/ライセンス claude-code-viewerのfork / MIT

使う人を選ぶツールでもあります。複数プロジェクトのCodexセッションを横断して見返す人には有効ですが、直近の作業を一度だけ続けたいだけならcodex resume --lastで十分で、Viewerの常駐は不要です。以降で保存場所・管理コマンド・再開・UI機能の順に掘り下げます。

Codex ViewerとCodex CLIの関係:何を解決するツールか

Codex Viewerは、OpenAI Codex CLIが書き出すセッションログを読み取って表示する、いわば「Codex専用のログビューア兼ランチャー」です。Codex CLI本体を置き換えるものではなく、CLIが残したファイルを別のUIから扱えるようにします。配布はnpmパッケージ@nogataka/codex-viewerで、ライセンスはMIT、Anthropic向けのclaude-code-viewer系ツールをCodex向けに移植したforkです。

解決するのは「ターミナルのスクロールバックでは過去セッションを探しにくい」という課題です。起動するとローカルにWebサーバーが立ち、ブラウザでプロジェクト単位の一覧、セッションの検索・並べ替え、ログの構文ハイライト表示、差分やツール出力の確認ができます。CLIの操作体系を覚え直す必要はなく、保存済みデータの閲覧と再開に特化している点が特徴です。

Codexのセッション・履歴・アーカイブの保存場所(~/.codexのファイル構成)

管理の出発点は「ファイルがどこにあるか」です。Codex CLIは設定ディレクトリ$CODEX_HOME(既定は~/.codex)配下に、用途の違うファイルを書き分けます。検索で多い「codex アーカイブ どこ」「codex 履歴」は、この場所を知れば解決します。

セッション本体:rollout JSONLの保存先と中身

対話セッションは日付ごとのフォルダに、1セッション=1ファイルのJSON Lines形式で保存されます。パスは次の形です。

~/.codex/sessions/YYYY/MM/DD/rollout-(タイムスタンプ)-(セッションID).jsonl

各ファイルは先頭行にメタデータ(セッションID・生成元・タイムスタンプ・モデルプロバイダ)を持ち、続く行にユーザー入力・モデル応答・ツール呼び出しといったイベントが時系列で並びます。会話の全文がそのまま残るため、後から内容を再生・検索できます。Codex Viewerはこのフォルダを監視し、ファイル名末尾のセッションIDを画面に表示します。

history.jsonlとアーカイブ先(archived_sessions)の違い

同じ~/.codex直下にあるhistory.jsonlは、入力したプロンプトの履歴を1行ずつ記録するファイルで、セッション本体のrolloutとは別物です。さらにセッションをアーカイブすると、対象は~/.codex/archived_sessions/へ移されます。つまり「現役=sessions」「退避=archived_sessions」「入力履歴=history.jsonl」と置き場所で役割が分かれており、「どこに行ったか分からない」ときはまずこの3つを見分けます。

セッションIDの確認方法(ファイル名とViewerヘッダー)

アーカイブ・復元・再開のコマンドはセッションIDを引数に取ります。IDはrolloutファイル名の末尾のUUIDがそれにあたり、ターミナルからはsessionsフォルダのファイル名で確認できます。Codex Viewerを使う場合は、セッションを開いたヘッダーからIDをワンクリックでコピーできるため、長いUUIDを手入力する手間を省けます。

Codexのアーカイブ・復元・削除のやり方(codex archive / unarchive / delete)

表示で最も多いのがこのクラスタ(「codex アーカイブ 削除」「codex 履歴削除」「codex アーカイブ 戻す」)です。いずれもCodex CLIの専用コマンドで完結します。Viewerは対象セッションとIDを探す用途に使い、実際の退避・復元・削除はターミナルで実行する、という分担で考えると迷いません。

セッションのアーカイブ(codex archive)

残しておきたいが一覧から外したいセッションは、IDまたはセッション名を指定してアーカイブします。

codex archive [セッションID]

実行すると対象はarchived_sessionsへ移動し、通常の一覧には出なくなります。IDと名前の両方を渡した場合はIDが優先されます。消すのではなく「現役の一覧から退ける」操作なので、後から戻せます。

アーカイブの復元=元に戻す操作(codex unarchive)

「codex アーカイブ 戻す」に対応するのがunarchiveです。アーカイブ時と同じIDまたは名前を指定します。

codex unarchive [セッションID]

これで対象は現役のセッションへ復帰し、再び一覧と再開の対象になります。なお、認証やプロバイダを切り替えた後にアーカイブ済みセッションが一覧に出ず復元しづらくなる不具合が、openai/codexのIssue(#19362ほか)として報告されています。戻せないときはまず同じ認証・プロバイダ環境かを確認してください。挙動は更新が速い領域なので、最終的な仕様は公式ドキュメントで確認するのが確実です。

履歴・セッションの削除(codex delete)

恒久的に消す場合はdeleteを使います。セッションIDを指定して--forceを付けると確認なしで消え、セッション名で指定した場合は確認が残ります。

codex delete [セッションID] --force

これはアーカイブと違い復元できません。入力プロンプトの履歴そのものを消したい場合は、~/.codex/history.jsonlを直接整理する形になります。削除は取り返しがつかないため、残す可能性が少しでもあるならまずcodex archiveで退避し、本当に不要と確定してからdeleteに進むのが安全です。

過去セッションの再開と「前回の続き」(codex resume の使い分け)

「codex 前回の続き」「codex 過去のセッション」に対応するのがresumeです。直近を即再開するか、一覧から選ぶか、IDを直接指定するかで使い分けます。

直近の再開・一覧からの再開・ID指定

最短は、現在の作業ディレクトリの直近セッションをそのまま開く方法です。

codex resume --last

別ディレクトリで作業したセッションまで含めて選びたいときは--allを付け、特定のセッションを開くならIDを直接渡します。

codex resume --all
codex resume [セッションID]

使い分けの目安は明快です。同じ場所で作業を続けるなら--last、どのプロジェクトのものか曖昧なら--allで一覧、再開先が分かっているならID指定が最も速くなります。

Codex Viewerで内容を確認してからの再開

IDを覚えていない、あるいは中身を見てから選びたい場合はViewerが向きます。ブラウザで各セッションのログを構文ハイライト付きで確認し、目的のものを特定してから再開できます。「ターミナルでIDを探す→typoする」という往復を避けたいときに効果的です。

タスク監視・ログ・使用状況のUI可視化

Codex Viewerの価値は、保存済みデータを「読みやすく見せる」ところにあります。テキストの羅列だったログを、構造を保ったまま確認できます。

構文ハイライト付きログ・ツール出力・差分の確認

セッションを開くと、やり取りが構文ハイライト付きで表示され、Codexが実行したツール出力やコマンド結果、コード変更の差分(diff)を個別に確認できます。どのプロンプトでどのファイルがどう変わったかを、JSONLを直接読まずに追えるのが利点です。

実行中タスクの監視・中断・再開とプロジェクト横断の俯瞰

一覧画面ではプロジェクトを名前やパスで検索し、最終更新・名前・メッセージ数で並べ替えられます。実行中タスクの監視と、中断・再開の操作にも対応します。複数リポジトリでCodexを走らせている場合に、どのプロジェクトの作業が最新かを一画面で把握できます。セッション内のトークン消費はrolloutファイルに記録されるため、該当セッションを開けば消費量を確認できます。

SSEによるリアルタイム同期の仕組み

Codex Viewerは画面更新にポーリングを使いません。file watcherが~/.codex/sessions~/.codex/history.jsonlの変化を検知し、Server-Sent Events(SSE)でproject_changedsession_changedといったイベントをブラウザへ配信します。これにより、ターミナルでCodexが新しい応答を書き込んだ瞬間に、Viewer側の一覧やログが即時に反映されます。CLIで作業しながら別ウィンドウのViewerで進行を眺める、という使い方が成立するのはこの仕組みのためです。

Claude Code Viewer(claude-code-viewer)との違いとCodex最適化

Codex ViewerはAnthropicのClaude Code向けに作られたclaude-code-viewer(d-kimuson)をforkし、Codex向けに作り替えたものです。UIの発想は共通しますが、読み取り対象がClaudeのログではなくCodexの~/.codex/sessionshistory.jsonlに向いている点、セッションIDのコピーや再開の挙動がCodex CLIのresume体系に合わせてある点が実質的な差です。

ここははっきり立場を取ります。Claude CodeとCodexを両方使い、ログを1つのUIに統合したいという理由でClaude用ビューアにCodexのログを読ませようとするのは避けるべきです。保存パスもファイル形式も別系統で、想定外の表示崩れや読み取り漏れの原因になります。Codexのセッションを見るならCodex Viewer、Claude Codeのセッションを見るなら対応するビューア、と道具を分けるのが結局は確実です。Codex以外のセッション可視化を含めて比較したい場合は、Codex Monitorのような別系統のツールも候補になります。

Codex Viewerの導入手順(npmインストールと起動・ポート設定)

導入はnpm前提で、数分で起動できます。Codex CLIで一度でもセッションを作っていれば、その既存データをそのまま読み込みます。

グローバルインストール・npx・ソースビルド

常用するならグローバルインストールが簡単です。

npm install -g @nogataka/codex-viewer

試すだけならインストール不要のnpx実行も使えます。

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

ソースから動かす場合はリポジトリをcloneしてビルドします。

git clone https://github.com/nogataka/codex-viewer.git
cd codex-viewer
pnpm install
pnpm build
pnpm start

起動・ポート5656・表示されないときの確認

グローバルインストール後はcodex-viewerコマンドで起動します。サーバーが準備できると既定でhttp://localhost:5656が自動的にブラウザで開きます。ポートが他プロセスと衝突する場合はPORT環境変数で変更します。一覧に何も出ないときは、Codexのセッションが~/.codex/sessionsに存在するか(=Codex CLIで実際にセッションを作成済みか)をまず確認してください。

利用シナリオ:マルチプロジェクト・チーム開発での使いどころ

単一プロジェクトを少し見返すだけなら、Viewerを常駐させる必要はありません。効果が出るのは作業対象が増えたときです。複数リポジトリでCodexを並行して動かしていると、どのセッションがどのプロジェクトのものか、ターミナルのスクロールバックだけでは追えなくなります。Viewerの一覧でプロジェクト別に俯瞰し、メッセージ数や最終更新で並べ替えれば、再開すべきセッションを素早く特定できます。

チームでの使い方は「自分の環境のログを読むツール」と割り切るのが現実的です。Codex Viewerはローカルの~/.codexを読むため、他メンバーのセッションが自動で共有されるわけではありません。共有したい場合は、対象セッションのrollout JSONLやセッションIDを明示的に受け渡し、各自の環境で開く運用になります。

よくある質問(FAQ)

Codexのアーカイブはどこに保存されますか?

現役のセッションは~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonlとして保存され、アーカイブしたものは~/.codex/archived_sessions/へ移ります。設定ディレクトリ$CODEX_HOMEを変更している場合は、その配下の同名フォルダを見てください。入力したプロンプトの履歴は別ファイルの~/.codex/history.jsonlに記録されます。

アーカイブしたCodexセッションを元に戻すには?

codex unarchive [セッションID]を実行すると、対象がarchived_sessionsから現役のセッションへ戻り、再び一覧と再開の対象になります。IDはアーカイブ時と同じものを使います。戻したはずなのに表示されないときは、認証方式やモデルプロバイダをアーカイブ時から切り替えていないかを確認してください。この点は仕様変更が入りやすいため、最新の挙動は公式ドキュメントで確認すると確実です。

Codexの履歴やセッションを削除するには?

個別セッションを恒久削除するにはcodex delete [セッションID]を使い、確認を省くなら--forceを付けます。これは復元できません。入力プロンプトの履歴を消したい場合は~/.codex/history.jsonlを整理します。残す可能性があるなら、削除ではなくcodex archiveで一覧から退けておくと安全です。

前回のCodexセッションの続きから再開するには?

同じ作業ディレクトリの直近セッションはcodex resume --lastで即再開できます。別ディレクトリのものまで含めて選ぶならcodex resume --all、開きたいセッションが決まっているならcodex resume [セッションID]でID指定が最短です。中身を見てから選びたいときはCodex Viewerでログを確認してから再開します。

CodexのセッションIDはどこで確認できますか?

セッションIDは、保存先~/.codex/sessionsにあるrollout-*.jsonlのファイル名末尾のUUIDで確認できます。Codex Viewerを使う場合は、セッションを開いたヘッダーからIDをワンクリックでコピーできるため、アーカイブ・復元・削除・再開の各コマンドにそのまま貼り付けられます。

関連記事

資料請求

RELATED POSTS 関連記事