Skip to content

feat(mcp): add --file-paths=absolute for absolute paths in tool results - #42673

Merged
Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:fix-42497
Sep 16, 2026
Merged

Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:fix-42497

Conversation

@pavelfeldman

Copy link
Copy Markdown
Member

Summary

  • New --file-paths <mode> option, relative (default) or absolute, also available as filePaths in the config file and via PLAYWRIGHT_MCP_FILE_PATHS
  • With absolute, file links, the console log link, the download line and the paused location are rendered as absolute paths

Fixes #42497

options.executablePath = envToString(e.PLAYWRIGHT_MCP_EXECUTABLE_PATH);
options.extension = envToBoolean(e.PLAYWRIGHT_MCP_EXTENSION);
if (e.PLAYWRIGHT_MCP_FILE_PATHS)
options.filePaths = enumParser<'relative' | 'absolute'>('--file-paths', ['relative', 'absolute'], e.PLAYWRIGHT_MCP_FILE_PATHS);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
options.filePaths = enumParser<'relative' | 'absolute'>('--file-paths', ['relative', 'absolute'], e.PLAYWRIGHT_MCP_FILE_PATHS);
options.filePaths = enumParser<'relative' | 'absolute'>('PLAYWRIGHT_MCP_FILE_PATHS', ['relative', 'absolute'], e.PLAYWRIGHT_MCP_FILE_PATHS);

@pavelfeldman

Copy link
Copy Markdown
Member Author

Copilot resolve the merge conflicts in this pull request

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

2 failed
❌ [firefox] › mcp/annotate.spec.ts:446 › should switch screencast to -s session on show --annotate @mcp-windows-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:54 › idle timeout shuts the session down @mcp-windows-latest-firefox

8575 passed, 1446 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

🟢 Both failures are known Windows/Firefox flakes — the PR is clear

Hi, I'm the Playwright bot and I triaged the CI failures here.

Both reds are on mcp-windows-latest-firefox, and both flip verdict on SHAs this PR can't be responsible for — including main-branch pushes. Neither touches file path rendering, which is all this PR changes.

Details

The diff is confined to how paths are formatted in MCP tool results (response.ts, config.ts, configIni.ts, program.ts) plus a new tests/mcp/file-paths.spec.ts. Nothing there feeds screencast session switching or the CLI idle-timeout shutdown, and the new test itself passed everywhere.

Pre-existing flake / infra

Both look like timing margins on the Windows/Firefox bot rather than anything this PR introduced.

Triaged by the Playwright bot - agent run

@pavelfeldman
Pavel Feldman (pavelfeldman) merged commit 49d290a into microsoft:main Sep 16, 2026
17 of 18 checks passed
Jori Huisman (SixFive7) added a commit to SixFive7/BrowserAI that referenced this pull request Sep 17, 2026
…s red

@playwright/mcp 0.0.81 pins playwright-core 1.64.0-alpha-2026-09-14 exactly,
and the first build carrying --file-paths=absolute, the filePaths config key
and PLAYWRIGHT_MCP_FILE_PATHS is 1.64.0-alpha-2026-09-17
(microsoft/playwright#42673, merged 2026-09-16, closing this project's own ask
#42497). build/payload/package.json now carries an npm `overrides` entry that
pulls that one build forward underneath the wrapper.

That collides with "everything floats and the build freezes it; never pin to
work around a break", so it is taken as a DATED EXCEPTION with a written exit
rather than absorbed: the entry is deleted the day @playwright/mcp `latest`
pins a playwright-core at or above the override.

Two independent instruments hold the exit, and both were watched red.
PayloadTests.TheDatedPlaywrightCoreOverrideIsStillNeeded reads the committed
lock, so it runs from a clean clone on every build; build/Build-Payload.ps1
reads the live resolution and refuses to assemble a payload past the exit.
Each carries its own ordering of upstream's two published shapes and refuses
any third rather than guessing a shape it cannot order is lower.

Planted red twice. The test, against a lock doctored so the wrapper already
pins the override: TheDatedPlaywrightCoreOverrideIsStillNeeded and
TheAssembledManifestDeclaresWhatTheCommittedLockRecords both failed, the first
naming the file and the key to delete. The script, against an override lowered
to the declared pin: exit 1 with THE OVERRIDE'S EXIT HAS FIRED. Both green on
the real files, 12 passed / 0 failed / 0 skipped.

TheLockRecordsUpstreamsOwnExactPinOfPlaywrightCore keeps the half the override
rests on -- upstream still pinning EXACTLY -- and its `declared == resolved`
half moved to TheResolvedPlaywrightCoreIsWhateverTheOverrideSays, which is
where the override is compared. npm writes no `overrides` block into the lock,
measured 2026-09-17, so the manifest is the only record that one is in force.

Resolution proved rather than assumed: the lock names
playwright-core 1.64.0-alpha-2026-09-17 with npm's own integrity hash,
coreBundle.js holds 2 occurrences of PLAYWRIGHT_MCP_FILE_PATHS against 0 at the
old pin, and the running child's --help carries `--file-paths <mode>`.
Jori Huisman (SixFive7) added a commit to SixFive7/BrowserAI that referenced this pull request Sep 18, 2026
The daily check, and the first one taken with playwright-core resolving through
an override rather than through the wrapper's own pin. NO DRIFT on any of the
five and none on the vendored pin either, which is the third consecutive day
with nothing moving.

THE ROW THAT CHANGED SHAPE RATHER THAN VALUE is playwright-core. The build reads
it from overrides.playwright-core in build/payload/package.json --
1.64.0-alpha-2026-09-17 -- and the lock beside it agrees to the character at
packages['node_modules/playwright-core'].version. The npm read that used to
answer this row now answers two other questions, and both are recorded beside it
rather than instead of it, because that is the watch item the maintainer asked
for.

WHAT THE WRAPPER DECLARES TODAY: @playwright/mcp latest is 0.0.81 and its own
dependencies object still declares playwright-core 1.64.0-alpha-2026-09-14. It
cannot have moved, and that is a fact rather than an assurance: no
@playwright/mcp has published since 0.0.81 on 2026-09-14T21:25:54Z. It declares
playwright at the same version and that one is NOT overridden, so the payload
ships playwright 1.64.0-alpha-2026-09-14 beside playwright-core
1.64.0-alpha-2026-09-17 -- two Playwright versions at once, which is what the
override buys.

THE EXIT HAS NOT FIRED. The exit is a wrapper pin at or above the override, and
2026-09-14 is below 2026-09-17. Nobody has to remember that: PayloadTests.The-
DatedPlaywrightCoreOverrideIsStillNeeded and build/Build-Payload.ps1 both go red
on the day it fires and both are green today.

AND A THIRD READING THAT IS INFORMATION RATHER THAN DRIFT: playwright-core's npm
next tag reads 1.64.0-alpha-2026-09-18, one day past what the override pins. The
override is an exact pin at the first build carrying microsoft/playwright#42673,
not a float, so a newer daily alpha existing is not drift and does not license a
bump. The oldest shape of the same trap is unmoved too: npm latest for
playwright-core reads 1.63.0, a stable release BEHIND the alpha that ships.

The other four came back identical to upstream-review.json. @playwright/mcp
0.0.81 across 434 versions, next still 0.0.79-alpha-1787869812000 and two
releases behind. ModelContextProtocol 2.2.0, still the newest entry on that feed
in any form across 47 versions, so this read has no positive control of its own
and borrows Velopack's. Velopack 1.2.0, whose newest entry in any form is still
the 1.2.110-ge826545 prerelease across 118 -- that IS the control. node v24.21.0,
still the newest entry carrying an lts field; the Current line is unmoved at
v26.9.0 and still not tracked. SQLite was read from the same machine-readable
PRODUCT line and is unmoved in all three fields: 3.53.4, 2946650 bytes, SHA3-256
628a44cf.

Because playwright-core did not move the browser revisions cannot have, and
browsers.json still reads chromium 1245, firefox 1548, webkit 2361, ffmpeg 1011
and winldd 1007 -- what the 2026-09-17 re-verification measurements were taken
against, so nothing in that table is re-owed by this check.
Pavel Feldman (pavelfeldman) added a commit to microsoft/playwright-cli that referenced this pull request Sep 18, 2026
## ✨ Highlights

- **🎬 Smooth 60 fps, styleable videos** — `video-start --fps=60` records
smooth 60 fps videos instead of the default 25, and `video-start
--cursor` renders an animated mouse cursor that travels to each action
point and stays visible between actions. `video-show-actions` takes
`--point-style`, `--highlight-style` and `--title-style` CSS
declarations; the action point marker and the target highlight are now
only shown when styled.
([microsoft/playwright#42752](microsoft/playwright#42752),
[microsoft/playwright#42758](microsoft/playwright#42758))
- **🧰 WebMCP tools show up in the snapshot** — the tools a page
registers are listed at the top of the page snapshot with their
descriptions and input schemas, so `webmcp-call` can be used without
running `webmcp-list` first. Set `webmcp: false` in the config file (env
`PLAYWRIGHT_MCP_WEBMCP=false`) to stop collecting page-registered tools.
([microsoft/playwright#42671](microsoft/playwright#42671))
- **🌗 Switch between light and dark color scheme**
([microsoft/playwright#42243](microsoft/playwright#42243))
— an agent working on a dark theme had no way to see it mid-session. New
`set-color-scheme`, `set-reduced-motion`, `set-forced-colors`,
`set-contrast` and `set-media` commands emulate media features on the
fly, and the matching `clear-*` commands reset them.
([microsoft/playwright#42668](microsoft/playwright#42668))
- **📁 Absolute paths in results**
([microsoft/playwright#42497](microsoft/playwright#42497))
— links to snapshots, screenshots, console logs and downloads are
relative to the working directory, which a consumer without one cannot
resolve. Set `filePaths: "absolute"` in the config file (env
`PLAYWRIGHT_MCP_FILE_PATHS=absolute`) to get absolute paths instead.
([microsoft/playwright#42673](microsoft/playwright#42673))

## 🐛 Fixes

- `fix(chromium): bypass service workers on the storage state page` —
`state-save` no longer runs the site's own scripts, or fails when they
redirect, for origins with an active service worker
([microsoft/playwright#42656](microsoft/playwright#42656)).
([#42664](microsoft/playwright#42664),
[#42741](microsoft/playwright#42741))
- `fix(mcp): keep upload modal, skip short secrets and bad headers` — a
failed `upload` keeps the file chooser open so it can be retried,
secrets shorter than 4 characters no longer rewrite the whole output
with `<secret>` markers, and `route` ignores header lines that have no
name. ([#42713](microsoft/playwright#42713))

## 📦 Upgrading

```bash
npm install -g @playwright/cli@0.1.21
```
Pavel Feldman (pavelfeldman) added a commit to microsoft/playwright-mcp that referenced this pull request Sep 18, 2026
## ✨ Highlights

- **🧰 WebMCP tools become real MCP tools** — the tools a page registers
through the [WebMCP](https://webmachinelearning.github.io/webmcp/) API
now show up right in the tool list as `webmcp_<tool>`, with the page's
own input schema and annotations, so an agent can call them directly and
let the page do the work instead of driving its UI. The list follows the
current tab, and clients get a `tools/list_changed` notification when it
changes. This replaces `browser_webmcp_list` / `browser_webmcp_call`
from v0.0.81, which are no longer exposed over MCP. Tool names,
descriptions, schemas and results come from the page, so treat them as
untrusted input. Pass `--no-webmcp` (config `webmcp: false`, env
`PLAYWRIGHT_MCP_WEBMCP=false`) to opt out. WebMCP is experimental, see
[WebMCP in Chrome](https://developer.chrome.com/docs/ai/webmcp) for how
to enable it.
([microsoft/playwright#42671](microsoft/playwright#42671))
- **🌗 Switch between light and dark color scheme**
([microsoft/playwright#42243](microsoft/playwright#42243))
— an agent working on a dark theme had no way to see it mid-session. The
new **`browser_emulate_media`** tool emulates media features on the fly:
`colorScheme`, `reducedMotion`, `forcedColors`, `contrast` and the
`media` type (screen / print). Omitted parameters are left unchanged,
`null` clears an override.
([microsoft/playwright#42668](microsoft/playwright#42668))
- **📁 Absolute paths in results**
([microsoft/playwright#42497](microsoft/playwright#42497))
— links to snapshots, screenshots, console logs and downloads are
relative to the workspace root, which a client without one cannot
resolve. Pass `--file-paths=absolute` (config `filePaths: "absolute"`,
env `PLAYWRIGHT_MCP_FILE_PATHS=absolute`) to get absolute paths instead.
([microsoft/playwright#42673](microsoft/playwright#42673))

## 🐛 Fixes

- `fix(mcp): keep upload modal and reject bad headers` — a failed
`browser_file_upload` (e.g. a missing file) reports the error and keeps
the file chooser open so it can be retried, and `browser_route` (opt-in
via `--caps=network`) returns an error for a header that is not in the
`Name: Value` form instead of setting a header named `""`.
([microsoft/playwright#42713](microsoft/playwright#42713))
- `fix(chromium): bypass service workers on the storage state page` —
`browser_storage_state` (opt-in via `--caps=storage`) no longer runs the
site's own scripts, or fails when they redirect, for origins with an
active service worker
([microsoft/playwright#42656](microsoft/playwright#42656)).
([microsoft/playwright#42664](microsoft/playwright#42664),
[microsoft/playwright#42741](microsoft/playwright#42741))

## 📦 Upgrading

Configs that use `@playwright/mcp@latest` pick this release up on the
next client restart. To pin it:

```bash
npx @playwright/mcp@0.0.82
```
renovate Bot added a commit to soodoh/dotfiles that referenced this pull request Sep 19, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`^26.6.1` →
`^26.6.2`](https://renovatebot.com/diffs/npm/@types%2fnode/26.6.1/26.6.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/26.6.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/26.6.1/26.6.2?slim=true)
|
| [npm:@playwright/mcp](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright-mcp)) |
`0.0.81` → `0.0.82` |
![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2fmcp/0.0.82?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2fmcp/0.0.81/0.0.82?slim=true)
|

---

### Release Notes

<details>
<summary>microsoft/playwright-mcp (npm:@&#8203;playwright/mcp)</summary>

###
[`v0.0.82`](https://redirect.github.com/microsoft/playwright-mcp/releases/tag/v0.0.82)

[Compare
Source](https://redirect.github.com/microsoft/playwright-mcp/compare/v0.0.81...v0.0.82)

#### ✨ Highlights

- **🎬 Smooth 60 fps, styleable videos** — `browser_start_video` (opt-in
via `--caps=devtools`) takes `fps`, so `fps: 60` records smooth 60 fps
videos instead of the default 25, and `cursor: true` renders an animated
mouse cursor that travels to each action point and stays visible between
actions. `browser_video_show_actions` takes a `style` with `point`,
`highlight` and `title` CSS declarations; the action point marker and
the target highlight are now only shown when styled.
([microsoft/playwright#42752](https://redirect.github.com/microsoft/playwright/pull/42752),
[microsoft/playwright#42758](https://redirect.github.com/microsoft/playwright/pull/42758))
- **🧰 WebMCP tools become real MCP tools** — the tools a page registers
through the [WebMCP](https://webmachinelearning.github.io/webmcp/) API
now show up right in the tool list as `webmcp_<tool>`, with the page's
own input schema and annotations, so an agent can call them directly and
let the page do the work instead of driving its UI. The list follows the
current tab, and clients get a `tools/list_changed` notification when it
changes. This replaces `browser_webmcp_list` / `browser_webmcp_call`
from v0.0.81, which are no longer exposed over MCP. Tool names,
descriptions, schemas and results come from the page, so treat them as
untrusted input. Pass `--no-webmcp` (config `webmcp: false`, env
`PLAYWRIGHT_MCP_WEBMCP=false`) to opt out. WebMCP is experimental, see
[WebMCP in Chrome](https://developer.chrome.com/docs/ai/webmcp) for how
to enable it.
([microsoft/playwright#42671](https://redirect.github.com/microsoft/playwright/pull/42671))
- **🌗 Switch between light and dark color scheme**
([microsoft/playwright#42243](https://redirect.github.com/microsoft/playwright/issues/42243))
— an agent working on a dark theme had no way to see it mid-session. The
new **`browser_emulate_media`** tool emulates media features on the fly:
`colorScheme`, `reducedMotion`, `forcedColors`, `contrast` and the
`media` type (screen / print). Omitted parameters are left unchanged,
`null` clears an override.
([microsoft/playwright#42668](https://redirect.github.com/microsoft/playwright/pull/42668))
- **📁 Absolute paths in results**
([microsoft/playwright#42497](https://redirect.github.com/microsoft/playwright/issues/42497))
— links to snapshots, screenshots, console logs and downloads are
relative to the workspace root, which a client without one cannot
resolve. Pass `--file-paths=absolute` (config `filePaths: "absolute"`,
env `PLAYWRIGHT_MCP_FILE_PATHS=absolute`) to get absolute paths instead.
([microsoft/playwright#42673](https://redirect.github.com/microsoft/playwright/pull/42673))

#### 🐛 Fixes

- `fix(mcp): keep upload modal and reject bad headers` — a failed
`browser_file_upload` (e.g. a missing file) reports the error and keeps
the file chooser open so it can be retried, and `browser_route` (opt-in
via `--caps=network`) returns an error for a header that is not in the
`Name: Value` form instead of setting a header named `""`.
([microsoft/playwright#42713](https://redirect.github.com/microsoft/playwright/pull/42713))
- `fix(chromium): bypass service workers on the storage state page` —
`browser_storage_state` (opt-in via `--caps=storage`) no longer runs the
site's own scripts, or fails when they redirect, for origins with an
active service worker
([microsoft/playwright#42656](https://redirect.github.com/microsoft/playwright/issues/42656)).
([microsoft/playwright#42664](https://redirect.github.com/microsoft/playwright/pull/42664),
[microsoft/playwright#42741](https://redirect.github.com/microsoft/playwright/pull/42741))

#### 📦 Upgrading

Configs that use `@playwright/mcp@latest` pick this release up on the
next client restart. To pin it:

```bash
npx @playwright/mcp@0.0.82
```

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/soodoh/dotfiles).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Paul Sorensen (paulnsorensen) added a commit to paulnsorensen/dotfiles that referenced this pull request Sep 19, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@playwright/mcp](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright-mcp)) |
`0.0.81` → `0.0.82` |
![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2fmcp/0.0.82?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2fmcp/0.0.82?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2fmcp/0.0.81/0.0.82?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2fmcp/0.0.81/0.0.82?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the warning logs for
more information.

---

### Release Notes

<details>
<summary>microsoft/playwright-mcp (@&#8203;playwright/mcp)</summary>

###
[`v0.0.82`](https://redirect.github.com/microsoft/playwright-mcp/releases/tag/v0.0.82)

[Compare
Source](https://redirect.github.com/microsoft/playwright-mcp/compare/v0.0.81...v0.0.82)

#### ✨ Highlights

- **🎬 Smooth 60 fps, styleable videos** — `browser_start_video` (opt-in
via `--caps=devtools`) takes `fps`, so `fps: 60` records smooth 60 fps
videos instead of the default 25, and `cursor: true` renders an animated
mouse cursor that travels to each action point and stays visible between
actions. `browser_video_show_actions` takes a `style` with `point`,
`highlight` and `title` CSS declarations; the action point marker and
the target highlight are now only shown when styled.
([microsoft/playwright#42752](https://redirect.github.com/microsoft/playwright/pull/42752),
[microsoft/playwright#42758](https://redirect.github.com/microsoft/playwright/pull/42758))
- **🧰 WebMCP tools become real MCP tools** — the tools a page registers
through the [WebMCP](https://webmachinelearning.github.io/webmcp/) API
now show up right in the tool list as `webmcp_<tool>`, with the page's
own input schema and annotations, so an agent can call them directly and
let the page do the work instead of driving its UI. The list follows the
current tab, and clients get a `tools/list_changed` notification when it
changes. This replaces `browser_webmcp_list` / `browser_webmcp_call`
from v0.0.81, which are no longer exposed over MCP. Tool names,
descriptions, schemas and results come from the page, so treat them as
untrusted input. Pass `--no-webmcp` (config `webmcp: false`, env
`PLAYWRIGHT_MCP_WEBMCP=false`) to opt out. WebMCP is experimental, see
[WebMCP in Chrome](https://developer.chrome.com/docs/ai/webmcp) for how
to enable it.
([microsoft/playwright#42671](https://redirect.github.com/microsoft/playwright/pull/42671))
- **🌗 Switch between light and dark color scheme**
([microsoft/playwright#42243](https://redirect.github.com/microsoft/playwright/issues/42243))
— an agent working on a dark theme had no way to see it mid-session. The
new **`browser_emulate_media`** tool emulates media features on the fly:
`colorScheme`, `reducedMotion`, `forcedColors`, `contrast` and the
`media` type (screen / print). Omitted parameters are left unchanged,
`null` clears an override.
([microsoft/playwright#42668](https://redirect.github.com/microsoft/playwright/pull/42668))
- **📁 Absolute paths in results**
([microsoft/playwright#42497](https://redirect.github.com/microsoft/playwright/issues/42497))
— links to snapshots, screenshots, console logs and downloads are
relative to the workspace root, which a client without one cannot
resolve. Pass `--file-paths=absolute` (config `filePaths: "absolute"`,
env `PLAYWRIGHT_MCP_FILE_PATHS=absolute`) to get absolute paths instead.
([microsoft/playwright#42673](https://redirect.github.com/microsoft/playwright/pull/42673))

#### 🐛 Fixes

- `fix(mcp): keep upload modal and reject bad headers` — a failed
`browser_file_upload` (e.g. a missing file) reports the error and keeps
the file chooser open so it can be retried, and `browser_route` (opt-in
via `--caps=network`) returns an error for a header that is not in the
`Name: Value` form instead of setting a header named `""`.
([microsoft/playwright#42713](https://redirect.github.com/microsoft/playwright/pull/42713))
- `fix(chromium): bypass service workers on the storage state page` —
`browser_storage_state` (opt-in via `--caps=storage`) no longer runs the
site's own scripts, or fails when they redirect, for origins with an
active service worker
([microsoft/playwright#42656](https://redirect.github.com/microsoft/playwright/issues/42656)).
([microsoft/playwright#42664](https://redirect.github.com/microsoft/playwright/pull/42664),
[microsoft/playwright#42741](https://redirect.github.com/microsoft/playwright/pull/42741))

#### 📦 Upgrading

Configs that use `@playwright/mcp@latest` pick this release up on the
next client restart. To pin it:

```bash
npx @playwright/mcp@0.0.82
```

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/paulnsorensen/dotfiles).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
  - Updated the Playwright MCP package to version 0.0.82.
  - Synchronized the package version used by the Codex profile test.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dep-harvest-bot <paulnsorensen@gmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MCP] Option for absolute paths in tool result links

3 participants