Local CLI conversations silently disappear from disk — multiple chats lost, JSONL files gone
Summary
Three local Claude Code CLI conversations have vanished from disk over the last few days. They are not on web (I never use claude.ai/code), and they were not compacted away — the session JSONL files appear to have been deleted entirely. claude --resume no longer lists them.
Lost chats
ARCH: no SIPARCH: (COM) alert state- A third chat noticed earlier today (the trigger for asking what "no message yet" means)
All three were in worktree-based project sessions under ~/.claude/projects/-Users-<me>-<repo>--claude-worktrees-*/.
What I verified
Searched the entire local Claude Code state for content from these chats:
| Location | Result |
|---|---|
| All ~/.claude/projects/*/*.jsonl (471 project dirs) | No first-user-message starts with ARCH:; no JSONL line contains "ARCH: no SIP" or "ARCH: (COM) alert state" |
| Compaction summary lines ("type":"summary") | None present |
| ~/.claude.json + all 5 rotating backups | No chat-title registry; titles are derived from JSONL only |
| ~/.claude/history.jsonl | No matches |
| ~/.Trash/ | Empty |
| Time Machine | Not configured |
So the JSONL files have been removed from disk, not just the worktrees.
For context: 471 worktree project dirs are tracked in ~/.claude.json, but only 24 worktrees remain on disk — that part is normal; orphan project dirs persist for deleted worktrees. The bug is that for these specific chats, the project dir / JSONL itself was also removed.
Suspected cause
Some lifecycle event is deleting ~/.claude/projects/<slug>/ (and its .jsonl) for active conversations. Candidates:
ExitWorktreecleanup over-deletes session state instead of leaving the JSONL behind- A recent CLI upgrade ran a migration / pruning step that removed sessions
- A hook or auto-cleanup tied to git worktree removal
Impact
Loss of conversation history, including chapter-marked architectural discussions I expected to be able to resume. No way to recover without backups. This has now happened at least 3 times.
Asks
- Investigate which code path can delete a populated
~/.claude/projects/<slug>/directory - Soft-delete (move to trash / archive) instead of unlinking, so users can recover
- Surface a warning when
claude --resumenotices a project dir referenced by~/.claude.jsonis missing on disk - Confirm whether there is any internal log/telemetry that could pinpoint when/why each session was removed (session IDs available on request)
Environment
- Local CLI only (no web sessions involved)
- macOS,
~/.claude/layout includesprojects/,sessions/,backups/,history.jsonl - Heavy worktree user (471 worktree project dirs ever created; 24 currently on disk)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗