[BUG] Desktop app: No reliable way to create/maintain separate persistent sessions across multiple project directories (no folder picker, sessions don't persist after CLI closes, rename doesn't save)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Users managing multiple independent projects (e.g. multiple clients, each with their own dedicated folder) have no reliable in-app way to create, switch between, and keep separate labeled sessions for each project. This breaks down across three compounding issues:
- No folder/project picker when starting a new session. Clicking "+ New session" does not present any option to choose a working directory. The app silently defaults to whichever directory was used most recently, with no visible control to change it before or after the first message.
- Sessions started via CLI (terminal) do not persist in the desktop sidebar. As a workaround, starting a session via cd [project folder] && claude in PowerShell does correctly root it in the right directory, and it does appear in the desktop sidebar while the terminal window stays open. But closing the terminal window removes it from the sidebar entirely, even though the underlying session data is still saved to disk. This makes the CLI workaround unusable for maintaining persistent, always-visible per-client sessions in the app.
- Renaming a session in the sidebar does not persist. Attempting to manually rename a session (to differentiate between, e.g., "Client A" and "Client B") reverts to the auto-generated title shortly after confirming the new name.
What Should Happen?
- When starting a new session (via "+"), the user should be presented with a clear folder/project picker before (or immediately upon) sending the first message, allowing them to explicitly choose which project directory the session is rooted in, rather than inheriting the last-used one.
- Once a session is created and rooted in a project folder (whether started via CLI or the desktop app itself), it should remain permanently visible and accessible in the sidebar, independent of whether a terminal window is open, exactly as sessions created directly in the app already behave.
- CLI-originated sessions and desktop-app sessions should share a unified, persistent session store, so switching between the two doesn't cause sessions to appear/disappear.
- Manually renaming a session in the sidebar should save permanently and take priority over the auto-generated title, never silently reverting.
- Ideally, sessions should also be groupable/labeled by project directory in the sidebar, so users managing many concurrent projects can visually distinguish them at a glance.
Error Messages/Logs
Steps to Reproduce
- Open the Claude Desktop app, go to the Code tab
- Click "+ New session" — note there is no folder/directory picker presented
- Send a message — the session silently uses the previously active project's directory instead of the intended new one
- As a workaround, open PowerShell, cd into the desired new project folder, and run claude
- Confirm the session now correctly appears in the desktop sidebar, rooted in the correct directory
- Close the PowerShell window
- Observe: the session disappears from the desktop sidebar, despite session data still existing on disk (recoverable only via claude --resume in the CLI)
- Separately, hover over any session in the sidebar and click the rename/edit option, type a new name, and confirm
- Observe: the session name reverts to its auto-generated title shortly after
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.241
Platform
Other
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Users working across many independent projects/directories (e.g. agencies, freelancers, or consultants managing multiple clients) currently have no reliable way to maintain clearly labeled, persistent, separate sessions per project inside the desktop app. The only partial workaround (CLI + --resume) bypasses the sidebar UI entirely and requires manually typing terminal commands for every single project switch, which defeats the purpose of the desktop app's session management.