Skip to content

[BUG] macOS TCC permissions reset on every Claude Code update due to versioned binary path #30608

Closed as not planned

Description

@shayashi683

Description

On macOS, Claude Code's binary path includes the version number:

~/Library/Application Support/Claude/claude-code/<VERSION>/claude

macOS TCC (Transparency, Consent, and Control) registers permissions per absolute path. When Claude Code updates to a new version, the binary path changes, causing:

  1. Full Disk Access permission to no longer apply (registered for old version path)
  2. "claude" is requesting access to data from other applications dialog to reappear
  3. Users must re-grant permissions in System Settings after every update

Steps to Reproduce

  1. Grant Full Disk Access to Claude Code (e.g., version 2.1.49)
  2. Update Claude Code to a new version (e.g., 2.1.51)
  3. Run Claude Code — macOS permission dialog appears again

Evidence from TCC database

SELECT service, client, auth_value FROM access WHERE service='kTCCServiceSystemPolicyAllFiles';
kTCCServiceSystemPolicyAllFiles|.../claude-code/2.1.49/claude|2  -- (allowed, old version)
kTCCServiceSystemPolicyAllFiles|.../claude-code/2.1.51/claude|0  -- (denied/unknown, new version)

Additionally, kTCCServiceSystemPolicyAppData shows auth_value=5 (pending) for the new version, which triggers the repeated popup.

Expected Behavior

Permissions granted to Claude Code should persist across updates without requiring users to re-authorize.

Suggested Fix

Consider one of:

  • Use a stable symlink or fixed path for the binary (e.g., claude-code/current/claude) that doesn't change between versions
  • Register Claude Code as a proper app bundle with a stable bundle identifier, so TCC tracks it by identity rather than path
  • Use code signing identity for TCC registration instead of path-based registration

Environment

  • macOS Sequoia (Darwin 25.3.0)
  • Claude Code 2.1.51 (installed via Homebrew/npm)
  • SIP enabled

Activity

  1. github-actions commented on Mar 12, 2026

    @github-actions

    This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.

  2. locked as resolved and limited conversation to collaborators on Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions