Claude Codeの会話履歴の保存場所と保持期間について調査してみた

Claude Codeの会話履歴の保存場所と保持期間について調査してみた

Claude Codeの会話履歴がデフォルトで30日で自動削除されることに気づきました。本記事では、履歴の保存場所やファイル形式、そして保持期間を制御する`cleanupPeriodDays`設定について紹介します。
2026.07.04

こんにちは、つくぼし(tsukuboshi0755)です!

先日、過去のClaude Codeの会話履歴から掘り起こそうとしたところ、1ヶ月以上前の履歴が見当たらないことに気づきました。

調べてみると、Claude Codeの会話履歴はデフォルトで30日経過すると自動削除される仕様を初めて知りました。

そこで本記事では、Claude Codeの会話履歴がどこにどんな形式で保存されているのかと、保持期間を制御するcleanupPeriodDays設定について紹介します!

会話履歴の保存場所

Claude Codeの会話履歴は、以下のパスにセッション単位のJSONLファイルとして保存されています。

~/.claude/projects/<作業ディレクトリをエンコードした名前>/<セッションID>.jsonl

公式ドキュメントではprojects/<project>/<session>.jsonlという構成が示されており、手元の環境で確認したところ、ディレクトリ名はClaude Codeを起動した作業ディレクトリの絶対パスをハイフン区切りへ変換した名前でした。

例えば/Users/username/myappで起動したセッションの履歴は、以下のようなディレクトリに保存されます。

~/.claude/projects/-Users-username-myapp/
├── 0a8f2f2b-xxxx-xxxx-xxxx-xxxxxxxxxxxx.jsonl
├── 10023f4b-xxxx-xxxx-xxxx-xxxxxxxxxxxx.jsonl
└── ...

つまり会話履歴はプロジェクト(作業ディレクトリ)ごとに分かれて保存されるため、複数のリポジトリで作業している場合はディレクトリも複数できます。

JSONLファイルに記録される内容

公式ドキュメントによると、このJSONLファイルにはすべてのメッセージ・ツール呼び出し・ツール実行結果を含む完全な会話トランスクリプトが記録されます。

そして注意すべきなのは、トランスクリプトが暗号化されない平文で保存される点です。

ツールが.envファイルを読み取ったり、コマンド出力に認証情報が含まれたりした場合、その値もそのままトランスクリプトに書き込まれると公式ドキュメントに明記されています。

機密情報の露出を減らす手段として、公式では以下が案内されています。

  • cleanupPeriodDaysを短くして保持期間を絞る
  • 環境変数CLAUDE_CODE_SKIP_PROMPT_HISTORYでトランスクリプトの書き込み自体を無効化する

会話履歴はデフォルト30日で自動削除される

この会話履歴(セッションファイル)は、無期限に残るわけではありません。

公式ドキュメントによると、Claude Codeは起動時にcleanupPeriodDays設定より古いセッションファイルを自動削除します。

  • デフォルト値: 30(日)
  • 最小値: 1
  • 削除タイミング: Claude Codeのスタートアップ時

実際に私の環境でも、残っていた最古のセッションファイルはちょうど30日前のものでした。

$ ls -lt ~/.claude/projects/*/*.jsonl | tail -1
-rw-------  1 username  staff  5315939  6月  5 00:13 /Users/username/.claude/projects/-Users-username-myapp/a24cd078-xxxx.jsonl

なお削除は起動時に実行されるため、後から保持期間を延長しても、既に削除された履歴は復元できない点にご注意ください。

保持期間を変更する方法

保持期間は~/.claude/settings.jsoncleanupPeriodDaysで変更できます。

例えば90日に延長したい場合は、以下のように設定します。

{
  "cleanupPeriodDays": 90
}

過去の作業履歴をふりかえりやネタ出しに活用したい場合は、早めに延長しておくと安心です。

逆に履歴を残したくない場合

反対に、会話履歴の書き込み自体を無効化する方法も用意されています。

  • 環境変数CLAUDE_CODE_SKIP_PROMPT_HISTORYを設定する
  • 非インタラクティブモード(-p)では--no-session-persistenceフラグを使用する

共有マシンでの利用時など、履歴を残したくないケースではこちらを検討してください。

参考資料

https://code.claude.com/docs/en/settings

https://code.claude.com/docs/en/claude-directory

https://code.claude.com/docs/en/data-usage

最後に

今回は、Claude Codeの会話履歴の保存場所と、デフォルト30日で自動削除される保持期間の仕様について紹介しました。

会話履歴には過去の設計判断や調査の経緯が詰まっているため、消えてから気づくと結構ショックです。

ふりかえりやネタ出しに履歴を活用したい方は、ぜひcleanupPeriodDaysの設定を見直してみてください!

以上、つくぼし(tsukuboshi0755)でした!


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

関連記事