Claudeとの会話「これって消せるの?」を辿ったら、ただのファイルだった話
Claude Codeで作業をしていて、ふとこんなことが気になりました。
「この会話、消したいときはどうすればいいんだろう?」
AIツールって画面の向こうで何が起きているのか分かりにくいので、専用の「削除ボタン」やコマンドが用意されていそうな気がします。実際に聞いてみました。
「セッション削除」という専用コマンドは無かった
結論から言うと、「この会話を削除する」だけのための専用コマンドは用意されていません。
代わりに分かったのは、会話の中身は~/.claude/projects/というフォルダの中に、普通のファイルとして保存されているということでした。
じゃあどうやって消すの?
方法は2つありました。
- Claude Code起動時やセッション一覧の画面から、その会話を選んで削除する
- 保存場所を直接見つけて、ファイルとして削除する
どちらも最終的にやっていることは同じで、「その会話が書かれたファイルを消す」だけです。
「結局はLinuxコマンドなんですね」
この話をしていて出てきた一言が印象的でした。
「結局はリナックスコマンドなんですね!」
そうなんです。AIとの会話履歴という、なんとなく特別で複雑そうに見えるものも、正体をたどれば普通のテキストファイルです。消すときも、特別な儀式は要らず、ファイルを消すのと同じ操作で片付きます。
本当に消えるのか、実際に数えて確かめてみた
話だけで終わらせず、実際に確かめてみることにしました。
まず、保存されている会話ファイルの総数を数えます。
find ~/.claude/projects -name "*.jsonl" -type f | wc -l
→ 331
331件でした。次に、過去のセッションの中から短く終わっている1件(APIキー設定でエラーが出て終わっていた、実験にちょうどいい小さな会話)を選び、rmコマンドで削除します。
rm "(対象ファイルのパス)"
削除したあと、もう一度同じコマンドで数えてみます。
find ~/.claude/projects -name "*.jsonl" -type f | wc -l
→ 330
331件だったものが、きっちり330件になりました。
「たぶんファイルなんだろうな」という予想を、実際に数字で裏づけられた瞬間でした。AIとの会話も、増えたり減ったりするのは特別な魔法ではなく、フォルダの中のファイルが1つ増えた・1つ減った、というだけのシンプルな出来事だったわけです。
しかし、エージェントの裏側を探ってると、Linuxの勉強の必要性を感じるな。
じゃあ新しいセッションを始めたら、フォルダは増える?
ここでもう一つ疑問が浮かびました。「新しいセッションを始めたら、今回消した分と統合されたりするのか? それとも新しく作られるのか?」
答えは「増えるが、それは場所による」でした。
- 同じ作業フォルダで新しいセッションを始めた場合 → 統合はされず、ファイルが1個増えるだけ。今回いじったフォルダのように、1つのプロジェクトフォルダの中にセッションファイルがどんどん並んでいく
- 今まで使ったことのない新しい作業フォルダで始めた場合 → その時だけ、フォルダ自体が新しく1個作られる
つまり「フォルダ=作業する場所ごとの棚」「ファイル=その棚に置かれるセッション1回分のノート」という2段構造になっていて、ディレクトリが増えるかどうかを決めるのは会話の回数ではなく「初めての場所で作業したかどうか」でした。まとめたり整理したりする機能は特になく、増える一方なので、たまに掃除(今回の実験のような削除)をしてあげる必要がありそうです。
まとめ
AIツールは画面の見た目こそ新しくても、裏側は意外と昔からあるコンピューターの仕組みの上に乗っているだけ、ということがよくあります。
「これってどうやって消すんだろう」「保存されてるって、どこに?」と不思議に思ったときは、一度裏側を覗いてみると、拍子抜けするくらいシンプルな答えに行き着くかもしれません。
