30-day transcript auto-deletion silently destroyed months of session history — destructive defaults should announce themselves
What happened
I'm a solo founder who has built my product almost entirely in Claude Code sessions since early spring (301 commits). This week I ran YC's Paxel — their new tool that analyzes coding-agent transcripts so reviewers can evaluate how founders build. It found 4 sessions. Months of history were gone.
The cause: cleanupPeriodDays defaults to 30, and Claude Code had been permanently deleting my transcripts on a rolling 30-day fuse since I started. No prompt at install, no warning before the first deletion, no notice as it happened, nothing in the UI afterward — each file just quietly unlinked (no Trash) once it aged out. I learned my data had been being destroyed for months only when a third-party tool went looking for it.
Two sessions survived by accident — I happened to reopen them in July, which reset their clocks. That's how invisible the mechanism is: even heavy daily use gives you no hint it exists.
Why this default is wrong now
The 30-day default treats transcripts as debug logs. That made sense when they were scratch for resuming recent work. But in the agent era the transcript is the record of the thinking — the decisions, dead ends, and reasoning behind the code. The ecosystem already treats it that way: YC now asks founders to submit transcript analysis as part of how they're evaluated. The accelerator treats these files as a founder's track record while the tool that writes them treats them as trash with a 30-day fuse.
A user who would object to "delete all my thinking after 30 days" never gets asked the question in those words — or any words.
What I'm asking for
Any of these would have saved my data; together they'd fix the class of problem:
- Make the first cleanup loud. Before the first-ever deletion pass on a machine, show a one-time notice: what will be deleted, the setting that controls it, one keystroke to opt into long retention.
- Surface retention at onboarding. One line during setup ("Transcripts are kept 30 days — change with
cleanupPeriodDays") turns a silent default into a choice. - Leave a tombstone. When cleanup deletes files, write a line to a log (
~/.claude/cleanup.log: date, project, N files, how to change the setting). Deletion that leaves no trace is indistinguishable from a bug — and undiagnosable months later. - Reconsider the default for clearly-active projects, or scale retention with usage. A repo with daily sessions for months is not a casual trial.
Environment
- Claude Code 2.1.219 (macOS desktop app), default settings —
cleanupPeriodDayswas never set - Recovered what I could via the desktop app's server-side session mirror; the raw local files are unrecoverable
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗