# Reported issues for playwright-mcp

Pod holds 24 of 799 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [playwright-mcp](/mcp/playwright-mcp).

## Most discussed

### browser extension v0.0.67 yields ERR_BLOCKED_BY_CLIENT

Version v0.0.64 of the extension works correctly, but version v0.0.67 throws the error ERR_BLOCKED_BY_CLIENT when trying to connect, both when installing the extension from the Chrome Store and from the unpacked zip file.

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1402) · 2026-02-14 · closed · external user · 16 comments

### Bug: Screenshot tool returns corrupted image data causing permanent API error 400

### Description
  When using the `browser_take_screenshot` tool in Playwright MCP v0.0.47, the returned screenshot
  data causes a permanent conversation-breaking error in Claude Code:

  API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.5.content.3.ima
  ge.source.base64.data: Image does not match the provided media type
  image/jpeg"},"request_id":"req_011CVJ5ctzYq8pn8P7cLQZNy"}

  ### Versions Affected
  - **Broken:**  v0.0.47
  - **Working version:** 

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1211) · 2025-11-19 · closed · external user · 30 comments

### Agents problem running seed.spec.ts

VS Code v1.105 has appeared as stable ( you may want to improve the page https://playwright.dev/docs/test-agents ) 

So I tried to try https://playwright.dev/docs/test-agents with ASPIRE ;-) 

I have followed the tutorial, but the planner gives an error when run the test seed ( it says that "Error: Playwright Test did not expect test.describe() to be called here." - detailed error as image below )

This is the seed.spec.ts  file - generated by playwright 
```typescript
import { test, expect } f

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1141) · 2025-10-15 · closed · external user · 20 comments

### **Bug Report: Playwright-MCP fails to start - "Browser already in use" error on first attempt**

**Environment Details:**
- **Host OS:** Ubuntu 24.04.3 LTS (noble)
- **Virtualization:** LXC container on Proxmox VE (kernel 6.14.8-2-pve)
- **Architecture:** x86_64
- **User:** root
- **Connection:** VSCode on Windows connecting via SSH Remote extension
- **Project:** Single project workspace (`/home/NovoRCO`)
- **MCP:** Local MCP server accessed via SSH connection

**Tool Information:**
- **Tool:** playwright-mcp
- **Command:** `browser_navigate_playwright-mcp`
- **Target URL:** https://www.go

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/942) · 2025-08-24 · closed · external user · 16 comments

### Error: Browser is already in use for C:\Users\1\AppData\Local\ms-playwright\mcp-chrome-profile, use --isolated to run multiple instances of the same browser

This problem has been bothering me for a long time. Where should this --isolated be configured? Because every time the AI calls playwright MCP, it always prompts a browser instance conflict problem. How should this problem be solved? Otherwise, this MCP cannot be used normally. How can this problem be completely solved?

<img width="365" height="210" alt="Image" src="https://github.com/user-attachments/assets/f313194a-4fd0-429f-a887-23e37e909b5a" />

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/769) · 2025-07-26 · closed · external user · 25 comments

### Bug: `visibility: hidden > visibility: visible` structure isn't included in snapshot

here is my prompt:

. Perform File Sharing Operations

   - Wait for OneDrive Page to load completely.
   - Wait 3-5 seconds for the files to load in the OneDrive interface.
   - In the left sidebar, click the item labeled "My files" (with the folder icon below Home).
   - Wait for the files to load in the main area.
   - Hover slightly left of the file named "Automation_test" in the file list.
   - Click the three dots (ellipsis) next to the file name "Automation_test".
   - Wait for the dropdo

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/535) · 2025-06-09 · closed · external user · 21 comments

### [Feature] Adding codegen feature.

Its is very useful to have playwright codegen feature, so once started that will keep track on all action performed on page. This feature is very helpful in replaying test and getting selectors for some elements. 
Similar to [This](https://executeautomation.github.io/mcp-playwright/docs/playwright-web/Supported-Tools#start_codegen_session). Also `browser_generate_playwright_test` does not works as codegen and skips most of selectors, so that cant be trusted

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/519) · 2025-06-04 · closed · external user · 23 comments

### [Windows] Error: chrome' is not found

When I executed playwright-mcp via Claude Desktop installed on my Windows 11, the following error occurred:

```
{
  `url`: `https://www.google.com/search?q=Azure+Microsoft+cloud+services`
}
Error: browserType.launch: Chromium distribution 'chrome' is not found at C:\Users\<user name>\AppData\Local\Google\Chrome\Application\chrome.exe
Run "npx playwright install chrome"
```

Chrome on my PC is installed in "C:\Program Files\Google\Chrome\Application".
Therefore, I believe the error occurred beca

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/13) · 2025-03-25 · closed · external user · 18 comments

## Most recent

### Option for no-clobber output files and reserved name handling

Two requests around output filenames, both in `Response._writeFile`:

1. The write truncates when the target exists, so a second screenshot saved as a.png replaces the first. An option to fail on collision, or suffix the name, would avoid silent data loss.

2. On Windows, NUL.png and names with a trailing dot or space are accepted but stored under a different effective name. Rejecting names the OS will not keep verbatim would make results predictable.

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1726) · 2026-08-27 · open · external user · 0 comments

### Option for absolute paths in tool result links

Tool results name generated files with paths relative to the server's working directory, for example `- [Snapshot](./page-2026-08-25T09-14-22-104Z.yml)`.

A client that is not a process with a working directory cannot resolve these. This is the normal case when the consumer is a model rather than a shell.

Request: a config option such as `pointerPaths: "absolute" | "relative"`, default `relative`, that makes the path returned by `Response._computeRelativeTo` absolute.

It would cover the screen

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1725) · 2026-08-27 · open · external user · 0 comments

### Docs: show HOL Guard protection for a supported Playwright MCP client

### Proposal

Add a small security/setup example to the Playwright MCP documentation showing how to run a **supported MCP client/harness** under [HOL Guard](https://github.com/hashgraph-online/hol-guard) before that client invokes Playwright MCP tools.

This would be an optional docs integration, not a Playwright dependency and not a claim that HOL Guard wraps the Playwright MCP server itself. The protection boundary should stay explicit: HOL Guard is installed on a harness it supports (for exam

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1724) · 2026-08-24 · closed · external user · 1 comment

### chromiumSandbox: true in a config file is silently discarded; only --sandbox works

### Version

`@playwright/mcp` 0.0.79 (`playwright-core` 1.63.0-alpha-2026-08-05), Windows 11 x64, Node 24.19.0.

### Summary

Setting `browser.launchOptions.chromiumSandbox = true` in a config file has no effect. The key is accepted, type checked, and then overwritten before launch, so a configuration that asks for the sandbox does not get one. There is no warning and no error, and reading the config back shows the value that was set. The only thing that actually enables the sandbox is the `--s

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1716) · 2026-08-17 · closed · external user · 0 comments

### --extension picks the wrong Chrome profile: Preferences substring check false-positives on leftovers from an uninstalled extension

## Summary

`--extension` mode selects which Chrome profile receives the `chrome-extension://<id>/connect.html` relay page by scanning every profile in the user data dir. A profile counts as "has the extension" if either `Extensions/<id>/` exists **or** the string `"<id>"` appears anywhere in that profile's `Preferences` JSON.

That second check false-positives on **uninstall leftovers**. Chrome keeps `extensions.settings.<id>`, `protection.macs.extensions.settings.<id>`, and `updateclientdata.a

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1712) · 2026-08-11 · closed · external user · 0 comments

### --user-data-dir has no effect when combined with --extension (no warning)

### Version
@playwright/mcp@0.0.79 (playwright-core@1.63.0-alpha)

### Steps to reproduce
1. Configure Playwright MCP with both flags:
   `npx @playwright/mcp@latest --extension --user-data-dir "<dedicated-path>"`
2. Connect an MCP client and authorize the extension in the browser.

### Expected behavior
Either the specified User Data root is honored in extension mode, or the CLI
rejects/warns about the unsupported combination.

### Actual behavior
The CLI accepts the option, but the public `--u

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1708) · 2026-08-07 · closed · external user · 1 comment

### Add support for Java, Python code as options with --codegen

Currently, called tools can return equivalent typescript code of playwright that got executed. Could you please also add the support to configure the server to return equivalent playwright code in Java or Python or all languages that playwright supports?

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1696) · 2026-07-27 · closed · external user · 1 comment

### feat: add snapshot.boxes config to include bounding boxes in auto-snapshots

The `browser_snapshot` tool already supports a `boxes` parameter that includes element bounding boxes as `[box=x,y,width,height]` in the accessibility snapshot. However, auto-snapshots taken after action tools (like `browser_click`, `browser_type`) don't include bounding boxes.

## Use case

We're building a tool ([workflow-validation-demo-publisher](https://gitlab.com/redhat/rhel-ai/workflow-validation/workflow-validation-demo-publisher)) that creates interactive product demos from automated br

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1695) · 2026-07-27 · closed · external user · 1 comment

### Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG

# Button accessible name dropped in accessibility snapshot

## Summary

When a `<button>` has its text content nested inside `<span>` elements alongside an `aria-hidden="true"` SVG icon, the accessibility snapshot (`page.accessibility.snapshot()` and Playwright MCP's `browser_snapshot`) reports the button with **no accessible name** — even though:

1. `getByRole('button', { name: 'Add New Item' })` successfully locates it
2. Chromium's CDP `Accessibility.getFullAXTree` reports the correct name

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1690) · 2026-07-24 · closed · external user · 1 comment

### README still documents removed --output-mode and incorrect stdout default

## Summary

The README currently documents --output-mode and says its default is stdout:
https://github.com/microsoft/playwright-mcp/blob/main/README.md#configuration-file

However, microsoft/playwright#39768 was merged on 2026-03-19 and explicitly removed the outputMode config option. Its summary says non-explicit snapshots go to files, while only explicit browser_snapshot calls are inline:
https://github.com/microsoft/playwright/pull/39768

## Observed behavior

With @playwright/mcp 0.0.78 sta

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1680) · 2026-07-16 · closed · external user · 0 comments

### Question: would MCP release validation be useful for this server?

Hi, I found this Portkey Admin API MCP server and wanted to ask a quick question.

I’m building MCP Release, a small release checker for MCP servers. It checks MCP initialization, tool discovery, schemas, and basic tool behavior before release.

Since this project has active releases, I’m trying to understand what checks real MCP server maintainers would actually find useful.

Would a release check like this be useful for this project’s workflow?
And what MCP-specific checks would be missing for

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1679) · 2026-07-15 · closed · external user · 2 comments

### Use in claude managed agents sessions (or similar)

Hi, I'm wondering if there's any guidance on using playwright mcp from claude managed agents.  After spawning managed agent sessions to perform coding tasks, we want them to have playwright access to actually check their work in a browser.

We've been trying this via hosting the mcp server on our infra and connecting the managed agent sessions to it, which works fine.  However, were using `--isolated` to keep separate sessions loosely decoupled... and this has had a variety of issues like the br

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1663) · 2026-06-26 · closed · external user · 2 comments

### Does extension mode support operating multiple browser pages at the same time?

I often need to work with multiple pages simultaneously, but extension mode currently seems to allow selecting only one page at a time.

Can I introduce two MCP instances to operate two pages at the same time within the same browser’s extension mode? Or is there a better solution?

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1662) · 2026-06-25 · closed · external user · 1 comment

### Proposal: Add BuyWhere MCP — E2E product testing and verification

## Proposal

**BuyWhere** ([BuyWhere/buywhere-mcp](https://github.com/BuyWhere/buywhere-mcp)) provides structured product data from major e-commerce platforms. Playwright MCP + BuyWhere MCP enables robust E2E product-page testing.

## Suggested link

```markdown
- [BuyWhere MCP](https://github.com/BuyWhere/buywhere-mcp) — Product catalog API for AI agents. Use with Playwright MCP to verify product pages, scrape structured data, or monitor pricing changes.
```

## E2E testing use case

```
1. Buy

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1659) · 2026-06-21 · closed · external user · 0 comments

### Proposal: cross-link complementary MCP packages in README

## Proposal

Add a "Works Well With" section to the playwright-mcp README that cross-links complementary MCP servers.

**Suggested addition:**

> **[@buywhere/mcp-server](https://www.npmjs.com/package/@buywhere/mcp-server)** — Search and compare prices across 11M+ products from Singapore, SEA, and US markets via Model Context Protocol. E2E test your shopping agent by combining Playwright's browser automation with BuyWhere's product search and price comparison tools.

## Why

Playwright MCP enabl

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1656) · 2026-06-19 · closed · external user · 0 comments

### Critical: Arbitrary File Read via browser_run_code_unsafe tool

I have discovered a critical Arbitrary File Read vulnerability in the 'browser_run_code_unsafe' tool.

**Vulnerability Detail:**
The tool allows users to execute arbitrary JavaScript code that has access to the Playwright 'page' object. By using 'page.goto(`file:///etc/passwd`)' followed by 'page.content()', an attacker can read any local file that the process has permissions to access.

**Proof of Concept:**
The following payload can be used via the MCP 'tools/call' method:
```js
async () => { 

[Read the thread](https://github.com/microsoft/playwright-mcp/issues/1651) · 2026-06-11 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/microsoft/playwright-mcp/issues).
