[BUG] Desktop app: no way to open an existing folder; terminal-started sessions never appear in Recents

Status Closed — not planned
Reported on v2.1.220
Maintainer reply None cached
Activity 1 comment · opened Aug 3, 2026 · closed Aug 4, 2026

Environment

  • Claude Code 2.1.220, installMethod: native
  • Windows 11 (10.0.26200)
  • Desktop app, MSIX package Claude_pzs8sxrjxfjjc

Problem

The desktop app offers no way to start a session in a directory other than the
current session's cwd.

  • "+ New" creates a session in the current session's working directory and never

asks which folder to use.

  • The Home tab contains no folder picker.
  • Sessions started from a terminal (cd <dir> && claude) create a CLI transcript

at ~/.claude/projects/<encoded-cwd>/<cliSessionId>.jsonl but no app-side
wrapper
, so they never show up in Recents — restarting the app does not help.

The result is that a directory which exists on disk, contains a CLAUDE.md, and
already has session history is unreachable from the app UI. The only entry point
is a terminal.

Steps to reproduce

  1. Create a new folder, e.g. C:\Users\<user>\projects\Foo, with a CLAUDE.md in it.
  2. From a terminal: cd C:\Users\<user>\projects\Foo && claude, send a message, exit.

→ A transcript now exists under ~/.claude/projects/C--Users-<user>-projects-Foo/.

  1. Open the desktop app and restart it.

Foo does not appear in Recents, and there is no way to open it from the UI.

What I verified

  • App sessions are CLI sessions. Each wrapper file under

%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude-code-sessions\<a>\<b>\local_*.json
carries a cliSessionId that resolves to a transcript in ~/.claude/projects/.
All 10 wrappers on this machine resolved correctly.

  • The Recents list is populated from wrappers only, not from ~/.claude/projects/.
  • Note for anyone debugging this: transcript filenames are always the bare

cliSessionId UUID for both app and terminal sessions — only the wrapper carries
the local_ prefix. Classifying sessions by transcript filename is misleading.

Workaround (works, but should not be necessary)

Hand-create a wrapper: copy an existing local_*.json, then set sessionId
(new, local_-prefixed), cliSessionId, cwd, originCwd, title, createdAt,
lastActivityAt, lastFocusedAt, completedTurns, model; write it into the same
folder and restart the app. Verified working.

Expected

Any one of:

  • An "Open folder" action in the app.
  • A folder selector when creating a new session, defaulting to the current cwd.
  • Recents (or a separate project list) populated from ~/.claude/projects/, so

that folders already known to the CLI are reachable from the app.

The third option seems closest to what a user expects: the project already exists on
disk and the CLI already knows about it — having to author a JSON file to reach it is
surprising.

View original on GitHub ↗

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