Claude Desktop: disclaimer helper blocked by macOS quarantine - local sessions crash with 'Operation not permitted'
Bug Description
Claude Desktop local sessions don't work — spinner hangs on first prompt, follow-up messages show "Failed to load session". The CLI (claude in terminal) works fine.
Root Cause
The disclaimer helper binary inside Claude.app has com.apple.quarantine that cannot be removed. This blocks it from accessing the filesystem, causing every local session to crash immediately.
From ~/Library/Logs/Claude/main.log:
Session query error: Claude Code process exited with code 1
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
Reproducing the quarantine issue directly:
$ xattr /Applications/Claude.app/Contents/Helpers/disclaimer
com.apple.quarantine
$ /Applications/Claude.app/Contents/Helpers/disclaimer git status
fatal: Unable to read current working directory: Operation not permitted
$ git status # works fine without disclaimer wrapper
On branch main
Attempting to remove quarantine fails even with sudo due to SIP:
$ xattr -d com.apple.quarantine /Applications/Claude.app/Contents/Helpers/disclaimer
xattr: [Errno 1] Operation not permitted
$ sudo xattr -rd com.apple.quarantine /Applications/Claude.app
Operation not permitted
Environment
- macOS: 26.2.0 (Darwin 25.2.0)
- Chip: Apple M3 Pro
- Claude Desktop: v1.1.4498
- Embedded VM SDK: v2.1.51
- Claude Code CLI: v2.1.68 (works fine)
- SIP: enabled
What I've Tried
- Restarting computer
- Clear cache & reset app data (Help > Troubleshooting)
- Toggling Full Disk Access off/on for Claude
tccutil reset All com.anthropic.claudefordesktop- Complete uninstall (including
~/Library/Application Support/Claude/, Logs, Caches, Preferences plist) + fresh reinstall downloaded via Safari spctl --add /Applications/Claude.app(deprecated on this macOS version)- Right-click > Open in Finder (no Gatekeeper dialog appears)
None of the above resolved the quarantine on the disclaimer binary.
Expected Behavior
Local sessions should start and work normally, as they do in the CLI.
Workaround
Using claude CLI directly in terminal works without issues.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗