[BUG] Computer Use MCP: Cannot read properties of undefined (registerEscape / checkAccessibility)
Status Closed — not planned
Maintainer reply ✓ Yes — localden
Workaround ✓ Mentioned in thread ↓
Activity 8 comments · opened Mar 31, 2026 · closed May 5, 2026
💡 Likely answer: A maintainer (localden, collaborator)
responded on this thread — see the highlighted reply below.
Description
Computer Use MCP shows as "connected" in /mcp but all tool calls fail with internal JavaScript errors.
Error Messages
screenshot tool:
Cannot read properties of undefined (reading 'registerEscape')
request_access tool:
Cannot read properties of undefined (reading 'checkAccessibility')
Environment
- Claude Code version: 2.1.88
- macOS version: 26.4 (25E246)
- Node.js version: v22.17.0
- Machine: MacBook Pro
- Plan: Max (Computer Use should be available)
Permissions Verified
- ✅ Accessibility: Claude + Terminal both enabled
- ✅ Screen Recording: Claude + Terminal both enabled
- ✅ Computer Use MCP status: "connected" (shown in
/mcp)
Steps to Reproduce
- Open Claude Code CLI (v2.1.88)
- Run
/mcp— Computer Use shows as connected - Call
screenshottool → Error:Cannot read properties of undefined (reading 'registerEscape') - Call
request_accesstool → Error:Cannot read properties of undefined (reading 'checkAccessibility')
What I've Tried
- Restarting Claude Code multiple times
- Reconnecting MCP via
/mcp - Verifying all macOS permissions (Accessibility + Screen Recording)
- Confirmed Node.js v22 (not v25 which has known issues)
Expected Behavior
request_access should show the permission dialog, and screenshot should capture the screen.
Actual Behavior
Both tools throw TypeError: Cannot read properties of undefined immediately, suggesting an internal object is not initialized despite the MCP connection being established.
8 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
I got same issue!!
I got same issue!! +1
Got same issue !
Same issue
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.