[Bug] macOS TCC permission ghost entries accumulate on every update — affects Desktop App AND Claude Code, root issue never fixed

Open 💬 1 comment Opened Jun 10, 2026 by blwfish

Summary

Every Claude Code / Desktop App update adds another ghost entry to Privacy & Security → Automation on macOS, with no mechanism to clean them up. The root cause has never been fixed. This is a re-open of #30608 (closed as inactive) and #46859 (closed as duplicate of #30608).

Root cause

macOS TCC (Transparency, Consent, and Control) keys Automation permissions by the full binary path, which includes the version number in Claude's case. Each update installs a new binary at a new path, so macOS registers it as a new app identity requiring a fresh permission grant — and leaves the old entry as an orphan. After N updates, there are N ghost entries.

Steps to observe

  1. Open System Settings → Privacy & Security → Automation
  2. Find Claude — expand it
  3. Count the entries. Each represents a prior Claude version; only the newest is active.
  4. Update Claude Code. Observe a new permission prompt appear, and a new entry added.

Impact

  • Every update prompts the user to re-grant Automation permission
  • The permission list accumulates entries indefinitely with no in-product cleanup path
  • Successfully reset AppleEvents approval status for com.anthropic.claudefordesktop clears all entries (workaround), but the user must then re-grant from scratch and the accumulation restarts immediately on next update

Fix direction

The standard solution is code-signing with a stable bundle identifier that doesn't embed the version in the binary path, so TCC sees the same identity across updates. This is how most auto-updating macOS apps handle it. Alternatively, the installer/updater could run followed by a re-grant flow on each update to keep the list clean.

Environment

  • macOS Sequoia 15.x (most aggressive re-prompting behavior observed here, but issue exists on earlier versions)
  • Claude Desktop App + Claude Code CLI (both affected — both install to version-stamped paths)
  • Confirmed: issue reproduces on every update regardless of version

Why this isn't a duplicate of #30608 or #46859

#30608 was closed as inactive — not fixed. #46859 was closed as a duplicate of #30608 by the auto-triage bot — which then also closed without a fix. Both closures were process outcomes, not engineering outcomes. The root cause is unchanged and the bug actively affects every user who updates regularly.

This report adds:

  • Explicit root-cause diagnosis (binary-path-keyed TCC identity, not a permission-caching issue)
  • Confirmation that the Desktop App and CLI are both affected
  • The tccutil reset workaround for users who want to clean up immediately
  • Version: confirmed present as of Claude Code v2.1.170 / macOS 15.x

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗