[FEATURE] VS Code extension: sync Session Manager groups across machines via VS Code Settings Sync
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet (related, but for the desktop app / claude.ai/code / iOS: #92717, #94596, #100344 — none covers the VS Code extension or VS Code Settings Sync)
- [x] This is a single feature request (not multiple features)
Problem Statement
I use the VS Code extension on two machines (office and home office) with the same repository. The session transcripts are available on both machines, but the session groups I create in the Session Manager sidebar ("Tickets", "New group", …) exist only on the machine where I created them. On the other machine every session shows up under "Ungrouped", so I have to rebuild the grouping by hand on each machine — and keep doing it as groups change.
VS Code Settings Sync is enabled on both machines, but it does not carry the groups.
Technical background (extension 2.1.296): the groups are stored in context.globalState under the key sessionGroups:<first workspace folder fsPath> (see sessionGroupsKey() / setSessionGroups()). The extension never calls globalState.setKeysForSync(), so Settings Sync ignores the key. Under Remote-WSL the value lives in the Windows client's state.vscdb, which users should not (and cannot safely) copy around themselves.
Proposed Solution
Let VS Code Settings Sync carry the session groups:
- Register the groups key(s) via
context.globalState.setKeysForSync([...]). - Because the current key is scoped by workspace path, either
- store all groups in one key (e.g.
sessionGroups) as a map keyed by a workspace identifier, and register that single key, or - register the per-workspace keys of the workspaces that have groups.
- Ideally key the workspace by something that is stable across machines (e.g. the git remote, or the folder name), because the absolute path can differ between machines (
C:\…vs./home/…, different user names). - Groups that reference session IDs which do not exist locally can simply stay hidden until the transcript appears — the existing filtering against archived IDs shows that the extension already handles "unknown/hidden ID in a group".
An opt-out setting (e.g. claudeCode.syncSessionGroups) would be fine for users who do not want this.
Alternative Solutions
- Rebuilding the groups on every machine by hand (current workaround).
- Account-level sync of the sidebar organization as requested in #92717 / #94596 — that would solve it as well, if it also covers the VS Code extension. Settings Sync is just the mechanism VS Code users already have enabled.
Priority
Medium - Would be very helpful
Feature Category
Other (VS Code extension, Session Manager sidebar)
Use Case Example
- In the office I group the sessions of a support case under "Tickets".
- In the evening I continue on my home machine; the transcripts are there (same repo, synced
~/.claude/projects). - Today: the sidebar shows everything under "Ungrouped". With this feature: the same groups appear, and changes made at home are back in the office the next morning.
Additional Context
- Extension 2.1.296, VS Code with Remote-WSL (Ubuntu) on a Windows client, Settings Sync enabled on both machines.
- The same mechanism would also make the "Archived sessions" state (
hiddenSessionIds) consistent across machines, which has the same limitation today — but this request is only about the groups.