Skip to content

[BUG] Claude Code silently deletes conversation transcripts after 30 days by default #62476

Description

@joelhochstetter

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:

  1. Change the default to non-destructive (disabled, or very long retention).
  2. Disclose at first run; require opt-in for auto-deletion.
  3. Soft-delete to a trash folder instead of unlink().
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions