[Desktop] Sidebar session-to-group assignments lost after Windows reboot (groups remain, sessions become ungrouped)
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?
In the Claude Desktop app (Windows) Code tab, I use custom sidebar groups (4 groups, ~13 local sessions). After a Windows reboot the 4 groups still exist, but every session shows up under Ungrouped and I have to drag each one back into its group by hand. This happens repeatedly on every reboot, not only once after an app update.
What I found on disk
Group data is stored locally in two places:
- Electron Local Storage:
%APPDATA%\Claude\Local Storage\leveldb\*.ldb, keydframe-group-scopes - Mirrored into
%APPDATA%\Claude\claude_desktop_config.jsonunderpreferences.epitaxyPrefs["dframe-group-scopes"]with the structure{ "<orgId>/<userId>": { groups: [...], assignments: { "code:local_<sessionId>": "cg-..." }, order: {...} } }
Timeline for today's occurrence:
- Last boot: 2026-10-05 08:28:11
claude_desktop_config.jsonlast write: 2026-10-05 08:41:27, i.e. only written after I had manually re-assigned everything- An older leveldb segment (
000005.ldb, dated 2026-09-22) contains adframe-group-scopesentry with zerocg-ids, so an empty snapshot has been persisted at least once before
This suggests the assignments are flushed lazily (debounced / on clean quit). A reboot that kills the process skips the flush, so the last persisted state is stale. Group names surviving while assignments are lost also matches the replace-instead-of-merge behaviour described in #86843.
Related: #79518, #79134, #79810, #86843
What Should Happen?
Groups and session-to-group assignments should be exactly as they were before the reboot.
Suggested fix:
- Persist
dframe-group-scopessynchronously (or with a very short debounce) to a durable file on every change, not only on quit - Merge instead of replace when writing the object
- On startup, if Local Storage has an empty/missing entry but
claude_desktop_config.jsonhas a non-empty one, prefer the config file
Error Messages/Logs
No error message is shown in the UI. No files under %APPDATA%\Claude\logs. Crashpad has no new dump for this event.
Steps to Reproduce
- Open the Claude Desktop app (Windows, Microsoft Store build 2.2553.1), Code tab.
- In the sidebar create a few custom groups (e.g. 4 groups).
- Drag ~13 local sessions into those groups.
- Do NOT quit Claude explicitly. Reboot Windows normally (Start > Restart) while Claude is still running.
- Log back in and reopen Claude.
- Observe: the groups are still listed, but all sessions are under Ungrouped.
- Re-assign them manually; it persists until the next reboot, then step 6 repeats.
Workaround currently used: quit Claude from the system tray before rebooting, and keep a backup copy of claude_desktop_config.json to restore after a loss.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.275 (bundled in Claude Desktop 2.2553.1, Microsoft Store build); claude CLI is not installed separately
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
- Claude Desktop (Windows, MS Store build): 2.2553.1
- OS: Windows 11 Home 10.0.26200
- Code tab, local sessions only, single account / single org, no Remote Control
- The issue is about the Desktop app Code tab sidebar, not the terminal CLI, so the Terminal/Shell field below is not applicable.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗