[Desktop] Sidebar session-to-group assignments lost after Windows reboot (groups remain, sessions become ungrouped)

Status Fixed / completed
Reported on v2.1.275
Maintainer reply None cached
Activity 1 comment · opened Oct 5, 2026 · closed Oct 5, 2026

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, key dframe-group-scopes
  • Mirrored into %APPDATA%\Claude\claude_desktop_config.json under preferences.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.json last 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 a dframe-group-scopes entry with zero cg- 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-scopes synchronously (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.json has 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

  1. Open the Claude Desktop app (Windows, Microsoft Store build 2.2553.1), Code tab.
  2. In the sidebar create a few custom groups (e.g. 4 groups).
  3. Drag ~13 local sessions into those groups.
  4. Do NOT quit Claude explicitly. Reboot Windows normally (Start > Restart) while Claude is still running.
  5. Log back in and reopen Claude.
  6. Observe: the groups are still listed, but all sessions are under Ungrouped.
  7. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗