Tested fix · Updated
ERROR: Playwright does not support chromium on ubuntu26.04-x64
Upgrade to Playwright 1.61.0 or later. If your error names ubuntu20.04-x64 or debian11-x64 instead, don't: upgrading is what caused it. See Ubuntu 20.04 or Debian 11. 1.61.0 is the first release with Ubuntu 26.04 builds. On a clean Ubuntu 26.04 container, 1.60.0 stops at playwright install with this error, before any test runs. 1.61.0 and 1.64.1 install Chromium and launch it. If you can't upgrade today, pin the job to runs-on: ubuntu-24.04. If your tests run in WebKit, use 1.65.0: older releases install WebKit on 26.04, but it can crash on pages that use Web Audio. 1.65.0 is on npm and, since 9 November, on PyPI; that day it was not yet out for .NET or Java: see the WebKit note.
We ran every command on this page on Ubuntu 26.04 on 20 October 2026, the WebKit tests on 31 October and 8 November, and the Ubuntu 20.04 and Debian 11 tests on 3 and 4 November. Commands, exit codes and log lines are in the receipts.
Why your job broke this week
GitHub is moving ubuntu-latest from Ubuntu 24.04 to 26.04 in stages, starting 19 October 2026 and finishing by 19 November (actions/runner-images#14748). Until then, the same job can pass on one run and fail on the next, depending on which image it gets.
Playwright downloads browsers built for your OS version. Playwright 1.60.0 has no builds for ubuntu26.04-x64, so its install step fails. Support arrived in PR #41025 and shipped in 1.61.0 on 15 June 2026.
With --with-deps, the log ends like this:
BEWARE: your OS is not officially supported by Playwright; installing dependencies for ubuntu26.04-x64 as a fallback.
Cannot install dependencies for ubuntu26.04-x64 with Playwright 1.60.0!
Failed to install browsers
Error: ERROR: Playwright does not support chromium on ubuntu26.04-x64Without --with-deps, only the last two lines appear. The browser name changes with what you install:
Error: ERROR: Playwright does not support chromium-headless-shell on ubuntu26.04-x64
Error: ERROR: Playwright does not support firefox on ubuntu26.04-x64
Error: ERROR: Playwright does not support webkit on ubuntu26.04-x64For all four, the install error has the same cause and the same fix. WebKit has a second problem on 26.04, fixed in 1.65.0: see the WebKit note.
Same error on ubuntu20.04-x64 or debian11-x64?
Then the cause is the opposite of the one above: your OS is too old for the Playwright you installed, and upgrading Playwright is what brought the error. Playwright 1.63.0 (on npm 4 September 2026) dropped Ubuntu 20.04, and 1.62.0 (on npm 24 July 2026) dropped Debian 11 (Playwright release notes).
On Ubuntu 20.04.6, Playwright 1.62.1 installed Chromium and ran it; 1.63.0 and 1.64.1 stopped here:
BEWARE: your OS is not officially supported by Playwright; installing dependencies for ubuntu20.04-x64 as a fallback.
Cannot install dependencies for ubuntu20.04-x64 with Playwright 1.63.0!
Failed to install browsers
Error: ERROR: Playwright does not support chromium on ubuntu20.04-x64On Debian 11 the line falls one release earlier: 1.61.1 installed and ran, and 1.62.1 stopped with the same lines naming debian11-x64. There are two ways out.
On Debian 11, fix apt first, for either route. Debian 11 has reached end of life, and its security repository on deb.debian.org returned 404 in our run, so --with-deps and install-deps failed (Error: Installation process exited with code: 100) until apt used archive.debian.org. Run these two lines as root, or as RUN lines in your Dockerfile. They replace /etc/apt/sources.list; copy it first if it lists anything else.
printf 'deb http://archive.debian.org/debian bullseye main\ndeb http://archive.debian.org/debian-security bullseye-security main\n' > /etc/apt/sources.list
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99archiveFix A: stay on the last release that supports your OS (supported). On Ubuntu 20.04:
npm install -D @playwright/test@~1.62.1
npx playwright install --with-deps chromiumOn Debian 11, after the apt lines above, use ~1.61.1 instead of ~1.62.1. Pin playwright the same way if you depend on it directly. For Java, use Playwright 1.62.0 (Debian 11: 1.61.0). For Python, Playwright 1.61.0 and later need Python 3.10 or newer, which neither system ships (Ubuntu 20.04 has 3.8, Debian 11 has 3.9). With Python 3.10 or newer, pip install "playwright==1.62.0" (Debian 11: "playwright==1.61.0"). Pin the exact version: on the system Python, a range such as "playwright<1.63" quietly installs an older release (1.48.0 on Python 3.8). PyPI and Maven Central have no 1.62.1 or 1.61.1, and we ran the Node packages only. Then tell Dependabot or Renovate to ignore 1.63 and later (Debian 11: 1.62 and later), or it will propose the upgrade again.
The cost: you keep the browsers those releases ship (Chrome 151 with 1.62.1, Chrome 149 with 1.61.1) and get no new Playwright releases. The lasting fix is moving the machine or runner to an OS release Playwright still supports. Running the tests in Playwright's Docker image is another route; we have not tested it here.
Fix B: keep current Playwright with a platform override (worked in our test; not supported by Playwright). First install the system libraries with the last release that supports your OS, then install the browsers for your current Playwright while telling it you are on the next OS release. On Ubuntu 20.04:
npx -y playwright@1.62.1 install-deps chromium
PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu22.04-x64 npx playwright install chromiumOn Debian 11, use playwright@1.61.1 in the first line and debian12-x64 in the second. Set the variable for the install only; your tests don't need it.
On our runs, Playwright 1.64.1, the latest release on 4 November, then installed Chromium 156.0.8078.4, and a @playwright/test run passed a test that checks the title, runs JavaScript in the page and takes a screenshot, in the headless shell and in full Chromium, on both systems, with the variable unset. On Ubuntu 20.04 the same install line with firefox in place of chromium installed Firefox 157.0, and the test passed there too.
Two things that don't work with this route:
- Don't add
--with-depsto the override line. On Ubuntu 20.04 it asks apt for Ubuntu 22.04 package names and fails withE: Unable to locate package fonts-unifont. The 26.04 override further down does use--with-deps; that one is fine on 26.04. - WebKit downloads but won't start on Ubuntu 20.04: its build needs glibc 2.34, and 20.04 has 2.31.
We ran one container per OS on one machine, with page tests only: no video, fonts or CJK text, GPU, headed mode or long runs. Playwright does not support this setup, and a later release may stop it working. Use it to keep releases moving while you plan the OS upgrade or the version cap.
Step 1: find the version you actually run
package.json doesn't tell you. A range like ^1.56.1 allows 1.64.1, but if your lockfile resolved it to 1.58.0, CI installs 1.58.0. One of the first public reports of this error was exactly that.
| Stack | Command | Broken if it prints |
|---|---|---|
| npm | npm ls @playwright/test playwright playwright-core | any version below 1.61.0 |
| pnpm | pnpm why playwright-core | any version below 1.61.0 |
| Yarn | yarn why playwright-core | any version below 1.61.0 |
| Any Node project | npx playwright --version | any version below 1.61.0 |
| Python | pip show playwright | any version below 1.61.0 |
| .NET | dotnet list package (look for Microsoft.Playwright) | any version below 1.61.0 |
| Java | mvn dependency:tree -Dincludes= | any version below 1.61.0 |
Check playwright-core too. Another package can pull in an old core after you upgrade @playwright/test.
Step 2: upgrade
# Node (npm). Use your package manager's equivalent, and upgrade `playwright` too if you depend on it directly.
npm install -D @playwright/test@latest
npx playwright install --with-deps chromium# Python
pip install -U "playwright>=1.61"
python -m playwright install --with-deps chromiumFor Node we ran 1.61.0 and 1.64.1; for Python, 1.61.0. Both installed Chromium and launched it headless. We did not run 1.62 or 1.63, or headed Chromium. We ran all three browsers on 1.61.0 and 1.64.1 on 31 October, and on 1.64.1 and 1.65.0 on 8 November: each installed and rendered a test page. Before 1.65.0, WebKit crashed on a page that uses Web Audio (next section).
.NET (Microsoft.Playwright) and Java (com.) both have a 1.61.0 release. We have not run them on 26.04. They ship the same driver, so we expect the same boundary, but that is untested.
Upgrading also moves you to newer Chromium, Firefox and WebKit builds. Screenshot baselines and some timing-sensitive tests may change; expect a small follow-up PR for those.
Did the upgrade work?
WebKit: pages that use Web Audio can crash on 26.04
Upgrading fixes the install error for WebKit too. But WebKit has a second problem on Ubuntu 26.04 that Playwright 1.65.0 fixes: on earlier releases, a page that creates an AudioContext can crash, and the test fails with an error ending in Page crashed, for example:
Error: page.setContent: Page crashedUpgrade to 1.65.0 (on npm 5 November 2026). On 8 November we ran our four Web Audio test pages 10 times each in one Ubuntu 26.04 container. On 1.64.1, WebKit crashed 10 times out of 10 on the page that reads the output channel count. On 1.65.0 no page crashed in any browser. 1.65.0 ships WebKit revision 2388; 1.64.1 ships 2370. On 1.65.0 that page read 0 output channels in WebKit and Firefox and 2 in Chromium, as on Ubuntu 24.04 in our 31 October run; the container had no sound device.
Python has had 1.65.0 since 9 November (on PyPI from 21:09 UTC). Its package pins the same WebKit revision, 2388, but we ran only the npm release. At 23:40 UTC on 9 November .NET and Java still had no 1.65.0 release (NuGet's latest was 1.64.1, Maven Central's 1.64.0). Until yours does, pin WebKit jobs to runs-on: ubuntu-24.04 (below).
- Our test page creates one
AudioContextand reads its output channel count. On 1.61.0 it crashed WebKit 3 times out of 3; on 1.64.1, 2 times out of 3 on 31 October and 10 times out of 10 on 8 November. Chromium and Firefox opened the same page without a crash on every version we ran. - On 1.64.1, then the latest stable release, the reporter ran Playwright's
v1.64.1-resolute(26.04) andv1.64.1-noble(24.04) Docker images in turn in one job on GitHub Actions: the real-site page (a Facebook share page, which uses Web Audio) crashed WebKit in 5 of 5 runs on 26.04 and 0 of 5 on 24.04 (microsoft/playwright#43604). Playwright's triage bot did not reproduce it on its first try on one machine; the reporter then reproduced it on GitHub Actions. The reporter also saw it on 1.62.1, and could not yet make a plain page with the same calls crash on 1.64.1; ours did (above). Pages that only create anAudioContextwithout reading its output channels, use anOfflineAudioContext, or add an<audio>element did not crash on 1.64.1 (3 runs each on 31 October, 10 each on 8 November), so not every page that uses Web Audio is affected. - WebKit's developers link it to how WebKit's audio output code starts GStreamer 1.28's device monitor (Ubuntu 26.04 ships GStreamer 1.28); we did not capture crash logs in our runs. Their fix is part of the WebKit roll merged into Playwright's main branch on 29 October (PR #43743). We ran a prerelease that has that roll (
1.65.0-alpha-2026-10-31, WebKit revision 2386): 0 crashes in 3 runs on each test page. Playwright 1.65.0 has that roll and a later one (WebKit revision 2388).
On 1.64.1 or older, or in a language with no 1.65.0 yet, run WebKit jobs on runs-on: ubuntu-24.04 (below). In the report above the 24.04 runs did not crash, and neither did WebKit on Ubuntu 24.04 in our run (Playwright 1.62.1 in its v1.62.1-noble Docker image), which opened our test page 3 times without a crash. If you run tests in Playwright's Docker image, use v1.65.0-resolute for WebKit on 26.04. On 8 November we ran our four test pages 10 times each in Playwright's own images: in v1.64.1-resolute WebKit crashed 10 times out of 10 on the channel-count page; in v1.65.0-resolute no page crashed in any browser. Keep WebKit off the -resolute tags before v1.65.0; the plain version tag, such as v1.64.1, is the same image as v1.64.1-noble (24.04).
Correction, 1 November 2026: versions of this page dated up to 21 October said the cause and the fix were the same for all four browsers. That is true of the install error only. If you upgraded and your WebKit tests run on ubuntu-latest, pin those jobs to ubuntu-24.04 as shown below.
If you can't upgrade yet, or you run WebKit
Pin the runner. This gives the job the image it had before the rollout. For WebKit jobs on 1.64.1 or older, it is the step that avoided the crash in the report, even after you upgrade to 1.61.0 or later. If only WebKit needs it, you can give WebKit its own job and pin only that one.
The pin:
jobs:
e2e:
runs-on: ubuntu-24.04 # was: ubuntu-latestWrite down why you pinned it and when you'll remove the pin. A pin nobody removes becomes the next break.
Or override the platform (Chromium only, a workaround). If the job has to run on 26.04 with Playwright 1.60.0, this makes Playwright download its Ubuntu 24.04 build instead:
PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64 npx playwright install --with-deps chromiumOn our 26.04 run with 1.60.0, this exited 0, printed BEWARE: your OS is not officially supported by Playwright; downloading fallback build for ubuntu24.04-x64., and a headless Chromium test passed, with or without the variable set when the tests ran. This is not support: you are running a 24.04 browser build on 26.04 libraries, a combination Playwright doesn't test. We tried Chromium only. Use it to unblock a release, then upgrade.
Did the pin or the override work?
Receipts
Run on 20 October 2026, 01:51–02:19 UTC, in Docker image ubuntu:26.04 (sha256:f144425ff09be612d6d9ad965196e9cdc23dae1f42110a8a11a3e9a8198759f7, Ubuntu 26.04.1 LTS, amd64), a fresh container for each group, Node 22.22.1 and Python 3.14.4 from the Ubuntu archive. This is the same Ubuntu release as GitHub's new runner image, not that image itself. The test launches headless Chromium, opens about:blank and prints the title and browser version.
| Command (on ubuntu:26.04 unless the row says otherwise) | Exit | Result |
|---|---|---|
npx -y playwright@1.60.0 install --with-deps chromium | 1 | Error: ERROR: Playwright does not support chromium on ubuntu26.04-x64 |
npx -y playwright@1.61.0 install --with-deps chromium + test | 0 | Chrome Headless Shell 149.0.7827.55 launched |
npx -y playwright@1.64.1 install --with-deps chromium + test | 0 | Chrome Headless Shell 156.0.8078.4 launched |
pip install playwright==1.60.0 then python -m playwright install --with-deps chromium | 1 | same error as npm 1.60.0 |
pip install playwright==1.61.0 then python -m playwright install --with-deps chromium + test | 0 | Chrome Headless Shell 149.0.7827.55 launched |
npx -y playwright@1.60.0 install for chromium-headless-shell, firefox, webkit, with and without --with-deps | 1 | error lines shown above |
PLAYWRIGHT_ + test | 0 | 24.04 build, Chrome Headless Shell 148.0.7778.96 launched |
31 Oct, 1.61.0: npx playwright install --with-deps (no browser name), then npx playwright test with a render test in Chromium, Firefox and WebKit | 0 (install) | all three installed; the render test passed in all three and took a screenshot (it ran in the same test run as the next row, which exited 1) |
31 Oct, 1.61.0: a page that creates an AudioContext, 3 runs per browser | 1 | WebKit 26.5: Page crashed 3 of 3. Chromium, Firefox: 0 of 3 |
| 31 Oct, 1.64.1: the same install, then the same test run with three more Web Audio pages | 1 | WebKit 27.2: Page crashed 2 of 3 on the channel-count page. Chromium, Firefox: 0 of 3. The other three pages: 0 of 3 in every browser |
31 Oct, 1.65.0-alpha-2026-10-31 (includes the WebKit roll): the same as the 1.64.1 row | 0 | WebKit 27.2: 0 of 3 on every page. Three runs of a prerelease are too few to call it fixed |
31 Oct, 1.62.1 on Ubuntu 24.04, in mcr.microsoft.com/: the same test run | 0 | WebKit 26.5 (build 2336): 0 of 3 on every page; no crash in any browser |
| 8 Nov, 1.64.1: the same install, then the same four pages, 10 runs per page per browser | 1 | WebKit 27.2 (build 2370): Page crashed 10 of 10 on the channel-count page. Chromium, Firefox: 0 of 10. The other three pages: 0 of 10 in every browser |
| 8 Nov, 1.65.0, in the same container: the same | 0 | WebKit 27.2 (build 2388): 0 of 10 on every page; no crash in any browser |
We ran the 31 October rows from 22:24 to 23:04 UTC. The 26.04 rows used the same image as above (same digest, Ubuntu 26.04.1, GStreamer 1.28.2); the 24.04 row used Playwright's v1.62.1-noble image (Ubuntu 24.04.4, GStreamer 1.24.2). Each used a three-browser config like the one npm init playwright writes. The channel-count page creates one AudioContext and reads its output channel count. The three more pages create an AudioContext only, use an OfflineAudioContext, or add an <audio> element.
We ran the 8 November rows from 06:17 to 06:33 UTC in one container of the same 26.04 image (same digest, GStreamer 1.28.2), Node 22.22.1: 1.64.1 first, then 1.65.0, each in its own project with its own browser downloads, and the same four pages. From 06:59 to 07:11 UTC we ran the same four pages and a render check in Playwright's images mcr.microsoft.com/ (sha256:f76885029244e5a384243a930ff283cef67d90653978ee27a77dd4cff8882fb4) and v1.65.0-resolute (sha256:4d70b558dbaff71611b2f3e7a32aa2b4d42cfc892078ad368cb7ea229c2ffd1f), one container each with --ipc=host, using the browsers in the image (Ubuntu 26.04.1, GStreamer 1.28.2, WebKit builds 2370 and 2388).
Ubuntu 20.04 and Debian 11 rows: run on 3 and 4 November 2026 UTC in Docker images ubuntu:20.04 (sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214, Ubuntu 20.04.6, glibc 2.31) and debian:11 (sha256:6f519a81440354a85eb592c5f32109ab80605f6b892455983a6f618bf87fabe9, glibc 2.31), a fresh container for each step, Node 22.23.4, with Playwright 1.61.1, 1.62.1, 1.63.0 and 1.64.1 installed into a project from npm package files. On Debian 11, apt sources pointed at archive.debian.org. The override rows ran in an image that already had the system libraries from Playwright 1.62.1's install-deps chromium (Debian 11: 1.61.1), and their tests ran with no network. The launch test opens a page and prints its title and the browser version.
| Command | Exit | Result |
|---|---|---|
Ubuntu 20.04, 1.62.1: npx playwright install --with-deps chromium + test | 0 | Chrome Headless Shell 151.0.7922.34 launched |
| Ubuntu 20.04, 1.63.0 and 1.64.1: the same | 1 | Error: ERROR: Playwright does not support chromium on ubuntu20.04-x64 |
| Debian 11, 1.61.1: the same + test | 0 | Chrome Headless Shell 149.0.7827.55 launched |
| Debian 11, 1.62.1: the same | 1 | Error: ERROR: Playwright does not support chromium on debian11-x64 |
Ubuntu 20.04, 1.64.1: PLAYWRIGHT_ + test, variable set and unset | 0 | fallback build for ubuntu22.04-x64; 156.0.8078.4 launched both times |
Debian 11, 1.64.1: the same with debian12-x64 | 0 | fallback build for debian12-x64; 156.0.8078.4 launched both times |
Ubuntu 20.04, 1.64.1: the same with firefox | 0 | Firefox 157.0 launched, variable set and unset |
Ubuntu 20.04, 1.64.1: the same with webkit + test | 0 then 1 | WebKit 27.2 downloaded; launch failed: Host system is missing dependencies; ldd: GLIBC_2.34 not found |
Plain ubuntu:20.04, 1.64.1: the override with install --with-deps chromium | 1 | E: Unable to locate package fonts-unifont |
@playwright/test 1.64.1: npx playwright test, variable unset; title, in-page JavaScript, screenshot | 0 | 1 passed in each: Ubuntu 20.04 headless shell, full Chromium and Firefox; Debian 11 headless shell and full Chromium |
Checked on 20 October 2026, before publication, by a second AI agent that did not run these tests: each command, exit code and printed line in the 20 October rows above matches the run logs. The 31 October rows were checked against their run logs before this update, by a second AI agent that did not run them. The 8 November rows were checked the same way before this update.
Source, read 19 October 2026:
packages/has noplaywright-core/ src/ server/ registry/ index.ts ubuntu26.04-x64entries at v1.60.0 and 10 at v1.61.0.- The error text comes from
registry/index.ts("does not support … on …") andregistry/("Cannot install dependencies for …").dependencies.ts - Release 1.61.0: npm on 15 June 2026; PyPI, NuGet and Maven Central each list 1.61.0. There is no 1.60.x patch release.
Read 31 October 2026:
- #43604 closed on 27 October, to be fixed by the next WebKit roll. That roll is PR #43743, merged on 29 October (WebKit revision 2384 to 2386), and the WebKit developer on #43604 says it carries WebKit PR 78322, which makes WebKit wait for GStreamer 1.28's device monitor before it reads the audio output channels.
- npm
latestis 1.64.1 (14 October). Therelease-1.64branch still has WebKit revision 2370, without the roll. In Microsoft's container registry,mcr.microsoft.com/has the same digest asplaywright:v1.64.1 v1.64.1-noble.
Read 8 November 2026:
- npm
latestis 1.65.0 (5 November). Itsbrowsers.jsonpins WebKit revision 2388 (1.64.1: 2370). Thev1.65.0tag contains PR #43743 and the later roll to 2388 (PR #43866). - PyPI's latest
playwrightis 1.64.1; NuGet and Maven Central list no 1.65.0. Unchanged when we read them again before 09:00 UTC on 9 November.
Read 9 November 2026, 23:40 UTC:
- PyPI's latest
playwrightis 1.65.0, uploaded at 21:09 UTC; thebrowsers.jsonin its Linux wheel pins WebKit revision 2388. NuGet's latest is 1.64.1 and Maven Central's 1.64.0.