[BUG] "Failed to load session" — disclaimer helper cannot access macOS Documents folder despite Full Disk Access
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?
What's Wrong?
Claude Code Desktop fails to load any local session when the project folder is inside ~/Documents/. The disclaimer sandbox wrapper binary exits with code 128, unable to read the working directory due to macOS permission restrictions. The issue persists even after granting Full Disk Access to Claude, the disclaimer binary, and all claude binaries in System Settings.
Sessions pointed at folders outside of ~/Documents/ (e.g., ~/Desktop/, ~/Projects/) work perfectly.
Environment Info
Platform: macOS (Apple Silicon)
Claude Desktop App Version: Latest as of March 9, 2026
Claude Code Binary: v2.1.64
Location: /Users/ryansmith/Library/Application Support/Claude/claude-code/2.1.64/claude
Steps to Reproduce
Open Claude Desktop app
Go to the Code tab
Start a new local session pointing at any folder inside ~/Documents/ (e.g., ~/Documents/test-project)
Session fails immediately with "Failed to load session"
What Should Happen?
Expected Behavior
Session should load successfully, as it did previously and as it does for folders outside ~/Documents/.
Actual Behavior
Session fails instantly. The UI shows "Failed to load session" with only a "Back to landing page" button.
Error Messages/Logs
Error Logs
From ~/Library/Logs/Claude/main.log:
[error] Session local_XXXX query error: Claude Code process exited with code 1
Error: Claude Code process exited with code 1
at Udt.getProcessExitError (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.js:202:6760)
at ChildProcess.n (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.js:202:9358)
at Object.onceWrapper (node:events:623:26)
at ChildProcess.emit (node:events:520:35)
at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[error] [LocalSessionManager] Failed to check git status: Failed to spawn git (via disclaimer): /Applications/Claude.app/Contents/Helpers/disclaimer exited with code 128: fatal: Unable to read current working directory: Operation not permitted
Root Cause
The disclaimer binary at /Applications/Claude.app/Contents/Helpers/disclaimer is unable to access macOS-protected directories (Documents, Desktop, Downloads). The app's sandbox entitlements do not appear to trigger macOS TCC permission prompts for these protected folders, and granting Full Disk Access manually does not resolve the issue.
Steps to Reproduce
Steps to Reproduce
Open Claude Desktop app
Go to the Code tab
Start a new local session pointing at any folder inside ~/Documents/ (e.g., ~/Documents/test-project)
Session fails immediately with "Failed to load session"
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
v2.1.64
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Troubleshooting Already Attempted (all failed for Documents folder)
Logged out and back in to Claude — no change
Completely uninstalled and reinstalled Claude Desktop — no change
Reset TCC permissions via Terminal:
tccutil reset SystemPolicyAllFiles com.anthropic.claudefordesktop — succeeded but no change
tccutil reset SystemPolicyDocumentsFolder com.anthropic.claudefordesktop — succeeded but no change
Granted Full Disk Access to all of the following in System Settings → Privacy & Security → Full Disk Access:
Claude.app (main app) — toggled ON
disclaimer binary (/Applications/Claude.app/Contents/Helpers/disclaimer) — toggled ON
All four claude Code binaries — toggled ON
Rebooted Mac after permission changes — no change
Tested with brand new empty git repo inside ~/Documents/test-project — same failure
Tested with folder on Desktop (~/Desktop/test-project) — works perfectly
Key Finding
~/Documents/anything → FAILS (always)
~/Desktop/anything → WORKS (always)
~/Projects/anything → WORKS (always)
This confirms the issue is specifically with macOS TCC-protected directories. The disclaimer sandbox wrapper does not have (or cannot obtain) the necessary entitlements to access the Documents folder, even with Full Disk Access granted to every relevant binary.
Workaround
Moving the project folder outside of ~/Documents/ and optionally creating a symlink back:
bashmkdir -p ~/Projects/Cursor
mv ~/Documents/Cursor/MyProject ~/Projects/Cursor/MyProject
ln -s ~/Projects/Cursor/MyProject ~/Documents/Cursor/MyProject
Suggestion
The disclaimer helper binary likely needs the com.apple.security.personal-information.documents-folder or equivalent entitlement added to its code signature, or the app needs to properly trigger the macOS TCC consent dialog for Documents folder access when first used.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗