Desktop (Code tab): 'Change directory' for a session is only reachable via the uncommitted-changes bar — unreachable for non-git folders and clean repos

Status Fixed / completed
Reported on v2.1.221
Maintainer reply None cached
Activity 0 comments · opened Aug 6, 2026 · closed Aug 25, 2026

Environment

  • Claude Desktop for Windows 1.25927.0 (Microsoft Store / MSIX), Code tab
  • Bundled Claude Code CLI 2.1.221
  • Windows 11 Pro (build 26200)

Summary

The session "Change directory" action (the new working-directory mover) is only reachable through the uncommitted-changes bar above the composer (<folder> <branch> +N −M | Commit changes). That bar only renders when the session folder is a git repository with uncommitted changes. As a result:

  • Sessions whose folder is not a git repo can never reach the action — the bar never renders.
  • Sessions in a clean git repo can't reach it either, until something dirties the working tree.
  • The action appears and disappears as the repo gets dirty/clean (e.g. an hourly automation writing a log file makes it pop in and out), which reads as random to the user.

The action itself has no git requirement — moving a session works perfectly fine once triggered — so this looks like an entry-point visibility issue, not an intended constraint.

Steps to reproduce

  1. Start a local session in a folder that is not a git repository (or a clean repo). Observe there is no UI affordance anywhere (session header, sidebar context menu) to change the session's working directory.
  2. In that folder, run git init and create any file (any uncommitted change).
  3. The bar <folder> <branch> +N −0 | Commit changes appears above the composer.
  4. Click the folder name in the bar → menu appears: Show in Explorer / Copy path / Change directory / Open in terminal.
  5. Change directory opens a folder picker and works correctly: toast "Session moved to <dir>", sidebar regroups the session, the CLI transcript is relocated to the new project directory.

Step 2 is the absurd part: users should not need to git init a folder to unlock moving a session out of it.

Expected

The Working directory menu (or at least Change directory) should be reachable regardless of git state — e.g. from the session title area or the sidebar session context menu — with the commit controls remaining conditional on dirty state as they are today.

Additional observations

  • main.log confirms the underlying operation is git-agnostic: LocalSessions.changeCwd: sessionId=..., cwd=...[CCD] Session ... moved from <old> to <new>, including trust handling for the target folder and transcript relocation.
  • In the renderer bundle, the change-directory hook only requires a local session, the desktop bridge (changeCwd/browseFolder), and no desktop worktree; the git-dirty condition belongs to the changes-bar component the menu happens to be mounted on.
  • Reproduced consistently on multiple sessions (non-git folder: option unreachable; same folder after git init + 1 file: option available and working).

View original on GitHub ↗