Claude desktop app stores the resolved symlink path as a session's working directory
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.