[Feature Request] Add Safari browser automation support for cross-browser testing

Resolved 💬 4 comments Opened Mar 30, 2026 by jordandm Closed May 11, 2026

Bug Description
From: Jordan Dea-Mattson
GitHub: @jordan-of (OrdinaryFolk), @jordandm (personal)
Email: jordan-of@users.noreply.github.com, jordandm@users.noreply.github.com
Related: anthropics/claude-code#41099 (permissions setup dead end), anthropics/claude-code#41101 (permissions break on update)

Problem

There is no way to interact with Safari through Claude. Computer Use MCP locks all browsers to view-only tier (screenshots, no clicks or typing). Browser MCP only
supports Chrome. This means cross-browser compatibility testing in Safari — one of the most common web development tasks on macOS — is impossible to automate.

The Cost

Safari has a distinct rendering engine (WebKit) with its own quirks. Developers building web applications need to test in Safari, not just Chrome. The current
workaround is fully manual: the human drives Safari while Claude screenshots and analyzes. That defeats the purpose of computer use automation.

Why This Is a Gap

  1. Computer Use MCP tier system: browsers are view-only — can screenshot Safari but cannot click, type, or navigate
  2. Browser MCP: Chrome only — no Safari support
  3. Claude in Chrome: Chrome only
  4. WebFetch: no rendering engine, no interaction
  5. Result: zero paths to automated Safari interaction

The tier restriction makes sense for arbitrary websites (prompt injection risk), but not for locally-running web applications the developer controls and is explicitly
asking Claude to test.

Expected

  1. Allow an elevated tier for Safari when the user explicitly requests it — at least for localhost/development URLs
  2. Or provide a Safari-compatible browser automation MCP (Safari has WebDriver support via safaridriver)
  3. Or allow Browser MCP to support Safari in addition to Chrome

Use Case: Developer builds a web app, tests it in Chrome via Browser MCP, then needs to verify Safari compatibility. Today that's a manual process. It shouldn't be.

Environment: Claude Code 2.1.87, macOS 15

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.87
  • Feedback ID: 3155d5a2-16be-40a4-b1db-4c72314eeb7d

Errors

[{"error":"Error: Tool mcp__computer-use__request_access not found\n    at Qs7 (/$bunfs/root/src/entrypoints/cli.js:2923:27657)\n    at _w (/$bunfs/root/src/entrypoints/cli.js:453:20997)\n    at $O (/$bunfs/root/src/entrypoints/cli.js:453:39538)\n    at Ks (/$bunfs/root/src/entrypoints/cli.js:453:50229)\n    at sEH (/$bunfs/root/src/entrypoints/cli.js:453:86903)\n    at M0 (/$bunfs/root/src/entrypoints/cli.js:453:85865)\n    at aEH (/$bunfs/root/src/entrypoints/cli.js:453:85687)\n    at WDH (/$bunfs/root/src/entrypoints/cli.js:453:82052)\n    at FH (/$bunfs/root/src/entrypoints/cli.js:453:6488)\n    at zH (/$bunfs/root/src/entrypoints/cli.js:453:4972)\n    at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:16629:279)","timestamp":"2026-03-30T18:28:05.181Z"},{"error":"Error: Tool mcp__computer-use__request_access not found\n    at Qs7 (/$bunfs/root/src/entrypoints/cli.js:2923:27657)\n    at _w (/$bunfs/root/src/entrypoints/cli.js:453:20997)\n    at $O (/$bunfs/root/src/entrypoints/cli.js:453:39538)\n    at Ks (/$bunfs/root/src/entrypoints/cli.js:453:50229)\n    at sEH (/$bunfs/root/src/entrypoints/cli.js:453:86903)\n    at M0 (/$bunfs/root/src/entrypoints/cli.js:453:85865)\n    at aEH (/$bunfs/root/src/entrypoints/cli.js:453:85687)\n    at WDH (/$bunfs/root/src/entrypoints/cli.js:453:82052)\n    at FH (/$bunfs/root/src/entrypoints/cli.js:453:6488)\n    at zH (/$bunfs/root/src/entrypoints/cli.js:453:4972)\n    at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:16629:279)","timestamp":"2026-03-30T18:28:05.186Z"},{"error":"Error: Tool mcp__computer-use__request_access not found\n    at Qs7 (/$bunfs/root/src/entrypoints/cli.js:2923:27657)\n    at _w (/$bunfs/root/src/entrypoints/cli.js:453:20997)\n    at $O (/$bunfs/root/src/entrypoints/cli.js:453:39538)\n    at Ks (/$bunfs/root/src/entrypoints/cli.js:453:50229)\n    at sEH (/$bunfs/root/src/entrypoints/cli.js:453:86903)\n    at M0 (/$bunfs/root/src/entrypoints/cli.js:453:85865)\n    at aEH (/$bunfs/root/src/entrypoints/cli.js:453:85687)\n    at WDH (/$bunfs/root/src/entrypoints/cli.js:453:82052)\n    at FH (/$bunfs/root/src/entrypoints/cli.js:453:6488)\n    at zH (/$bunfs/root/src/entrypoints/cli.js:453:4972)\n    at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:16629:279)","timestamp":"2026-03-30T18:28:05.187Z"},{"error":"Error: Tool mcp__computer-use__list_granted_applications not found\n    at Qs7 (/$bunfs/root/src/entrypoints/cli.js:2923:27657)\n    at _w (/$bunfs/root/src/entrypoints/cli.js:453:20997)\n    at $O (/$bunfs/root/src/entrypoints/cli.js:453:39538)\n    at Ks (/$bunfs/root/src/entrypoints/cli.js:453:50229)\n…

Note: Content was truncated.

View original on GitHub ↗

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