[BUG] Desktop app: no way to open an existing folder; terminal-started sessions never appear in Recents
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
- Create a new folder, e.g.
C:\Users\<user>\projects\Foo, with aCLAUDE.mdin it. - 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/.
- 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗