[BUG] Computer Use: `request_access` returns `not_installed` for all third-party apps on macOS

Resolved 💬 2 comments Opened Apr 5, 2026 by wellbo-inc Closed Apr 5, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The request_access tool in the computer-use MCP consistently returns not_installed for all third-party applications, even when the apps are confirmed to be installed, running, and have valid bundle identifiers.

macOS system apps (Notes, Calendar, etc.) are recognized correctly. Only third-party apps are affected.

Apps tested (all return not_installed):

  • Claude Desktop (com.anthropic.claudefordesktop)
  • Slack (com.tinyspeck.slackmacgap)
  • Google Chrome
  • Notion

Apps that work correctly:

  • Notes, Calendar, and other macOS system apps

Diagnostic Output

$ mdls -name kMDItemCFBundleIdentifier /Applications/Claude.app
kMDItemCFBundleIdentifier = (null)

$ mdls -name kMDItemCFBundleIdentifier /Applications/Slack.app
kMDItemCFBundleIdentifier = (null)

This suggests the computer-use MCP may rely on Spotlight metadata to discover installed apps. On macOS 26 (Tahoe), Spotlight indexing appears incomplete for third-party apps.

What Should Happen?

request_access should recognize installed third-party apps and prompt the user for access permission, the same way it does for system apps like Notes and Calendar.

Error Messages/Logs

# request_access for Claude Desktop → not_installed
# request_access for Slack → not_installed
# request_access for Google Chrome → not_installed
# request_access for Notes → works (prompts user)



$ defaults read /Applications/Claude.app/Contents/Info.plist CFBundleIdentifier
com.anthropic.claudefordesktop

$ defaults read /Applications/Slack.app/Contents/Info.plist CFBundleIdentifier
com.tinyspeck.slackmacgap

$ mdls -name kMDItemCFBundleIdentifier /Applications/Claude.app
kMDItemCFBundleIdentifier = (null)

Steps to Reproduce

  1. Install Claude Code CLI via npm: npm install -g @anthropic-ai/claude-code
  2. Start a session with computer-use: claude --computer-use
  3. Call request_access for any third-party app (e.g. "Claude", "Slack", "Google Chrome")
  4. Observe all return not_installed
  5. Call request_access for a system app (e.g. "Notes") — works correctly

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Latest (npm)

Claude Code Version

macOS 26.2 Tahoe (25C56)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Hypothesis

The computer-use MCP app discovery likely uses Spotlight metadata (kMDItemCFBundleIdentifier) rather than directly reading Info.plist. On macOS 26, Spotlight may not index third-party apps correctly. A fallback to reading Info.plist directly could resolve this.

Workaround attempts (all failed)

  • Passing display name → not_installed
  • Passing bundle identifier → not_installed
  • Using osascript to retrieve bundle ID → not_installed

Related Issues

  • #41190 — checkAccessibility error on request_access
  • #42404 — computer-use MCP fails on macOS Tahoe 26
  • #43547 — computer-use MCP broken in CLI (hardcoded native module path)

This issue is distinct: the MCP server connects successfully and request_access executes without error, but incorrectly reports third-party apps as not_installed.

View original on GitHub ↗

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