Skip to content
Latchkey

Playwright "Executable doesn't exist ... run npx playwright install" in CI

Playwright looked for the Chromium/Firefox/WebKit binary in its browsers directory and it is not there. The @playwright/test package installs only the library; the browser binaries are a separate download you must run with playwright install.

What this error means

Tests fail before the first navigation with "Executable doesn't exist at /home/runner/.cache/ms-playwright/chromium-XXXX/chrome-linux/chrome" and the hint "Looks like Playwright Test or Playwright was just installed or updated. Please run the following command to download new browsers: npx playwright install".

Playwright
Error: browserType.launch: Executable doesn't exist at
/home/runner/.cache/ms-playwright/chromium-1140/chrome-linux/chrome
+-------------------------------------------------+
| Looks like Playwright Test or Playwright was    |
| just installed or updated.                      |
| Please run the following command to download    |
| new browsers: npx playwright install            |
+-------------------------------------------------+

Common causes

The install step never ran

Only npm ci ran, which installs the @playwright/test package but not the browser binaries. The launch then finds nothing at the expected path.

A restored cache is missing this browser revision

A cached ~/.cache/ms-playwright from an older Playwright version does not contain the new Chromium build the upgraded library now requires.

How to fix it

Run playwright install before the tests

  1. Add a dedicated step that downloads the browsers after installing node modules.
  2. Prefer --with-deps so the OS libraries land in the same step.
  3. Then run the test command.
.github/workflows/ci.yml
- run: npm ci
- run: npx playwright install --with-deps
- run: npx playwright test

Install only the browsers you use

If the suite only targets Chromium, download just that browser to cut time and disk.

Terminal
npx playwright install --with-deps chromium

How to prevent it

  • Always run playwright install in CI, never assume npm ci provides browsers.
  • Pin @playwright/test and re-run install when you bump it.
  • Key any browser cache on the Playwright version so a bump invalidates it.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →