claude-code - 💡(How to fix) Fix computer-use MCP returns "permission(s) not yet granted" on macOS 26.5 despite comprehensive TCC grants — orphaned per-version helper at ~/Library/Application Support/Claude/claude-code/<ver>/ [2 comments, 3 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#50735Fetched 2026-04-20 12:14:30
View on GitHub
Comments
2
Participants
3
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×4commented ×2

Built-in computer-use MCP returns "macOS Accessibility and Screen Recording permission(s) not yet granted" from request_access and list_granted_applications on macOS 26.5 (Tahoe) with CLI v2.1.114, even when every plausible TCC principal is granted in both panes. The failure persists across CLI restarts. Evidence strongly suggests the gate is not macOS TCC state — it is an internal per-CLI-version helper-bundle / .verified sentinel under ~/Library/Application Support/Claude/claude-code/<VERSION>/, which auto-update did not re-provision.

Likely a variant of / related to #41538, #42404, #31647.

Error Message

  1. Invoking mcp__computer-use__request_access or mcp__computer-use__list_granted_applications in v2.1.114 returns the "permission(s) not yet granted" error, even though:
  2. Surface a clearer error than "permission(s) not yet granted" when the internal gate (not macOS TCC) is the blocker. Current message sends users on a long, fruitless TCC diagnosis.

Root Cause

Built-in computer-use MCP returns "macOS Accessibility and Screen Recording permission(s) not yet granted" from request_access and list_granted_applications on macOS 26.5 (Tahoe) with CLI v2.1.114, even when every plausible TCC principal is granted in both panes. The failure persists across CLI restarts. Evidence strongly suggests the gate is not macOS TCC state — it is an internal per-CLI-version helper-bundle / .verified sentinel under ~/Library/Application Support/Claude/claude-code/<VERSION>/, which auto-update did not re-provision.

Likely a variant of / related to #41538, #42404, #31647.

RAW_BUFFERClick to expand / collapse

Summary

Built-in computer-use MCP returns "macOS Accessibility and Screen Recording permission(s) not yet granted" from request_access and list_granted_applications on macOS 26.5 (Tahoe) with CLI v2.1.114, even when every plausible TCC principal is granted in both panes. The failure persists across CLI restarts. Evidence strongly suggests the gate is not macOS TCC state — it is an internal per-CLI-version helper-bundle / .verified sentinel under ~/Library/Application Support/Claude/claude-code/<VERSION>/, which auto-update did not re-provision.

Likely a variant of / related to #41538, #42404, #31647.

Environment

  • macOS: 26.5 (Darwin 25.5.0), ARM64
  • Claude Code CLI: v2.1.114 (installed under ~/.local/share/claude/versions/)
  • Terminal: Warp 0.2025.x (auto-updates via staged binary under ~/Library/Application Support/dev.warp.Warp-Stable/old)
  • Plan: Max 5x, authenticated via claude.ai
  • CLI identity: codesign -d -r- on ~/.local/share/claude/versions/2.1.114:
    • Identifier=com.anthropic.claude-code
    • TeamIdentifier=Q6L2SF6YDW
    • Designated requirement is identifier-based (not cdhash)

Reproduction

  1. CLI v2.1.111 installed and computer-use enabled on 2026-04-16; helper bundle auto-provisioned at ~/Library/Application Support/Claude/claude-code/2.1.111/.
  2. CLI auto-updated 2.1.111 → 2.1.112 → 2.1.113 → 2.1.114 over subsequent days.
  3. Invoking mcp__computer-use__request_access or mcp__computer-use__list_granted_applications in v2.1.114 returns the "permission(s) not yet granted" error, even though:
    • CLI binary com.anthropic.claude-code ON in both Accessibility and Screen Recording panes.
    • Claude Desktop app com.anthropic.claudefordesktop ON in both panes.
    • Warp (dev.warp.Warp-Stable) ON in both panes.
    • Bash, axorc, tmux, python3.14, uv, AEServer all ON in Accessibility.

Diagnostic observations

  • ~/Library/Application Support/Claude/claude-code/ contains only 2.1.111/ — no 2.1.112/.113/.114 directories. Despite v2.1.114 being the running CLI for multiple days.
  • The 2.1.111 directory contains a zero-byte .verified sentinel and a full claude.app/ bundle (Contents/{Info.plist,MacOS/claude,_CodeSignature/CodeResources}). Info.plist has CFBundleIdentifier=com.anthropic.claude-code, CFBundleVersion=2.1.111, LSBackgroundOnly=true.
  • Strings of the flat CLI binary show libComputerUseSwift.dylib, runComputerUseMcpServer, createComputerUseMcpServerForCli, AppBundleResolver.swift, and build artifacts from packages/desktop/claude-swift/Sources/ComputerUseSwift/ — the Swift extraction pipeline is linked in.
  • Literal .verified is NOT a string constant in the flat CLI — path is runtime-constructed.

Hypothesis

The CLI's computer-use gate first-checks for a per-version support directory with .verified + valid claude.app/ bundle. If absent, request_access short-circuits to "not granted" regardless of actual macOS TCC state. Auto-update did not re-run the provisioning code path that originally minted 2.1.111/, leaving the directory orphaned at 2.1.111 while the running CLI is 2.1.114. This is consistent with the "helper missing" pattern in #31647 and the macOS-26-specific failure mode in #41538 / #42404.

What does not fix it

  • Granting CLI binary + Desktop app + Warp (both /Applications and staged old) in both panes.
  • Two /quit + fresh claude + /resume cycles.
  • Waiting 90s for TCC propagation quirk.

What might fix it (not yet tried, to avoid further local mutation)

  • /mcp disable computer-use followed by /mcp enable computer-use — to re-trigger the Swift AppBundleResolver extraction code path that originally created 2.1.111/. Risk: if the gate is ".verified exists for ANY version", the 2.1.111/ sentinel short-circuits this into a no-op.
  • Moving/deleting 2.1.111/ to force re-extraction on re-enable.
  • Fresh CLI reinstall via the canonical installer.

These were designed as a fix ladder but not executed pending upstream guidance — manual re-bundling ran into the identifier com.anthropic.claude-code + Team Q6L2SF6YDW Developer-ID requirement, which is not locally reproducible.

Requests

  1. Document the per-CLI-version support-dir mechanism at ~/Library/Application Support/Claude/claude-code/<VERSION>/ — whether .verified is sufficient or the full claude.app is required, how it is provisioned, and what regenerates it.
  2. Fix the auto-update path to re-provision the support dir for the new version (or migrate it forward in place).
  3. Surface a clearer error than "permission(s) not yet granted" when the internal gate (not macOS TCC) is the blocker. Current message sends users on a long, fruitless TCC diagnosis.
  4. Provide a claude doctor-style diagnostic or documented recovery command (e.g., claude computer-use --reinit) so users can force re-provisioning without a full reinstall.

Happy to provide

  • Full codesign -dvvv, codesign -d -r-, and Info.plist dumps of both the flat CLI and the 2.1.111 helper.
  • ls -la of the support dir tree.
  • strings grep output for the relevant symbols.
  • Full plan/investigation file if helpful (3 rounds of adversarial-council review led us to this hypothesis).

Related

  • #41538 — Built-in computer-use MCP: checkAccessibility undefined on macOS Tahoe
  • #42404 — computer-use MCP fails on macOS Tahoe 26
  • #31647 — Cowork runtime missing from macOS app bundle

extent analysis

TL;DR

The issue can be fixed by re-triggering the Swift AppBundleResolver extraction code path to re-provision the support directory for the new CLI version.

Guidance

  1. Disable and re-enable computer-use: Try running /mcp disable computer-use followed by /mcp enable computer-use to re-trigger the provisioning code path.
  2. Delete the old support directory: Consider deleting the 2.1.111/ directory to force re-extraction on re-enable, but be cautious of potential risks.
  3. Verify the support directory structure: Check the contents of ~/Library/Application Support/Claude/claude-code/ to ensure the correct version directory is present and contains the required files (.verified and claude.app/ bundle).
  4. Check for auto-update issues: Investigate why the auto-update path did not re-provision the support directory for the new version.
  5. Look for alternative diagnostic commands: Search for a claude doctor-style diagnostic or a documented recovery command (e.g., claude computer-use --reinit) to force re-provisioning without a full reinstall.

Example

No code snippet is provided as the issue is related to the CLI's internal mechanism and directory structure.

Notes

The provided hypothesis suggests that the issue is related to the internal gate checking for a per-version support directory with .verified and a valid claude.app/ bundle. However, the exact requirements and provisioning mechanism are unclear and require further documentation.

Recommendation

Apply the workaround by disabling and re-enabling computer-use to re-trigger the provisioning code path, as this is the most likely fix based on the provided hypothesis. If this does not work, consider deleting the old support directory or seeking alternative diagnostic commands.

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