Desktop Recents list doesn't surface sessions previously created via the CLI

Resolved 💬 1 comment Opened May 26, 2026 by kroussevrb Closed Jun 26, 2026

Summary

When installing Claude Desktop on a machine that has been running Claude Code CLI for a while, the Code tab's Recents list does not surface historical CLI sessions, despite the account-level stats correctly reporting the full session count and all session jsonl files being present on disk under ~/.claude/projects/.

Reproduce

  1. Use Claude Code CLI on macOS for several weeks across multiple projects (in my case: 50+ sessions across 5 projects under ~/.claude/projects/-Users-...).
  2. Install Claude Desktop (brew install --cask claude) and open the Code tab.
  3. Observe the Recents list.

Expected

Desktop Code tab Recents shows historical CLI sessions, since:

  • Skills, memories, plugins, settings under ~/.claude/ are correctly shared between CLI and Desktop.
  • The dashboard stats (e.g. "Sessions: 65", "Messages: 12,460") correctly count all historical CLI sessions.
  • Desktop bundles its own copy of claude-code at ~/Library/Application Support/Claude/claude-code/<version>/claude — suggesting it's the same CLI engine underneath.

Actual

Recents shows only 3 sessions, all of which were started in the iOS Claude mobile app. Zero CLI-originated sessions are surfaced. Removing the branch/project chip filters, expanding \"More,\" and using the search affordance don't surface any of the CLI sessions. The 50+ CLI sessions are still readable on disk and resumable via \claude --resume <id>\ from the terminal, but invisible in Desktop.

Diagnostic notes

  • CLI sessions: \~/.claude/projects/-Users-<encoded-path>/<uuid>.jsonl\ — 50+ files in my case, intact.
  • Desktop local state: \~/Library/Application Support/Claude/IndexedDB/https_claude.ai_0.indexeddb.leveldb/\ is only ~48KB and contains no session UUIDs (verified by \strings\ on the log). It's UI cache, not a session index.
  • The Recents list appears to be sourced from a server-side endpoint and only contains sessions originated by first-party clients (iOS, web, Desktop) — not local CLI sessions.
  • Visible vs invisible session jsonl files are structurally identical (same \permission-mode\ opening event). No on-disk marker distinguishes the registered-with-server ones from the others.

Suggested resolution

Either (a) Desktop scans \~/.claude/projects/\ on launch and surfaces any local CLI sessions in Recents alongside server-known ones; or (b) ship an \import-sessions\ command (CLI or Desktop) that registers local CLI sessions with the server-side Recents list. Both would let existing CLI users have continuity when they adopt Desktop.

Environment

  • macOS 26.5, Apple Silicon
  • Claude Desktop 1.1.6679 (via Homebrew cask)
  • Claude Code CLI 2.1.150
  • Both signed in to the same Anthropic account

View original on GitHub ↗

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