macOS TCC prompt shows version string ("2.1.112") instead of app name

Resolved 💬 4 comments Opened Apr 17, 2026 by ideabrian Closed Apr 20, 2026

Summary

On macOS Sequoia, when Claude Code triggers a TCC (Transparency, Consent, and Control) prompt — e.g., Files and Folders → Network Volume access — the dialog identifies the app as the version string 2.1.112 rather than "Claude Code."

Reproduction

  1. macOS 24.3.0 (Sequoia), Claude Code CLI v2.1.112 installed at ~/.local/bin/claude
  2. Have an SMB share mounted at /Volumes/<name>
  3. Run claude and ask it to enumerate mounts (e.g., ls /Volumes, df -h, lsof | grep smbfs)
  4. macOS TCC prompts: "2.1.112" would like to access files on a network volume.

The dialog has no app name, no icon specific to Claude Code — just the version string.

Cause (likely)

The claude binary is distributed as a bun-bundled standalone executable without a .app bundle or an Info.plist that sets CFBundleName. macOS TCC falls back to CFBundleShortVersionString when no human-readable name is available.

Impact

  • Users cannot identify what app is asking → defensive users deny by default
  • Looks unprofessional; undermines trust in the CLI
  • Confuses which binary the prompt refers to on systems with multiple versions installed side by side

Suggested fix

Either:

  1. Wrap the CLI in a signed .app bundle with a proper Info.plist (CFBundleName = "Claude Code", bundle identifier like com.anthropic.claude-code, icon), OR
  2. Embed a minimal Info.plist in the standalone binary via ld -sectcreate __TEXT __info_plist Info.plist at build time, setting at minimum CFBundleName and CFBundleIdentifier.

Option 2 is lighter-touch and works for unsigned standalone binaries.

Environment

  • macOS: 24.3.0 (Sequoia)
  • Claude Code: v2.1.112
  • Install method: ~/.local/bin/claude (standalone)
  • Shell: zsh

View original on GitHub ↗

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