C:/Program Files/Git/quit prints session ID for a session file that was never written (WSL + Windows path interop)
Resolved 💬 1 comment Opened May 20, 2026 by ykill Closed Jun 19, 2026
Bug Description
When using /quit to end a Claude Code session, the CLI prints a session ID suggesting the conversation can be resumed with claude --resume <id>. However, the corresponding JSONL file is never created, making the printed session ID meaningless and the conversation unrecoverable.
Environment
- Claude Code running inside WSL (Fedora Remix)
- Sessions stored on the Windows-side path:
C:\Users\ykill\.claude\projects\ - OS: Windows 11 Pro for Workstations
Steps to Reproduce
- Start a Claude Code session from WSL terminal
- Have a conversation (session ran for ~40 minutes)
- Use
/quitto end the session — Claude prints:Session ID: 31928a66-7dd0-4913-99c6-40dd7c37c2f3 - Attempt to resume:
claude --resume 31928a66-7dd0-4913-99c6-40dd7c37c2f3 - Error:
No conversation found with session ID: 31928a66-7dd0-4913-99c6-40dd7c37c2f3
Investigation
- Session ID absent from
~/.claude/history.jsonlentirely - No JSONL file exists anywhere under
C:\Users\ykill\.claude\ - Windows Defender has no quarantine history
- Only one session file exists for this project directory (the subsequent session)
Expected Behavior
/quit should either:
- Verify the JSONL file was successfully written before printing the session ID, or
- Warn the user if the file could not be saved
Likely Cause
WSL's interop layer for writing to Windows-side paths (/c/Users/...) can silently drop writes without returning an error to the process. Claude Code does not detect this failure and prints the session ID regardless.
Impact
The conversation is permanently lost with no warning. The printed session ID creates false confidence that the session is resumable.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗