
2026/02/28 1:26
Show HN: Claude‑File‑Recovery – `~/.claude` セッションからファイルを復元する方法
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
claude-file-recovery は、Claude Code が編集したファイルを ~/.claude/projects/ に保存された JSONL セッションログから復元する軽量ユーティリティです。orjson と高速バイトチェックフィルタを用いた並列処理でこれらのログを解析し、Write・Edit・Read 操作を再生して各ファイルの最終状態を再構築します。このツールは、ふず検索、vim スタイルのキー操作(j/k/g/G, /)、カラー差分表示、バッチ抽出、--before フラグによる時点復元、およびシンボリックリンクエイリアスを正しく処理し、エイリアスされたパスを標準エントリに統合する機能を備えた対話型 TUI を提供します。 インストールは `uv tool install claude-file-recovery`、`pipx install claude-file-recovery`、または `pip install claude-file-recovery`(Python 3.10+ が必要)で可能です。クイックスタートコマンド例: - `claude-file-recovery` – プロジェクト一覧 - `extract-files --output ./recovered` – ファイルをディレクトリに抽出 - `--filter '*.py'` – ファイル名パターンでフィルタリング - `--csv` – 結果を CSV 形式でエクスポート - `--before '2025‑02‑20 14:00'` – 指定時点まで復元 オプションの `--claude-dir /path/to/claude-backup` フラグで別データディレクトリを指定できます。プロジェクトは MIT ライセンス下にあり、issue や pull request での貢献を歓迎します。
本文
claude‑file‑recovery
Claude Codeで作成・変更されたファイルをJSONLセッショントランスクリプトから復元します。
複数のセッションにまたがっても、失われたファイルを取り戻せます。
Claude Codeは
~/.claude/projects/ にすべてのツール呼び出しログを保存しています。このツールはそのトランスクリプトを解析し、Write・Edit・Read操作を順序通りに再生してファイルを構築します。これで閲覧・検索・抽出が可能です。
主な機能
- インタラクティブTUI:ファジー検索とVimキーbindings(j/k/g/G、/ で検索)
- 時点復元:最新だけでなく任意の過去スナップショットを再構築
- カラフルな差分表示:時間経過に伴う変更を統合・完全コンテキスト・RAWモードで確認
- 一括抽出:複数ファイルを同時に選択し、まとめてディスクへ書き出し
- 高速スキャン:
とパラレルセッション解析、77 %の行を先に除外するバイトチェックで高速化orjson - シンボリックリンク重複排除:別名パスを検知して正規エントリへマージ
- スマートケース検索:クエリに大文字が含まれる場合のみ大文字小文字区別(ripgrep風)
インストール
推奨方法
uv tool install claude-file-recovery
pipx経由
pipx install claude-file-recovery
pip経由
pip install claude-file-recovery
Python 3.10+ が必要です。
クイックスタート
| コマンド | 説明 |
|---|---|
| インタラクティブTUIを起動(デフォルト) |
| 復元可能なファイル一覧表示 |
| パターンでフィルタリング |
| CSVとしてエクスポート |
| ファイルをディスクへ抽出 |
| 指定時点以前の状態で復元 |
| 別のClaudeデータディレクトリを指定 |
動作原理
-
スキャン
配下のすべてのJSONLセッションファイルを検出し、スレッドプールで並列解析。高速除外バイトチェックにより進行・履歴スナップショット行(約77 %)を先にスキップしてからJSONパーサへ渡します。~/.claude/projects/ -
相関
アシスタントメッセージのツール使用リクエストとユーザーメッセージ内の結果を
で結び付けます。これにより、ファイル内容(リクエストではなく結果にのみ存在)が各操作に添付されます。tool_use_id -
再構築
ファイルパスごとに時系列順に操作を再生。Writeはコンテンツ設定、Editは文字列置換適用、Readはスナップショット取得。
フラグは二分探索で任意の時点まで切り捨てます。--before -
提示
TUIで全復元ファイルを閲覧、ファジーマッチ検索、差分表示、ディスクへの一括抽出が可能です。
TUIキーbindings
| キー | アクション |
|---|---|
| 上下移動 |
| 先頭/末尾へジャンプ |
| 検索 |
| 検索モード切替(ファジー/glob/regex) |
or | ファイル選択のトグル |
| ファイル詳細+差分表示 |
| 差分モード切替(統合/完全コンテキスト/RAW) |
| 選択ファイルを抽出 |
| 戻る / 終了 |
コントリビューション
貢献は大歓迎です!Issueの提出やプルリクエストでご協力ください。
ライセンス
MIT — Rikkert ten Klooster