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
Workaround ✓ Mentioned in thread ↓
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
- Run Claude Code 2.1.90 on macOS 26.3.1
- Open Claude desktop app (1.2.234)
- Connect the computer-use MCP via \
/mcp\ - 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
7 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Confirming this on macOS 26.4 (Build 25E246, Darwin 25.4.0) with Claude Code 2.1.90.
Same behavior — MCP connects,
request_accessreturns "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:
Update: Switching from Terminal.app to Warp changes the failure mode.
request_accesstimes out at 30s — native bridge completely non-responsiverequest_accessreturns immediately but denies all apps with"reason": "not_installed"— evencom.apple.finderandcom.apple.Terminalwhich are obviously presentSo 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.
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 withCannot read properties of undefined (reading 'checkAccessibility'). No computer-use process visible inps aux. Accessibility and Screen Recording permissions are granted.Environment:
Workaround: Fix
checkAccessibilityerror 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.nodenative binary from the@ant/computer-use-swiftpackage is not bundled with the npm-distributed Claude Code package. The bundledcli.jshas a hardcoded__dirnamepointing 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 causesjh().tccto beundefined, which then throwsCannot 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:
Add this to your
~/.zshrc(or~/.bashrc) to make it permanent.Verification:
How I found this:
cli.jsfor thecheckAccessibilitycall chain:jh() → ef4() → require(COMPUTER_USE_SWIFT_NODE_PATH ?? path.resolve(__dirname, "../prebuilds/computer_use.node"))computer_use.nodeis missing from the npm package (findreturns nothing)Claude.appat the path aboveNote: 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.nodeprebuild for each platform.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.
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.