[BUG] Desktop: multi-repo cloud session never appears in the Code tab sidebar, though the app fetched and cached it
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version
What's Wrong?
A cloud session that spans two repositories does not appear in the Desktop app's Code tab sidebar. Every single-repository cloud session on the same account appears normally, including older ones, so this is not a "cloud sessions aren't listed" problem — it is specific to the multi-repo session.
The app is not missing the data. Its own HTTP cache shows it fetched that exact session — both the detail and the events endpoint — 20 seconds after launch:
https://claude.ai/v1/sessions/session_019<redacted>
https://claude.ai/v1/code/sessions/session_019<redacted>/events?limit=500&sort_order=desc
Cache file mtime: 10:10:38. App start: 10:10:18. So the response arrived and was cached, and the sidebar still does not render the session.
Why I think it's the multi-repo shape
The session header on the web shows the environment label Cloud and two repository names. Every cloud session that does appear in the Desktop sidebar has exactly one repository.
The sidebar filters and groups sessions by project — the docs describe "filter sessions by status, project, or environment, and group sessions by project". A session belonging to two repositories has no single project key, which is consistent with it falling out of a project-keyed list.
This is a correlation with one data point, not a proven cause. It is simply the only structural difference I could find between the session that is missing and the ones that are listed.
Alternatives I ruled out
- Repository not known locally — both repositories of the missing session exist as local clones under the same parent directory as every other project, so it isn't a "no matching local project" filter.
- Wrong session class — the missing one is labelled Cloud in the session header. For contrast, two other entries in the same web list are local CLI sessions surfaced through Remote Control (
remoteControlAtStartup: true), and those behave differently by design. The missing one is not one of those. - Network or sync failure — the app has established connections to the API, and the response for this very session is in its cache.
- Filters in the UI — reported with every sidebar filter enabled.
Secondary observation: the session list is never refreshed
While investigating I noticed the Desktop's cache contains 39 session entries, all fetched between 10:07:08 and 10:11:43, and nothing since — over an hour later, with the app running the whole time and connected. main.log likewise shows no session-related activity after 10:10:23, only telemetry and memory lines.
If that reflects the actual behaviour, the Code tab's session list is populated once at startup and never refreshed, so any cloud session created or updated from another surface (web, mobile) after launch stays invisible until the app is restarted. That is worth a look independently of the multi-repo issue, and it makes the multi-repo case harder to notice, since users cannot distinguish "not synced yet" from "never listed".
Reproduction
- From the mobile app or claude.ai/code, start a cloud session and add a second repository with the + button next to the repo pill.
- Open the Desktop app, Code tab, with all sidebar filters enabled.
- The multi-repo session is absent, while single-repo cloud sessions on the same account are listed.
- Confirm the app received it anyway:
grep -rl "<session-id>" ~/.config/Claude/Cache/Cache_Datareturns cache entries for the session's detail and events URLs.
Environment
- Claude Desktop: 1.24012.11 (Linux beta, apt)
- Embedded CLI: 2.1.219
- Linux Mint 22.3 (Ubuntu 24.04 base), x86_64, X11, Cinnamon
- Plan: Max
Session IDs and repository names are redacted because this issue is public. Happy to supply them privately if that helps track the session down.