Claude desktop app stores the resolved symlink path as a session's working directory

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 30, 2026

I chose ~/Link/project as the working directory for Code sessions in the Claude desktop app. ~/Link is a symlink. When I created those sessions, it pointed to ~/Documents/OldDir. Later, the real directory moved to ~/Documents/NewDir, and I updated ~/Link to point there. ~/Link/project resolves correctly.

The app stored /Users/<user>/Documents/OldDir/project for those sessions instead of ~/Link/project. After ~/Documents/OldDir stopped existing, the sessions could not start. The app said that it could not find the folder, disabled the input field, and did not reply.

Log evidence in ~/Library/Logs/Claude/main.log:

  • Working directory no longer exists: /Users/<user>/Documents/OldDir/project. The folder may have been moved, deleted, or unmounted.
  • Cannot start shell PTY for session ...: cwd "/Users/<user>/Documents/OldDir/project" does not exist
  • No log file contains the symlink path ~/Link.

Expected behavior: the app stores the path that the user selected, including symlinks, and resolves it each time a session starts.

Separate issue in the same log: Failed to spawn /Applications/Claude.app/Contents/Helpers/disclaimer: spawn ... ENOENT. Git status and file indexing fail in every session.

View original on GitHub ↗