Resume uses stale session pointer and reports "conversation history is no longer on disk" despite other project transcripts existing
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Session started at 3:39 AM; process died uncleanly (sleep/reboot/crash). The socket at /tmp/cc-socks/70651.sock was cleared, but ~/.claude/sessions/70651.json persisted as a dangling pointer. The .jsonl transcript was never flushed to disk before the process died.
Result: Claude Code reads the stale session registry, finds no matching .jsonl, and reports "conversation history is no longer on disk" — alarming and misleading because other project transcripts were present and readable.
What Should Happen?
Either: (a) flush transcript incrementally during the session rather than only at clean close, or (b) silently skip stale session pointers and offer the session picker — the error message "conversation history is no longer on disk" is misleading when other project transcripts exist.
Error Messages/Logs
"This session's conversation history is no longer on disk. You can keep working here — sending your message will start a fresh session in this folder."
Stale session file (~/.claude/sessions/70651.json):
{
"pid": 70651,
"sessionId": "c9106579-57de-4374-a5e1-fc7f5322738f",
"procStart": "Wed Sep 9 03:39:01 2026",
"version": "2.1.226",
"entrypoint": "cli",
"messagingSocketPath": "/tmp/cc-socks/70651.sock"
}
Missing transcript:
~/.claude/projects/-Users-...-Desktop-Bupropion/c9106579-57de-4374-a5e1-fc7f5322738f.jsonl
Other recent transcripts in same project dir: PRESENT
Steps to Reproduce
- Start a CLI session (
claude) in a project folder - Leave session running overnight (machine sleeps or reboots)
- Process is killed uncleanly (no graceful shutdown)
- Reopen Claude Code and attempt to resume the session
- Receive "conversation history is no longer on disk" message
Key detail: ~/.claude/sessions/<pid>.json persists across reboots, but the matching .jsonl transcript was never written because the process died before flushing it. The socket /tmp/cc-socks/<pid>.sock is cleared on reboot; the session registry file is not.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.226
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
CLI version: 2.1.226 (claude --version). Desktop-app session metadata shows 2.1.260 — version mismatch worth investigating.
Workaround: claude --resume <known-good-session-id> or claude --resume (picker) to bypass the stale pointer.
Note: GitHub flagged #76829 ("Session transcript never created") as potential duplicate.