PromptWake for Claude Code
Claude Code deletes transcripts older than 30 days by default, and the setting that controls it is absent from a normal install. PromptWake keeps them — locally, automatically, across every project.
Transcripts older than 30 days are deleted by default, and nothing tells you it is happening.
~/.claude/projects/<project>/<session>.jsonl- Retention default
- 30 days
- Setting
- cleanupPeriodDays in ~/.claude/settings.json
- Present on a fresh install
- No — the default applies silently
- Format
- JSONL, one file per session
- Every prompt and response, per session, per project
- The file diff each turn produced — added and removed lines
- Token usage per message, deduplicated by message id
- Which model answered, so cost stays correct as prices change
Run this before anything else. It tells you whether the deletion has already run on your machine:
find ~/.claude/projects -name '*.jsonl' -mtime +30 | wc -lIf that returns 0 and you have been using Claude Code for more than a month, everything past the thirty-day mark is already gone. There is no trash folder and no undo.
Fix the deletion first — you do not need us for that
Set the retention period explicitly. This is worth doing whether or not you install anything else:
// ~/.claude/settings.json
{ "cleanupPeriodDays": 3650 }That stops the clock on this machine, for this user, from today. What it does not do is bring back what is already gone, cover the other machines your team works on, or make the record readable by anyone but you.
What PromptWake does with Claude Code specifically
A local daemon reads the JSONL transcripts Claude Code already writes — it does not wrap the CLI, intercept traffic, or need an API key. Each user turn becomes one record: the prompt, the response, and the diff of every file the assistant edited in that turn, with token usage attached.
Two details matter for accuracy, and both took real work. Claude Code writes one JSONL line per content block, all carrying the same message id and the same usage figures — summing per line inflates token counts by more than double, so we deduplicate by message id. And subagent transcripts are excluded from session counts, which otherwise report several times more sessions than you actually have.
Start capturing
# see what is at risk right now — no account, writes nothing
npx promptwake doctor
# start capturing a project
npx promptwake init .The local tier is free and works offline; nothing leaves the machine unless you sign in. Cloud sync and a shared team timeline are the paid tiers, and they are what turns a per-laptop archive into something a team can search.
When it matters
How does the rest of the team see what I asked the AI?
A customer asks how AI-generated code is reviewed and retained. What do we show them?
How does someone new find out why this code was written this way?
Which change caused this, and why did it look correct at the time?
What leaves with the laptop?
Deeper on where Claude Code keeps its history, and how to back it up without PromptWake: read the guide.
