What's Wrong?
After the Claude Desktop app auto-updated to 1.22209.3 on 2026-07-19 (~02:16 local time), all session groups in the Code tab sidebar disappeared. Sessions that were previously organized into per-project groups are now dumped into a single flat "Recents" list. It worked correctly the day before on the prior version — this is a clean regression triggered by the update.
Full quit (Cmd+Q) + relaunch does not restore the groups.
Environment
- Desktop App: 1.22209.3 (installed 2026-07-19 02:16 via Squirrel auto-update)
- Claude Code CLI: 2.1.215
- OS: macOS 26.3 (Darwin 25.3.0), Apple Silicon
- Regression: Yes — grouping worked ~24h earlier on the previous version.
Root-cause analysis
The session data is 100% intact — this is purely a rendering/logic regression, not data loss. Details from digging into the local app data:
- The session wrapper index files at
~/Library/Application Support/Claude/claude-code-sessions/<userId>/<profileId>/local_*.json
are all present and healthy: 700 wrappers across 38 distinct cwd/originCwd values, each with correct cwd, originCwd, title, and timestamps. No orphaned .tmp files.
- There is no persisted group store: grepping Local Storage, Session Storage, and the
https_claude.ai_0 IndexedDB returns zero session cwd paths. The sidebar grouping is therefore derived live in the renderer, not read from a cache.
- Strings in
Claude.app/Contents/Resources/app.asar confirm the grouping is computed from originCwd via findGitRoot() — e.g. const n = await S.findGitRoot(o); if (!n) return { kind: "not_git" }. Sessions that don't resolve to a git root fall into the ungrouped flat bucket.
- In this case the sidebar collapsed to a single flat list including sessions whose
cwd IS a git repository, so the regression is not limited to non-git directories — grouping appears broken across the board.
What Should Happen
- Sidebar groups should be re-derived from each session's
cwd/originCwd (folder-based grouping, as before) and should survive app updates.
- Because group membership is not persisted and the wrapper files already contain everything needed (
cwd, originCwd, title), a rendering regression like this should never be able to hide the groups — they should rebuild from the wrappers on launch.
Impact
No data loss — every session is still reachable via the sidebar search box and via claude --resume in the CLI. But multi-project navigation is broken: dozens of projects are flattened into one undifferentiated list.
Steps to Reproduce
- Have multiple Code sessions across several project folders (mix of git and non-git), organized into sidebar groups.
- Let the Desktop app auto-update to 1.22209.3.
- Reopen the Code tab — all groups are gone, sessions flattened into one list.
- Full quit (Cmd+Q) + relaunch does not restore them.
Related
Is this a regression?
Yes — this worked in the previous version, one day earlier.
What's Wrong?
After the Claude Desktop app auto-updated to 1.22209.3 on 2026-07-19 (~02:16 local time), all session groups in the Code tab sidebar disappeared. Sessions that were previously organized into per-project groups are now dumped into a single flat "Recents" list. It worked correctly the day before on the prior version — this is a clean regression triggered by the update.
Full quit (Cmd+Q) + relaunch does not restore the groups.
Environment
Root-cause analysis
The session data is 100% intact — this is purely a rendering/logic regression, not data loss. Details from digging into the local app data:
~/Library/Application Support/Claude/claude-code-sessions/<userId>/<profileId>/local_*.jsonare all present and healthy: 700 wrappers across 38 distinct
cwd/originCwdvalues, each with correctcwd,originCwd,title, and timestamps. No orphaned.tmpfiles.https_claude.ai_0IndexedDB returns zero sessioncwdpaths. The sidebar grouping is therefore derived live in the renderer, not read from a cache.Claude.app/Contents/Resources/app.asarconfirm the grouping is computed fromoriginCwdviafindGitRoot()— e.g.const n = await S.findGitRoot(o); if (!n) return { kind: "not_git" }. Sessions that don't resolve to a git root fall into the ungrouped flat bucket.cwdIS a git repository, so the regression is not limited to non-git directories — grouping appears broken across the board.What Should Happen
cwd/originCwd(folder-based grouping, as before) and should survive app updates.cwd,originCwd,title), a rendering regression like this should never be able to hide the groups — they should rebuild from the wrappers on launch.Impact
No data loss — every session is still reachable via the sidebar search box and via
claude --resumein the CLI. But multi-project navigation is broken: dozens of projects are flattened into one undifferentiated list.Steps to Reproduce
Related
Is this a regression?
Yes — this worked in the previous version, one day earlier.