[BUG] Claude Code silently deletes conversation transcripts after 30 days by default
Pangram verdict · v3.3
We believe that this document is fully AI-generated
AI likelihood · overall
AIArticle text · 255 words · 1 segments analyzed
Preflight Checklist
I have searched existing issues and this hasn't been reported yet This is a single bug report (please file separate reports for different bugs) I am using the latest version of Claude Code
What's Wrong? cleanupPeriodDays defaults to 30, causing Claude Code to silently delete ~/.claude/projects//.jsonl files older than 30 days on startup. There is no first-run disclosure, no warning before deletion, and the setting is not surfaced in /config. I lost months of conversation history before realizing this was happening. Repro: Use Claude Code for >30 days without setting cleanupPeriodDays. Old transcripts disappear. Evidence on my machine: ~/.claude/history.jsonl shows 14 sessions / 1,315 prompts for one project from March–April. Only the current session's .jsonl survives in ~/.claude/projects/. The cutoff matches the 30-day default exactly. My settings.json does not override the default. Impact: The code and git history remain, but the reasoning trail — design discussions, debugging context, analysis — is gone. For research work that context is the artifact. What Should Happen? Requested:
Change the default to non-destructive (disabled, or very long retention). Disclose at first run; require opt-in for auto-deletion. Soft-delete to a trash folder instead of unlink(). Surface the setting in /config.
Workaround for others: add "cleanupPeriodDays": 3650 to ~/.claude/settings.json immediately. Error Messages/Logs
Steps to Reproduce Use Claude Code for >30 days without setting cleanupPeriodDays. Old transcripts disappear. Claude Model None Is this a regression? I don't know Last Working Version No response Claude Code Version 2.1.150 Platform Anthropic API Operating System Ubuntu/Debian Linux Terminal/Shell Other Additional Information No response