Codex のセッション履歴の保存場所
Codex はセッションごとに 1 つの JSONL ファイルを、開始した日付で整理して保存します:
~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<タイムスタンプ>-<uuid>.jsonl実際のものはこうなります:
~/.codex/sessions/2026/03/20/rollout-2026-03-20T09-55-16-019d08f4-37fe-7090-96a6-100d7fbe09df.jsonlアーカイブしたセッションは隣のディレクトリに移動します:
~/.codex/archived_sessions/Codex は ~/.codex/state_<N>.sqlite にスキーマ版号付きの状態データベースも持ちます。<N> はスキーマ変更のたびに増え、番号が最大のものが現行です。
パスからはプロジェクトが分からない
ディレクトリ階層は日付であってプロジェクトではありません。作業ディレクトリはファイル内の session_meta.payload.cwd に記録されます。そのため「このリポジトリの Codex セッションを全部見せて」という要求は、ディレクトリ一覧だけでは答えられません。各ファイルを開いて cwd を読み出す必要があります。
2 種類のレコード
Codex の JSONL はメッセージログというよりイベントストリームに近く、1 ターンが抽象度の違う 2 つの形で書き込まれます:
| レコード | 内容 |
|---|---|
event_msg | 高レベルの会話イベント。テキストは整形済み |
response_item | モデル API の生の item:ツール呼び出し、複数パートの content 配列 |
読めるテキストが欲しいなら event_msg、ツール呼び出しの詳細や添付が必要なら response_item を見ます。
画像は 2 つのレコードに分かれる
画像を貼り付けたユーザーのターンは 2 つのレコードとして書かれます。role: user の response_item が input_image ブロックと実際の画像データを持ち、event_msg.user_message が整形済みのテキストを持ちます。どちらも単独では不完全です。当時の吹き出しを再現するには、画像を保持しておいて対応するテキストイベントに結びつける必要があります。
Codex のセッションをターミナルから読む
会話テキストを出力:
jq -r 'select(.type=="event_msg")
| .payload // . | select(.type=="user_message" or .type=="agent_message")
| .message // .text' \
~/.codex/sessions/2026/03/20/rollout-*.jsonlエディタを開かずにセッションのプロジェクトを確認:
jq -r 'select(.type=="session_meta") | .payload.cwd // empty' SESSION.jsonl | head -1全セッションをプロジェクト別に集計します。ディレクトリ構成はこの一覧を与えてくれないので、ループは全ファイルを開くことになります:
for f in ~/.codex/sessions/*/*/*/rollout-*.jsonl; do
jq -r 'select(.type=="session_meta") | .payload.cwd // empty' "$f" 2>/dev/null | head -1
done | sort | uniq -c | sort -rnセッションを再開するには
Codex をインストールし、プロジェクトのディレクトリで codex resume SESSION_ID を実行します。アプリのターミナルまたは内蔵チャットでも再開できます。通常の一覧にはアーカイブ済みのセッションを含めないため、専用のアーカイブ表示も確認してください。
根拠と制限
実装:Codex アダプター。上流:Codex ドキュメント。
**対象範囲:**2026-10-05 に Sessions Viewer 0.6.0 のアダプター実装と照合しました。すべての CLI バージョンでの動作を保証するものではありません。シェル例は macOS/Linux のパスを使い、
jq(opencode はsqlite3)が必要です。プレースホルダーと保存先は自分の環境に合わせてください。テキスト抽出はツール、画像、セッションツリーの現在の分岐を完全には再現しません。コマンドの回帰テストにはダウンロード可能な合成データを使い、個人の会話は読みません。能力と検証表で範囲を確認できます。履歴の閲覧と再開・編集の違いはプライバシーとデータの扱いを参照してください。
ビューアは上記のホーム配下を読みます。別の CODEX_HOME に書き込まれた記録を自動的に検出するとは限りません。確認手順を参照してください。
アプリで開く
手順と手動/GUI の使い分けは Codex のプロジェクト・アーカイブ・保存・再開を参照してください。
Sessions Viewer は分類をキャッシュし、分割した画像を関連づけます。認証済みのアカウントが提供する場合、契約の利用枠も表示できます。トークン料金の請求書とは別です。統計を参照してください。Claude Code、Grok Build、Kimi Code、Pi、Antigravity CLI、opencode にも対応しています。
