session-recovery について
Claude Codeのセッション履歴を診断・復旧するスキルです。保存先のパス、HOMEの設定、旧セッションの移行に焦点を当てています。
主な機能
- 01セッション保存場所の問題を診断
- 02HOME関連設定の確認
- 03セッションの欠落や場所違いの調査
- 04旧セッション移行の案内
活用シーン
- 01claude -rでセッションが見つからない原因の調査
- 02予期しないディレクトリに保存されたセッションの特定
- 03環境変更後にセッション履歴を再表示
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill session-recoveryインストール後、Claude Code で/session-recoveryを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.mdTROUBLESHOOTING.md
詳細
Claude Code セッション復旧スキル
自己進化型スキル:このスキルは使用を通じて改善されます。手順が誤っていた場合、パラメーターにずれが生じていた場合、または回避策が必要だった場合は、先送りせず直ちにこのファイルを修正してください。実際に再現できる問題がある場合にのみ更新してください。
このスキルを使用するタイミング
次のような場合にこのスキルを使用してください。
claude -rの実行時に「No conversations found to resume」と表示される- 新しい会話のセッションファイルが作成されない
- セッションが想定外の場所(
~/.claude/projects/ではなく/tmp/など)に保存される - 環境の変更後にセッション履歴が見つからない
- IDE/ターミナルの設定がセッションの作成に影響している
- 600 件以上の旧式セッションを移行または復旧する必要がある
クイックリファレンス
公式のセッション保存場所
標準の場所: ~/.claude/projects/
構造:
~/.claude/projects/
├── -home-username-my-project/ # Encoded absolute path
│ └── 364695f1-13e7-4cbb-ad4b-0eb416feb95d.jsonl
└── -tmp-another-project/
└── a8e39846-ceca-421d-b4bd-3ba0eb1b3145.jsonl
形式: 1 行につき JSON イベント 1 件(JSONL)、UUID ベースのファイル名
重大な落とし穴:HOME 変数
問題
Claude Code は、セッションの保存場所を決定するために $HOME 環境変数を使用します。$HOME が正しくないと、セッションが誤ったディレクトリに保存されたり、見つからなくなったりします。
症状
claude -rに「No conversations found to resume」と表示される- 新しい会話は機能するが、ファイルが想定した場所に表示されない
- セッションが
/tmp/やその他の想定外のパスで見つかる - あるマシンでは機能するが、別のマシンでは機能しない
診断
/usr/bin/env bash << 'PREFLIGHT_EOF'
# Step 1: Check current HOME
echo "Current HOME: $HOME"
# Step 2: Check system expectation
echo "Expected HOME: $(getent passwd $(whoami) | cut -d: -f6)"
# Step 3: Find where Claude is actually writing
find /tmp -name "*.jsonl" -path "*/.claude/projects/*" 2>/dev/null
PREFLIGHT_EOF
参考ドキュメント
詳しい診断手順と解決策については、次を参照してください。
- トラブルシューティングガイド - 詳細な診断手順と修正方法
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| 「No conversations found」と表示される | HOME 変数が誤っている | $HOME が想定するユーザーディレクトリと一致することを確認します |
| セッションが /tmp/ に保存される | HOME が正しく設定されていない | シェルプロファイルの HOME を修正し、ターミナルを再起動します |
| セッションファイルが見つからない | ディスク容量または権限の問題 | ~/.claude/projects/ の権限とディスク容量を確認します |
| 誤ったプロジェクトのセッションが表示される | パスのエンコードの不一致 | エンコードされたパスが現在の作業ディレクトリと一致することを確認します |
| セッションが保持されない | ファイルシステムの問題 | ~/.claude/projects/ への書き込み権限を確認します |
| IDE のセッションが別になっている | 環境ごとに HOME が異なる | ターミナルと IDE で HOME が一貫していることを確認します |
| 旧式のセッションが表示されない | 移行が完了していない | TROUBLESHOOTING.md の移行セクションを参照してください |
| UUID ファイル名が破損している | 書き込みが不完全 | 不完全な .jsonl ファイルがないか確認し、破損したものを削除します |
実行後の振り返り
このスキルの実行後、終了する前に次を確認してください。
- コマンドは成功しましたか? — 成功しなかった場合は、失敗の原因となった手順またはエラーテーブルを修正してください。
- パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースにずれが生じていた場合は、使用例とパラメーターテーブルを更新して一致させてください。
- 回避策が必要でしたか? — 即興で対応した場合(別のフラグや追加手順など)は、次回の実行で同じ回避策が不要になるよう、この SKILL.md を更新してください。
問題が実際に再現できる場合にのみ更新してください。推測に基づく更新はしないでください。
コメント
Markdown 対応