Skip to content

macOS TCC dialogs recur on every update and request unrelated permissions (Apple Music) #41297

Description

@jowitte

Environment

  • Platform: macOS (Darwin 25.4.0, Apple Silicon)
  • Claude Code version: 2.1.88 (also reproduced with 2.1.84–2.1.87)
  • Installation method: Native (~/.local/share/claude/versions/<version>)
  • Running in: VS Code (Claude Code extension)

Description

Two related issues with macOS TCC (Transparency, Consent, and Control) permission dialogs:

1. Permissions reset on every update

Each Claude Code update installs a new standalone Mach-O binary at ~/.local/share/claude/versions/<version>. Since macOS TCC ties permissions to the specific binary path, every update invalidates all previously granted permissions. The user must click "Allow" again for each app that Claude Code/MCP servers interact with.

This has been clicked 20+ times for version 2.1.87 alone, and resets again with 2.1.88.

2. Unrelated permission requests (Apple Music)

The dialog also requests access to Apple Music ("your music and video activity, and your media library"), which Claude Code should never need. This suggests either:

  • The runtime probes system APIs broadly on startup
  • An MCP server inadvertently triggers media framework access
  • The unsigned binary triggers overly broad TCC checks

Screenshots

Dialog 1 — "2.1.87" accessing data from other apps:
The macOS dialog shows the version number as the app name (related to #12433) and asks for inter-app data access.

Dialog 2 — "2.1.88" accessing Apple Music:
Requests access to Apple Music, music/video activity, and media library — completely unrelated to Claude Code's function.

Expected behavior

  • TCC permissions should persist across updates (e.g., by keeping a stable binary name/path or using proper code signing)
  • Claude Code should not request access to Apple Music or other unrelated system services

Related issues

Additional context

The versioned binary approach also wastes ~200 MB per version. Old binaries at ~/.local/share/claude/versions/ are never cleaned up automatically.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSstaleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions