Session disappears from /resume picker while transcript file still exists on disk
Environment
- Claude Code on macOS 25.5.0 (Darwin)
- Shell: zsh
- Session ID affected:
4282779e-bc10-4105-9c20-861f5de4f606 - Project cwd:
/Users/klaus - Date observed: 2026-05-22
Description
A long-running session (~13h, 1747 transcript lines, 3.7MB jsonl) became invisible in the /resume picker between 04:28 and 04:33 UTC even though the on-disk transcript at ~/.claude/projects/-Users-klaus/<sid>.jsonl was intact and the last assistant message wrote successfully at 04:28:22.
The session has zero session-start / session-resume events in its transcript, despite many turns. Sibling sessions in the same project dir were also missing from listings — mcp__ccd_session_mgmt__list_sessions returned "No other sessions found" while ls ~/.claude/projects/-Users-klaus/ showed 6 jsonl files modified that day.
Reproduce
Unclear — possibly correlates with sessions that never logged a session-start event. Common factor in this case: heavy MCP/tool usage (~100 pr-link events, multi-agent dispatch over a long-running session).
Suggested investigation: check whether the resume index is built from session-start event records rather than from scanning transcript files on disk. If so, any session whose session-start event was never persisted will be invisible to /resume even though its transcript is complete.
Expected
Any session with a transcript file in ~/.claude/projects/<project>/<sid>.jsonl should appear in /resume and in list_sessions results.
Actual
Session was undiscoverable through the normal UI. Only claude --resume <sid> worked, and only because the user already knew the session ID (recovered by inspecting ~/.claude/projects/ manually).
Impact
User loses access to in-progress work mid-task, may start a fresh session, fragmenting context. Without a way to discover the lost session ID from the UI, the only recovery path is filesystem archaeology.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗