Claude Desktop: disclaimer helper binary cannot access ~/Documents (Operation not permitted)
Bug Description
Claude Desktop's disclaimer helper binary (/Applications/Claude.app/Contents/Helpers/disclaimer) cannot access ~/Documents on macOS, even when Claude.app has Full Disk Access granted. This causes "Failed to load session" when trying to open any project located inside ~/Documents.
Important context: This was working fine before. At some point, Claude Desktop prompted for folder access and the user accidentally denied it. After that, it never prompted again and the folder became permanently inaccessible — even after granting Full Disk Access, Files and Folders permissions, and resetting TCC permissions.
Steps to Reproduce
- Have a project folder inside
~/Documents - When Claude Desktop prompts for folder access, accidentally deny it
- Claude Desktop never prompts again for this permission
- Grant Claude.app Full Disk Access in System Settings → Privacy & Security
- Open the folder as a project in Claude Desktop
- Session fails to load with "Failed to load session"
Error Logs
From ~/Library/Logs/Claude/main.log:
[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
Session <session-id> query error: Claude Code process exited with code 1
The disclaimer binary also fails with simple commands:
$ cd ~/Documents && /Applications/Claude.app/Contents/Helpers/disclaimer ls
ls: .: Operation not permitted
While it works fine outside ~/Documents:
$ cd /tmp && /Applications/Claude.app/Contents/Helpers/disclaimer git status
fatal: not a git repository (or any of the parent directories): .git # expected, no permission error
What was tried
- Granting Claude.app Full Disk Access ✗
- Granting Claude.app Files and Folders access ✗
- Adding the
disclaimerbinary itself to Full Disk Access ✗ (macOS TCC ignores it, likely because it's signed as part of the app bundle) - Resetting TCC permissions with
tccutil reset All com.anthropic.claudefordesktopand re-granting ✗ - Creating a symlink from outside
~/Documents✗ (disclaimer resolves the real path)
Expected Behavior
- The
disclaimerhelper should inherit the parent app's TCC permissions, or be entitled to request its own, so that projects inside~/Documentscan be opened. - If folder access is accidentally denied, Claude Desktop should provide a way to re-prompt or clearly guide the user to fix it.
Environment
- macOS Darwin 25.3.0
- Claude Desktop (latest, downloading update at time of report)
- Claude Code binary version: 2.1.74
- disclaimer binary: Mach-O universal (x86_64 arm64), TeamIdentifier=Q6L2SF6YDW
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗