Local transcript deletion (30-day TTL) should be configurable independently of data sharing
Problem
Claude Code silently deletes local session transcripts after 30 days with no way to opt out short of enabling \"Help improve Claude\" (which shares data with Anthropic for training). These are two completely separate concerns — local storage lifetime and data sharing consent — but they're currently coupled.
The only mention of this behavior is buried in the privacy dialog: \"Turning it OFF keeps the default 30-day data retention.\"
Why this matters
Session transcripts are valuable for iterative workflows. They let you:
- Review how a previous session solved a similar problem
- Feed prior context into a new session
- Build autonomous/agentic sessions that learn from past patterns
- Audit what was done and why
A 30-day silent purge makes all of this impossible to rely on. I discovered the deletion only after noticing that 5+ weeks of sessions were missing — no warning, no config knob, no escape hatch.
What I want
A settings.json key to control local transcript retention independently of the training opt-in:
{
"transcriptRetentionDays": -1
}
Where -1 (or null) means keep forever. The data-sharing preference should remain separate.
Current workaround
Hardlinking transcripts out of ~/.claude/projects/ via a daily systemd timer — but this is fragile and shouldn't be necessary.
Environment
- Claude Code 2.1.161
- Linux
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗