Claude Code binary requires Full Disk Access — should use narrower entitlements
Summary
The Claude Code binary (com.anthropic.claude-code) crashes with exit code 1 when spawned by Claude Desktop unless it's granted Full Disk Access in macOS Privacy & Security settings. Full Disk Access is overly broad — it gives the binary unrestricted access to the entire filesystem.
Details
- Binary:
~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude - Bundle ID:
com.anthropic.claude-code - Signed: Developer ID Application: Anthropic PBC (Q6L2SF6YDW), hardened runtime, notarized
- macOS version: Darwin 25.4.0 (Sequoia)
The binary needs access to paths that fall outside macOS Files & Folders categories:
~/.claude/(config, memory, settings)~/Library/Application Support/Claude/(runtime state)- Shell profile files (
~/.bashrc,~/.zprofile, etc.) for environment init - The user-selected working directory (varies)
macOS TCC only offers category-based grants (Desktop, Documents, Downloads) — there's no way to grant access to ~/.claude/ or ~/Library/Application Support/ without Full Disk Access.
Expected behavior
The binary should function with minimal permissions. Possible approaches:
- Add sandbox entitlements declaring the specific paths needed
- Use
NSOpenPanelor Security-Scoped Bookmarks for user-selected working directories - Request only the specific TCC categories actually needed at runtime
Steps to reproduce
- Install Claude Desktop and let it install the Claude Code binary
- Do NOT grant Full Disk Access to claude-code
- Start a conversation in Claude Desktop that spawns Claude Code
- Claude Code crashes with exit code 1
Granting Full Disk Access resolves the crash, but is broader than necessary.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗