macOS TCC permissions don't persist across updates — binary named by version number

Resolved 💬 3 comments Opened Apr 2, 2026 by rZilla2 Closed Apr 6, 2026

Problem

Each Claude Code update installs a new binary at ~/.local/share/claude/versions/<version> (e.g., 2.1.90). macOS TCC tracks permissions by binary path, so all privacy permissions (Downloads folder, Full Disk Access, etc.) are lost on every update. Updates are near-daily, creating constant friction.

The binary is named by version number, so macOS Privacy & Security shows "2.1.90" instead of "Claude Code" — stale entries pile up and are indistinguishable.

Expected behavior

  • Stable binary name (e.g., claude-code) so TCC grants persist across updates
  • macOS shows "Claude Code" in Privacy & Security, not version numbers
  • Users grant permissions once

Suggested fix

Name the binary claude-code at a stable path (e.g., ~/.local/share/claude/current/claude-code). The signing identity com.anthropic.claude-code is already consistent — a stable filename + path would let macOS TCC persist grants automatically.

Environment

  • macOS 15 (Darwin 25.4.0), Apple Silicon M4
  • Claude Code 2.1.90
  • Warp terminal (has FDA, but Claude's hardened runtime gets its own TCC entry)

View original on GitHub ↗

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