Claude Code binary requires Full Disk Access — should use narrower entitlements

Resolved 💬 2 comments Opened Apr 5, 2026 by imperfectokra Closed May 16, 2026

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 NSOpenPanel or Security-Scoped Bookmarks for user-selected working directories
  • Request only the specific TCC categories actually needed at runtime

Steps to reproduce

  1. Install Claude Desktop and let it install the Claude Code binary
  2. Do NOT grant Full Disk Access to claude-code
  3. Start a conversation in Claude Desktop that spawns Claude Code
  4. Claude Code crashes with exit code 1

Granting Full Disk Access resolves the crash, but is broader than necessary.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗