claude-code - 💡(How to fix) Fix macOS TCC prompt shows version string ("2.1.112") instead of app name [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49613Fetched 2026-04-17 08:36:13
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×4commented ×2

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."

Root Cause

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."

RAW_BUFFERClick to expand / collapse

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

extent analysis

TL;DR

To fix the TCC prompt issue, embed a minimal Info.plist in the standalone claude binary with CFBundleName and CFBundleIdentifier set.

Guidance

  • Verify that the claude binary is indeed a standalone executable without a .app bundle or Info.plist by checking its installation directory ~/.local/bin/claude.
  • Consider wrapping the CLI in a signed .app bundle with a proper Info.plist as an alternative solution.
  • To implement the suggested fix, use the ld command with the -sectcreate option to embed the Info.plist in the binary during build time.
  • Ensure the Info.plist contains at least CFBundleName and CFBundleIdentifier keys to provide a human-readable name for the app.

Example

ld -sectcreate __TEXT __info_plist Info.plist claude

Assuming Info.plist contains:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleName</key>
  <string>Claude Code</string>
  <key>CFBundleIdentifier</key>
  <string>com.anthropic.claude-code</string>
</dict>
</plist>

Notes

This solution assumes that the claude binary is built using a compatible toolchain and that the ld command is available. Additionally, this fix may not be applicable to all versions of macOS or Claude Code.

Recommendation

Apply the workaround by embedding a minimal Info.plist in the standalone binary, as it is a lighter-touch solution that works for unsigned standalone binaries.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING