[BUG] Playwright MCP (stdio) hangs/timeouts on Linux after 2.1.113+ native-binary spawn rewrite
Preflight Checklist
- [x] Searched existing issues; found related: #50289 (HTTP MCP timeout), #50559 (Windows subprocess init), #50465 (Windows
--chromenative host) - [x] Single bug report
- [x] Latest Claude Code (2.1.114)
Platform
- OS: Ubuntu 24.04 (Linux x64)
- Claude Code: 2.1.114 (VSCode extension; same behavior in CLI)
- Last known-good: 2.1.85
What's Wrong?
Playwright MCP (@playwright/mcp via stdio transport with --cdp-endpoint pointing at a remote Chrome DevTools Protocol target over Tailscale) becomes unreliable after upgrading from 2.1.85 → 2.1.114. Tool calls intermittently hang, time out, or return partial/empty responses. Downgrading the extension to 2.1.85 immediately restores reliable behavior.
MCP Server Config
Plugin-supplied config at .claude/plugins/cache/claude-plugins-official/playwright/unknown/.mcp.json:
{
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--cdp-endpoint", "http://<tailscale-ip>:9223"]
}
}
Remote CDP endpoint verified reachable and responsive (curl /json/version returns Chrome 147 in ~250ms; playwright.chromium.connect_over_cdp(...) from a plain Python script works flawlessly against the same URL — so the underlying CDP path is healthy).
Root Cause Hypothesis
Per the 2.1.113 changelog (quoted in #50289):
Changed the CLI to spawn a native Claude Code binary (via a per-platform optional dependency) instead of bundled JavaScript Fixed MCP concurrent-call timeout handling where a message for one tool call could silently disarm another call's watchdog
The native-binary subprocess-spawning rewrite appears to have introduced a regression affecting stdio-based MCP servers on Linux, in addition to the already-reported HTTP MCP timeout regression (#50289) and Windows subprocess-init regression (#50559). This is the stdio/Linux sibling of those bugs.
Steps to Reproduce
- On Claude Code 2.1.114, Linux, configure a stdio Playwright MCP server pointing at a remote CDP target (reachable via Tailscale, port-proxied Windows Chrome, or similar):
``json``
"playwright": {"command":"npx","args":["@playwright/mcp@latest","--cdp-endpoint","http://HOST:PORT"]}
- Make a series of Playwright MCP tool calls (navigate, snapshot, click).
- Expected: all calls complete normally (as they do on 2.1.85).
- Actual: calls intermittently hang, time out, or return incomplete responses.
Control
Downgrade the extension to 2.1.85 — same machine, same config, same remote CDP endpoint: reliable.
Last Working Version
2.1.85
Impact
Playwright MCP is one of the primary agent-browser-automation workflows on Linux. With this regression, users on 2.1.113+ cannot reliably drive a remote Chrome over CDP through Playwright MCP — a core Claude Code workflow.
Request
- Acknowledge stdio-MCP regression on Linux in the 2.1.113+ native-binary transition
- Confirm whether the fix lands alongside #50289 / #50559 / #50465 or needs a separate patch
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗