computer-use MCP fails on macOS Tahoe 26 — "Cannot read properties of undefined (reading 'checkAccessibility')"

Status Closed — not planned
Reported on v2.1.90
Maintainer reply ✓ Yes — localden
Activity 7 comments · opened Apr 2, 2026 · closed May 5, 2026
💡 Likely answer: A maintainer (localden, collaborator) responded on this thread — see the highlighted reply below.

Bug Description

The computer-use MCP server reconnects successfully but all tool calls fail with:

Cannot read properties of undefined (reading 'checkAccessibility')

The native accessibility bridge module appears to fail silently on macOS 26, returning undefined instead of the expected native object.

Environment

  • Claude Code version: 2.1.90
  • Claude desktop app version: 1.2.234
  • macOS version: 26.3.1 (a) — Build 25D771280a
  • Kernel: Darwin 25.3.0 arm64 (Apple Silicon — T6041)
  • Architecture: ARM64

Steps to Reproduce

  1. Run Claude Code 2.1.90 on macOS 26.3.1
  2. Open Claude desktop app (1.2.234)
  3. Connect the computer-use MCP via \/mcp\
  4. Call any computer-use tool (e.g. \request_access\, \screenshot\)

Expected Behavior

Tool calls succeed, accessibility permission dialog appears.

Actual Behavior

Every call returns: \Cannot read properties of undefined (reading 'checkAccessibility')\

Notes

  • macOS Accessibility and Screen Recording permissions are granted for Claude
  • The MCP server connects (shows as "connected") but the native \.node\ bridge module fails to initialize
  • Likely the native binary was not compiled for Darwin 25.x / macOS 26

View original on GitHub ↗

7 Comments

github-actions[bot] · 6 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/41538
  2. https://github.com/anthropics/claude-code/issues/41606
  3. https://github.com/anthropics/claude-code/issues/42380

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

8agana · 6 months ago

Confirming this on macOS 26.4 (Build 25E246, Darwin 25.4.0) with Claude Code 2.1.90.

Same behavior — MCP connects, request_access returns "macOS Screen Recording permission(s) not yet granted" even with Terminal.app fully granted in System Settings → Privacy & Security → Screen Recording. Restarting Terminal and Claude Code doesn't help.

Environment:

  • macOS 26.4 (Build 25E246)
  • Kernel: Darwin 25.4.0 arm64
  • Claude Code: 2.1.90
  • Terminal: Terminal.app
  • Hardware: Mac Studio M2 Max
8agana · 6 months ago

Update: Switching from Terminal.app to Warp changes the failure mode.

  • Terminal.app: request_access times out at 30s — native bridge completely non-responsive
  • Warp: request_access returns immediately but denies all apps with "reason": "not_installed" — even com.apple.finder and com.apple.Terminal which are obviously present

So in Warp the native module initializes and responds, but app discovery/enumeration is broken. Partial progress — the bridge is alive but can't see installed applications.

Same environment: macOS 26.4 (Build 25E246), Claude Code 2.1.90, Mac Studio M2 Max.

Gustavo-Hilario · 6 months ago

Confirming on macOS 26.4 (Build 25E246, Darwin 25.4.0) with Claude Code 2.1.86.

Same behavior — MCP shows as connected via /mcp, but all tool calls (request_access, screenshot) fail with Cannot read properties of undefined (reading 'checkAccessibility'). No computer-use process visible in ps aux. Accessibility and Screen Recording permissions are granted.

Environment:

  • macOS 26.4 (Build 25E246)
  • Kernel: Darwin 25.4.0 x86_64 (Rosetta 2)
  • Claude Code: 2.1.86
  • Terminal: iTerm2 / cmux
  • Hardware: MacBook Pro 14" M2 Pro (32 GB)
fa7eem · 6 months ago

Workaround: Fix checkAccessibility error on macOS Tahoe (macOS 26)

Environment: macOS 26.3.1 (Tahoe), Apple Silicon (arm64), Node v22.14.0, Claude Code v2.1.92

Root cause: The computer_use.node native binary from the @ant/computer-use-swift package is not bundled with the npm-distributed Claude Code package. The bundled cli.js has a hardcoded __dirname pointing to a CI build path (/home/runner/code/tmp/claude-cli-external-build-2201/node_modules/@ant/computer-use-swift/js) that doesn't exist on end-user machines. This causes jh().tcc to be undefined, which then throws Cannot read properties of undefined (reading 'checkAccessibility').

Fix: The code supports an env var override. The native binary does ship inside the Claude desktop app. Point the CLI to it:

export COMPUTER_USE_SWIFT_NODE_PATH="/Applications/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/@ant/claude-swift/build/Release/computer_use.node"

Add this to your ~/.zshrc (or ~/.bashrc) to make it permanent.

Verification:

node -e "const m = require('/Applications/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/@ant/claude-swift/build/Release/computer_use.node'); console.log(Object.keys(m.computerUse.tcc));"
# Output: [ 'checkAccessibility', 'requestAccessibility', 'checkScreenRecording', 'requestScreenRecording' ]

How I found this:

  1. Searched cli.js for the checkAccessibility call chain: jh() → ef4() → require(COMPUTER_USE_SWIFT_NODE_PATH ?? path.resolve(__dirname, "../prebuilds/computer_use.node"))
  2. Confirmed computer_use.node is missing from the npm package (find returns nothing)
  3. Found the binary inside Claude.app at the path above
  4. Module loads successfully and exposes all expected functions (tcc, apps, hotkey, display, screenshot, etc.)

Note: This requires the Claude desktop app to be installed alongside the CLI. The proper fix would be for the npm package to bundle the computer_use.node prebuild for each platform.

localden collaborator · 5 months ago

Thank you for your report — we are currently in the process of triaging MCP-related issues and this one appears to describe the same problem as #41188. To keep the discussion and any fix in one place, we're consolidating into that issue and closing this one. If you have logs, repro steps, or environment details that aren't already covered in #41188, please add them there — it'll help us track this down faster.

github-actions[bot] · 3 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.