[BUG] macOS permission rows accumulate one per release: version-named binary path defeats stable signing identity (refiling stale-closed #76615)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet (reopening a stale-closed report, as the bot invited)
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Refiling #76615, which the inactivity bot closed on 2026-09-11 with no maintainer response. That issue (itself a follow-up to #38722, closed the same way) has the full analysis, reproduction steps and independent confirmations from two other users. It still applies.
Short version: the native installer runs each release from a version-named path (~/.local/share/claude/versions/<version>). macOS TCC attributes grants to the executable path, so every release registers a new client. System Settings then collects one permission row per release, labeled with a bare version number, in App Management and in Files & Folders. The updater deletes old binaries but leaves their rows behind, and users can't remove those rows one at a time: tccutil can't target a path, and the panes have no remove control.
The signing identity is already stable (com.anthropic.claude-code, Q6L2SF6YDW). Only the path changes.
Still true on the current release
Checked 2026-09-12 on Claude Code 2.1.263, macOS 27.0 (26A428):
bundle ~/.local/share/claude/ClaudeCode.app/Contents/MacOS/claude
inode=319832836 links=1 mtime=2026-07-14 23:48
live ~/.local/share/claude/versions/2.1.263
inode=336626048 links=1 mtime=2026-09-07 10:13
The stable ClaudeCode.app bundle is still frozen at Jul 14, with no hardlink to the live binary. So the mitigation discussed in #76615 hasn't taken effect here, and the running binary still lives at a path that changes with every release.
Expected
One persistent "Claude Code" entry per permission service that survives updates. For example, attribute to the existing ClaudeCode.app bundle and refresh it on every update, or run from a version-independent path.
Related
- #76615, #38722: prior reports of this issue, both closed by the stale bot
- #76080: the permission prompt and the Settings row show the version string as the app name
- #93747 (opened 2026-09-12): the desktop app can't read Documents because its grants are split across several duplicate "claude" identities in Files & Folders. It may be another symptom of the same identity problem.