Claude Code と Codex の会話履歴を探す方法
更新日
CodeSesh を使うと、パソコンに残っている Claude Code と Codex の会話を検索して読み返せます。対応するローカル記録を読み込み、プロジェクト別に整理し、メッセージ、ツール出力、ファイルパスを検索できます。履歴のアップロードやアカウント登録は不要です。
1. ローカルのビューアーを起動する
Node.js 22 以降をインストールし、ターミナルで実行します。
npx codesesh --days 0
CodeSesh が http://localhost:4521 を開きます。ポートが使用中の場合は、ターミナルに表示されたアドレスを使ってください。閲覧中はターミナルのプロセスを動かしたままにします。
なぜ --days 0 を付けるのか? 通常の npx codesesh は、ローカルの日付で直近 7 日間に活動があった会話だけを対象にします。古い会話を探すときは --days 0 を使います。履歴が多い場合、初回スキャンと検索インデックスの作成には時間がかかります。
2. 履歴の保存場所を確認する
CodeSesh は標準で次の場所を読み込みます。~ は現在のユーザーのホームディレクトリです。
- Claude Code:
~/.claude/projects/内の JSONL 会話記録。CLAUDE_CONFIG_DIRを設定している場合は、その設定ルート内のprojects/を読み込みます。 - Codex:
~/.codex/sessions/内のrollout-*.jsonl。日付別のサブディレクトリも対象です。CODEX_HOMEを設定している場合は、そのルート内のsessions/を読み込みます。
コーディングツールと同じ環境変数を持つターミナルから CodeSesh を起動してください。これらの変数はツールのルートを指し、projects/ や sessions/ を直接指すものではありません。
現在の Codex アダプターは、標準では ~/.codex/archived_sessions/ をスキャンしません。別のパソコンやホスト型サービスだけに保存された会話も、ローカルスキャンの対象外です。
3. プロジェクトと内容から会話を探す
my-app リポジトリでログインのタイムアウトを修正したものの、Claude Code と Codex のどちらを使ったか覚えていない場合を考えます。
- グローバル検索を開き、会話に出てきた言葉、例えば
login timeoutを入力します。実際の記録にある言葉を使ってください。これは操作例であり、付属の会話データではありません。 - プロジェクトのフィルターで結果を絞ります。ツールを覚えていれば、Agent のフィルターで Claude Code または Codex も選択します。
- 言葉を思い出せなければ、
src/auth.tsのようなファイルパスを試します。会話本文に加え、インデックス済みのパスやツール出力も検索できます。 - 該当する会話を開き、前後のメッセージを確認します。ツール呼び出しを展開して当時の判断や出力を読み、ファイルアクティビティから読み取り・変更されたファイルを探します。
プロジェクトのディレクトリから、対象を限定して起動することもできます。
npx codesesh --days 0 --cwd .
この 2 種類の Agent だけを対象にする場合:
npx codesesh --days 0 --agent claudecode,codex
再生とは記録済みの会話やツール操作を読み返すことです。コマンドの再実行や過去のファイルシステムの復元は行いません。画面の概要は検索と会話再生のデモで確認できます。
4. 会話が見つからない場合
- 期間を確認する。
--days 0で再起動し、画面の絞り込みを解除します。--from、--to、--cwd、--agentが対象を除外している場合は、その引数も外します。 - 元のファイルを確認する。 ローカルの保存場所に記録が残っていて、現在のユーザーが読めることを確認します。Codex では
archived_sessions/に移されていないかも確認してください。 - 独自のルートを確認する。 CodeSesh を起動するターミナルに
CLAUDE_CONFIG_DIRまたはCODEX_HOMEが設定されているか確認します。別のシェルやアプリからコーディングツールを起動した場合は特に注意してください。 - インデックスの完了を待つ。 初回の履歴取り込みと検索インデックスの作成はバックグラウンドで進みます。一覧が表示されても、古いメッセージすべてが検索できるとは限りません。
- 再現できる解析の問題を報告する。 対応する記録があるのに表示されない場合は、CodeSesh のバージョン、Agent、関連するエラーを添えて Issue を作成してください。共有前に個人のプロンプト、パス、認証情報を取り除いてください。
5. ローカルインデックスの範囲を理解する
CodeSesh はビューアーと検索インデックスであり、元の会話ファイルのバックアップではありません。Agent の保存領域から削除された履歴は復元できません。--json の出力も会話のメタデータであり、メッセージやツール呼び出しの完全なアーカイブではありません。
履歴を残すには、Agent の元データを保持してください。他の対応ツールや機能は CodeSesh の製品紹介で確認できます。
ローカルで CodeSesh を起動
npx codesesh --days 0