Code mode Recents picker empty despite valid .jsonl session files on disk (Windows 11, 2.1.121)
Summary
In Claude Desktop on Windows, the Code mode Recents and Pinned panels only ever show the currently-running session. Historical sessions stored as .jsonl files in %USERPROFILE%\.claude\projects\<project>\ never appear, even though the files are valid and the project-dir slug matches the launch CWD. Pinning never persists across launches as a side effect (cannot drag a session to pin if it doesn't appear in Recents to begin with). Chat mode Recents work normally.
Environment
- Claude Desktop version: 2.1.121
- OS: Windows 11 Home (10.0.26200)
- Install: Win32 (per
%APPDATA%\Roaming\Claude\layout, not MSIX) - Project dir:
C:\Users\<user>\.claude\projects\C--Users-<user>-source-repos-<project>\ - CWD:
C:\Users\<user>\source\repos\<project>(matches the encoded slug)
What I see
- Code mode Recents shows only the active session.
- Pinned section reads "Drag to pin" and stays empty across restarts.
- Chat mode Recents and Pinned work as expected (cloud history).
Expected
Code mode Recents should list past sessions for the current project, sourced from the .jsonl files in the project directory.
What's on disk
- 13
.jsonlfiles spanning 4 days, sizes 14 KB–2.4 MB. - All have
"entrypoint":"claude-desktop","version":"2.1.121","cwd":"C:\\Users\\<user>\\source\\repos\\<project>". - All have valid
last-promptmarkers (1–45 each). - None of the 13 files contain a
"type":"summary"entry. (Possibly relevant — if the picker requires summary lines, they're not being written on session-end on this machine.)
Diagnostic attempts (none resolved)
- Verified the project-dir slug encoding matches
cwdexactly. - Confirmed no global setting in
~/.claude/settings.json(file does not exist). - Searched
%APPDATA%\Roaming\Claude\Local Storage\leveldb\for any key containingpin,recent,session,favorit— zero matches, suggesting no Pinned-state has ever been successfully persisted. - Manually appended a
{"type":"summary","summary":"...","leafUuid":"..."}line to one historical.jsonl— the session still did not appear in Code-mode Recents (the test was performed without a full app restart, so this is inconclusive).
Reproduction
This has been the state for at least 4 days (my oldest .jsonl is from May 2 and the picker has been empty across multiple Claude Desktop launches since then).
Happy to attach jsonl samples, leveldb dumps, or run additional diagnostics.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗