Nonceworks

"Playwright does not support chromium on ubuntu26.04-x64"

Written 10 November 2026

Written 2026-11-10. If a CI job that runs playwright install started failing on GitHub's ubuntu-latest runner or on Ubuntu 26.04, this is the cause. The short answer: Playwright supports Ubuntu 26.04 from 1.61.0 (released 2026-06-15). Upgrade Playwright to 1.61.0 or later, or run that job on ubuntu-24.04 until you can.

The error

From a job on the ubuntu-26.04 image (version 20261101.186.1), 2026-11-09, running npx playwright@1.52.0 install --with-deps:

Cannot install dependencies for ubuntu26.04-x64 with Playwright 1.52.0!
Error: ERROR: Playwright does not support chromium on ubuntu26.04-x64
##[error]Process completed with exit code 1.

In job logs we have seen the same lines with Playwright 1.52.0, 1.57.0, 1.58.2, 1.59.1 and 1.60.0. Before them, install-deps prints BEWARE: your OS is not officially supported by Playwright; installing dependencies for ubuntu26.04-x64 as a fallback.

Why it happens now

Playwright downloads browser builds and system-package lists per OS release, and each Playwright version only knows the releases that existed when it shipped. Support for Ubuntu 26.04 was merged on 2026-05-27 (microsoft/playwright#41025) and released in 1.61.0: "Playwright now supports Ubuntu 26.04." Older versions find no Chromium download for ubuntu26.04-x64 and stop before trying one.

GitHub is moving the x64 ubuntu-latest label to Ubuntu 26.04 between 2026-10-19 and 2026-11-19 (actions/runner-images#14748), so a pinned Playwright that worked for months starts failing on whichever runs land on the new image. More on that move in our Ubuntu 26.04 runner note.

Why it can pass for a while. Many workflows cache ~/.cache/ms-playwright under a key such as playwright-Linux-1.58.2, which is the same on both images. On a cache hit they run only playwright install-deps, and in 1.58.2 that prints the "Cannot install dependencies" line and exits 0. So a 26.04 run gets past the install step while a cache saved on 24.04 is still around, and the failure shows up on the first cache miss.

We reproduced both behaviours on 2026-11-10 in a container from the official ubuntu:26.04 image with no network: playwright install chromium with 1.58.2 printed Failed to install browsers and the "does not support" line and exited 1, and install-deps chromium printed the warning and exited 0. With 1.61.0 and with 1.65.0 (the newest, released 2026-11-05), install --dry-run chromium listed a Chromium download for the same machine, and install-deps --dry-run listed the 26.04 packages.

The fixes

1. Upgrade Playwright to 1.61.0 or later. For npm, bump playwright or @playwright/test in package.json and the lockfile; for Python, pip install "playwright>=1.61.0" (the Python 1.61.0 release has the same Ubuntu 26.04 line, and its install --dry-run chromium listed the download on 26.04 in our run). Then update the browser-cache key so the new version gets its own cache. A public example, merged: ProjectEvergreen/wcc#290 (1.58.2 to 1.62.0). Moving across several minor versions can change test behaviour, so run the suite once before you merge.

2. Run the job on Ubuntu 24.04. runs-on: ubuntu-24.04 on the browser-test jobs keeps the current version working with no other change. A public example, merged: We-Amp/mod_pagespeed#670. We have not seen a retirement date for the 24.04 image, but it is a stopgap; remove the pin once Playwright is on 1.61.0 or later.

If you run tests in Playwright's Docker image, the -noble tags are Ubuntu 24.04 whatever the runner is, so a container: job on mcr.microsoft.com/playwright:v1.58.2-noble is not affected by this move. Ubuntu 26.04 images are tagged -resolute from 1.61.0 on (microsoft/playwright#41290); mcr.microsoft.com/playwright:v1.61.0-resolute pulled on 2026-11-10.

Find it in your repos

grep -rnE '"(@playwright/test|playwright|playwright-core)": *"[~^]?1\.([0-5][0-9]|60)\.' --include=package.json .
grep -rnE "playwright[=<>~]=? *1\.([0-5][0-9]|60)\b" --include='*requirements*.txt' --include=pyproject.toml .
grep -rn "playwright install" .github/workflows

A match in the first two, with a workflow from the third on ubuntu-latest or ubuntu-26.04, fails once its run lands on 26.04 without a cached browser. Check npx playwright@<version> lines in workflows too, which pin a version outside package.json.

If this break is in a public repository, we send the fix as a pull request for free; in a private repository it is $300, invoiced after you merge it. To catch the next one before it reaches a release, send your organisation's GitHub name to hello@nonceworks.com and we send back a free report on its public release, publish and nightly workflows (merged fixes, pricing).

Limits

  • x64 only, and Chromium only. We did not run the Firefox or WebKit installs.
  • We ran the npm package at 1.58.2, 1.61.0 and 1.65.0 and the Python package at 1.61.0. The other versions named above come from CI job logs.

Sources