Claude Code: /resume の過去セッションが消えないよう cleanupPeriodDays を延ばす
Claude Code は既定で約30日より古い会話トランスクリプトなどを掃除するため、/resume で見ていた過去セッションが通知なしで消えることがある。長く残したいなら settings.json の cleanupPeriodDays を大きな日数(例: 3650)に変える。0 は検証エラーになり、掃除を止められない。
解決する問題
- 先月の調査セッションを
/resumeしようとしたら一覧にない - 長めのプロジェクトで、過去の会話や添付が勝手に消えて困る
やり方
- ユーザー設定の
settings.json(多くは~/.claude/settings.json)を開く - 次を追加または変更する(日数は自分の運用に合わせる)
json
{
"cleanupPeriodDays": 3650
}- Claude Code を再起動し、古いセッションが残るか確認する
仕様のポイント(CHANGELOG より)
cleanupPeriodDaysはセッションのトランスクリプトだけでなく、~/.claude/tasks/、shell-snapshots/、backups/、一定期間更新されていない skills の同期コピーなどにも効くcleanupPeriodDays: 0は検証で拒否される(以前は黙って永続化を切っていた)- 極端に大きな値にすると、貼り付け画像など直近の一時ファイルまで消える不具合が過去にあった(修正済み)。必要以上に巨大な値は避け、数年分程度にする
- Claude Desktop/Cowork のセッションは別設定(
desktopSessionCleanupPeriodDays)で扱われることがある
注意点
- 組織の managed 設定が上書きしている場合は、ローカルを変えても掃除期間が変わらない
- ディスクを節約したいときは既定(30日)のままでよい。残したいセッションだけ別の場所に要約を残す方が安全なこともある
関連
- Claude Code: 利用上限のリセット後に自動で続きを始める設定を、必要なら /config で切る(同じ @oswrav の Tips No.22)
出典
- @oswrav · 2026-11-06
- Claude Code CHANGELOG(
cleanupPeriodDays): github.com