Claude Desktop: allow opening/resuming local sessions not present in the account's sidebar (multi-account support)

Status Open
Reported on v2.1.201
Maintainer reply None cached
Activity 3 comments · opened Jul 6, 2026

Problem

I run two claude.ai accounts on the same Claude Desktop install (personal + work, switching by logout/login for billing/usage-limit reasons). The Desktop sidebar session list is server-backed per claude.ai account, so after switching accounts, sessions started under the other account are invisible in the UI — even though the full transcripts exist locally in ~/.claude/projects and are account-agnostic.

The CLI proves the data layer supports this fine: claude --resume <session-id> happily resumes a Desktop-created session under either login (verified on Windows, Claude Code 2.1.201). Only the Desktop UI has no way to reach sessions that aren't in the logged-in account's server-side list.

Feature request

Any one of these would solve it:

  1. A "local sessions" view in the Desktop sidebar that lists sessions found on disk (equivalent to the CLI's claude --resume picker with its all-projects toggle), regardless of which account created them; or
  2. An "open session by ID / open from disk" affordance or claude:// deep link; or
  3. A way to re-associate/import a local session into the current account's sidebar.

Workaround today

Terminal claude --resume (interactive picker, Ctrl+A to widen to all projects) — works fully, but abandons the Desktop UI for that session, and the session never becomes visible in the other account's sidebar.

Environment

  • Claude Code / Desktop: 2.1.201
  • OS: Windows 11 Enterprise 10.0.26200
  • Two claude.ai accounts (Pro/Max tier), same machine, same ~/.claude home

🤖 Generated with Claude Code

View original on GitHub ↗

3 Comments

kowshiksiva5 · 1 month ago

Confirmed on macOS as well — Claude Code 2.1.196, Desktop app, two claude.ai Team workspaces (switching via /login). Sessions created under workspace A vanish from the sidebar when logged into workspace B, while every transcript remains intact in ~/.claude/projects.

One extra data point supporting a straightforward fix: session JSONL entries carry no account/org identity at all — the per-line keys are sessionId, cwd, gitBranch, userType, uuid, version, timestamp, etc. Local history is fully account-agnostic; the filtering happens only in the server-backed sidebar list.

Proposed solution:

  1. Add a "Local sessions" section (or an "Show all local sessions" toggle) to the Desktop sidebar, populated from ~/.claude/projects — the same source the CLI claude --resume picker already uses — merged with the account's server-backed list and de-duplicated by session id.
  2. On resuming a local-only session, attach it to the currently active account for cloud features (Remote Control, sync). This is safe precisely because transcripts carry no account identity.
  3. A "Local sessions" view would also cover the offline / server-list-unavailable case for single-account users.

Workaround for anyone hitting this today: run claude --resume in the project directory from a terminal — it lists and resumes sessions regardless of which account created them; only the Desktop sidebar hides them.

arunmauryaaa · 1 month ago

Built a small workaround for this on macOS: https://github.com/arunmauryaaa/restore-desktop-sessions

Root cause I found: the desktop Code → Recents list is built by enumerating per-session pointer files at
~/Library/Application Support/Claude/claude-code-sessions/<accountUuid>/<workspaceUuid>/local_<uuid>.json.
They're keyed by account, so after switching login the old account's sessions still exist on disk but sit under the other account's folder → hidden. (A scan of the claude.ai IndexedDB/LevelDB turned up none of the UUIDs, so at least locally the list is driven by these files.)

The script copies those pointer files into the currently logged-in account's active workspace, then a full app restart (⌘Q) lists the whole history again. The transcripts themselves are account-agnostic, so resume works. Non-destructive (cp -n), backs up first, dry-run by default.

Restored ~250 sessions across an account switch this way. Obviously unofficial and could break if the sidebar goes purely server-driven — sharing in case it helps others stuck here, and as a signal for a proper in-app "show local sessions" toggle.

djnivek · 2 days ago

Is it still needed since they released this feature?

https://x.com/claudedevs/status/2093368017304371503?s=46