macOS TCC permission prompts show the app name as a bare version number (e.g. "2.1.170")
Environment
- Claude Code version: 2.1.170 (native installer)
- Platform: macOS (Darwin 25.5.0)
Bug description
macOS System Settings → Privacy & Security flagged that an app called "2.1.170" tried to access Files and Folders. This was hugely confusing — it looks like an unknown/suspicious process until you track down what it actually is.
Cause
The native installer stores each release as a bare executable named only by its version number, with claude as a symlink to it:
~/.local/bin/claude -> ~/.local/share/claude/versions/2.1.170
Since the binary is not in an app bundle, macOS TCC falls back to identifying the requesting process by its executable filename — so every privacy prompt and the Privacy & Security pane attribute access to an app named "2.1.170".
Impact
- Confusing/alarming UX: privacy prompts from an app named "2.1.170" look like malware to a reasonable user.
- Permission churn: TCC grants are tied to the executable path, so every Claude Code update (new version-named binary) can re-prompt for the same permissions, and stale grants for old versions accumulate in System Settings.
Suggested fix
Name the versioned executable something like claude-2.1.170 (or keep a stable claude binary and version the surrounding directory instead), so TCC prompts identify it recognizably and permissions survive updates.
🤖 Generated with Claude Code