Description
playwright-cli goto crashes the whole browser session when navigating to certain privileged Chrome WebUI pages (e.g. chrome://extensions/, chrome://settings/). The error is thrown from the CLI's own session/snapshot layer, not from Chrome or playwright-core itself.
Repro steps
playwright-cli open --headed "https://example.com/"
playwright-cli goto "chrome://extensions/"
Result:
### Error
TypeError: Cannot read properties of undefined (reading 'url')
Any subsequent command reports the browser as closed:
$ playwright-cli snapshot
The browser 'default' is not open, please run open first
No extension needs to be installed and no special flags are required — a clean open + goto reproduces it. chrome://version/ navigates fine; chrome://settings/ reproduces the same crash as chrome://extensions/.
Evidence this is a playwright-cli bug, not a Chrome/Playwright-core limitation
Using plain Playwright (no playwright-cli in the loop) against the same running browser instance via connect_over_cdp:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp('http://localhost:<port>')
page = browser.contexts[0].pages[0]
page.goto('chrome://extensions/', timeout=5000)
print(page.url) # -> chrome://extensions/ (works fine, no crash)
This navigates successfully every time. A raw CDP Page.navigate call over the DevTools websocket also succeeds. So the underlying Chrome/CDP/Playwright-core stack handles this navigation fine — the crash is isolated to playwright-cli's own session management (likely losing track of the page reference / an in-flight snapshot call during navigation to a privileged WebUI page).
Environment
@playwright/cli version: 0.1.15
- Node.js: v25.2.1
- OS: macOS (Darwin 25.5.0)
- Browser: both
channel: chrome (installed Google Chrome) and bundled chromium (Chrome for Testing) reproduce the same crash
Description
playwright-cli gotocrashes the whole browser session when navigating to certain privileged Chrome WebUI pages (e.g.chrome://extensions/,chrome://settings/). The error is thrown from the CLI's own session/snapshot layer, not from Chrome orplaywright-coreitself.Repro steps
Result:
Any subsequent command reports the browser as closed:
No extension needs to be installed and no special flags are required — a clean
open+gotoreproduces it.chrome://version/navigates fine;chrome://settings/reproduces the same crash aschrome://extensions/.Evidence this is a playwright-cli bug, not a Chrome/Playwright-core limitation
Using plain Playwright (no
playwright-cliin the loop) against the same running browser instance viaconnect_over_cdp:This navigates successfully every time. A raw CDP
Page.navigatecall over the DevTools websocket also succeeds. So the underlying Chrome/CDP/Playwright-core stack handles this navigation fine — the crash is isolated toplaywright-cli's own session management (likely losing track of the page reference / an in-flight snapshot call during navigation to a privileged WebUI page).Environment
@playwright/cliversion: 0.1.15channel: chrome(installed Google Chrome) and bundledchromium(Chrome for Testing) reproduce the same crash