In a Node.js project, run npx playwright install --list. For Python, run python -m playwright install --list. These commands show the browser installations Playwright reports on the machine. A listing is an inventory, not proof that your current project can launch a compatible browser: the project must use the right browser revision and path, and the operating system must have the required dependencies.
Check the browser list from your project
Run the command in the same project directory and environment as the tests that are failing. That helps ensure the CLI you invoke belongs to the project’s Playwright installation rather than a different global or environment-level installation.
Node.js
npx playwright install --list
Playwright documents install --list as listing browsers from Playwright installations on the machine. A browser appearing in this output means Playwright found an installation to report; it does not establish that a particular test project selected it or can launch it. See Playwright’s browser documentation.
Python
python -m playwright install --list
Use the Python interpreter for the environment where your test code runs. If you use a virtual environment, activate it first, or invoke that environment’s Python executable directly. The Python browser guide documents the module form of the list and install commands: Playwright browsers for Python.
#1 Best Overall
Interpret the result correctly
A useful way to read the output is as a machine-level inventory, not a project-specific health check. The command does not launch each browser, verify every test project’s configuration, or confirm that all operating-system libraries needed at runtime are present.
- A browser is listed: Playwright reports an installation on the machine. Confirm that the project is using a compatible Playwright version and looking in the location where that browser is installed.
- No expected browser appears: Install it with the Playwright CLI resolved by the project, then list again.
- The browser is listed but launch fails: Check the selected project/browser, browser path, version compatibility, and operating-system dependencies. Use a real launch check to test those pieces together.
Playwright states that each Playwright version needs specific versions of browser binaries to operate. Its browser versions are updated alongside Playwright releases, so a cache created for another version may not meet the current project’s requirements. After updating Playwright, the project may need to install browsers again. See the version and browser guidance and the installation guide.
Check the Playwright version and install the required browser
For Node.js, check which Playwright CLI is being invoked and install using that CLI:
npx playwright --version
npx playwright install --list
npx playwright install
The first command reports the CLI version. The final command installs the default browser set for that Playwright installation. If your project only needs Chromium, install that browser explicitly:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minutenpx playwright install chromium
For Python, use the interpreter associated with the project:
python -m playwright install --list
python -m playwright install
python -m playwright install chromium
Installing the default set or a named browser addresses missing browser binaries; it does not guarantee that system libraries are installed or that the test configuration chooses the browser you expect. The Playwright command-line reference documents browser-specific installation and options such as --with-deps and --dry-run.
Preview installation changes
If you want to see what the CLI would install before downloading, use:
npx playwright install --dry-run
Run the command in the project environment whose installation you are checking. The dry run previews the CLI’s installation actions; it is not a browser launch test.
Check the browser cache path
Playwright’s documented default browser-cache directories vary by operating system:
| Operating system | Default browser cache |
|---|---|
| Windows | %USERPROFILE%AppDataLocalms-playwright |
| macOS | ~/Library/Caches/ms-playwright |
| Linux | ~/.cache/ms-playwright |
These defaults are useful when inspecting a cache manually, but they are not necessarily the location used by your process. The PLAYWRIGHT_BROWSERS_PATH environment variable can direct both installation and runtime lookup to a shared or custom directory. Check that it is set consistently for the install command and the test process; installing into one location and running with another can make an installed browser appear missing.
For a hermetic installation, Playwright documents setting PLAYWRIGHT_BROWSERS_PATH=0, which puts browser binaries under the local Playwright package directory, such as node_modules/playwright-core/.local-browsers. The variable does not change the installation path for Google Chrome or Microsoft Edge. The path options are described in Playwright’s browser documentation.
Inspect the path the process actually uses
- Check whether
PLAYWRIGHT_BROWSERS_PATHis set in the shell, CI job, container, or service that runs the tests. - Confirm whether the project uses the default cache or a shared/custom path.
- If using hermetic mode, look under the package-local location rather than assuming the OS default cache is in use.
- Account for the user identity running the process: a different account can have a different home directory and cache.
An empty default directory is not conclusive if the environment redirects Playwright elsewhere.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
Smoke-test the browser your project needs
If the listing looks correct but a test still fails, make the smallest launch check that uses the project’s installed Playwright package and the browser involved. This tests more than the inventory command because it exercises the selected binary and runtime environment. For a Node.js project using Playwright Test, a minimal test can be:
import { test, expect } from '@playwright/test';
test('Chromium launches and opens a page', async ({ page }) => {
await page.goto('https://example.com');
await expect(page).toHaveTitle(/Example Domain/);
});
Save it as a test file in the project’s configured test location and run it with the project’s test command or npx playwright test. If the project uses a different browser project, select that configured project instead of assuming Chromium represents every browser. The example checks one browser and one page load; it does not certify all test cases or all browser projects.
For Python, a small synchronous check using the installed Playwright package is:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
Run it with the same Python environment used by the failing tests. If it launches and prints the page title, Chromium launched and navigated in that environment. If it fails before navigation, keep the error output: it can distinguish a missing executable from missing libraries or other launch problems.
Recommended Free Tools
Resolve common installation and launch failures
| Symptom | Likely cause | What to do |
|---|---|---|
| List command reports no browser, or the expected browser is absent | The browser binaries are not installed for the Playwright installation used by this project. | Run npx playwright install or npx playwright install chromium in the Node.js project. For Python, use python -m playwright install or add chromium. |
| Browser is listed, but the project says the executable is missing | The project may be using a different Playwright version, a different browser path, or another user/environment than the one that installed the browser. | Check npx playwright --version, the test process’s PLAYWRIGHT_BROWSERS_PATH, and the environment used for installation. Install again through the project’s current CLI if its required revision is missing. |
| Browser executable is found but will not start on Linux | Required operating-system libraries may be missing. Browser binaries and system dependencies are separate requirements. | Use npx playwright install --with-deps where appropriate, or install dependencies for the browser using the supported Playwright command. See Playwright’s CI guidance. |
| Tests began failing after a Playwright update | The updated Playwright package may require different browser binaries. | Install the browsers again with the updated project’s CLI, then run the smoke test. |
| Tests work locally but fail in CI | The CI environment may lack browser binaries or Linux dependencies, or may restore a cache for a different Playwright version. | Ensure installation and test steps use the same Playwright version and environment. Enable browser launch diagnostics with DEBUG=pw:browser when investigating a launch failure. |
Playwright’s CI guide says browser-binary caching is generally not recommended because restoring a cache can take as long as downloading the browsers. Linux operating-system dependencies are not cacheable in the same way as browser binaries. If your team does cache browser binaries, the guide recommends including the Playwright version in the cache key. These are CI-specific considerations, not a requirement to cache or avoid caching in every environment; see the CI documentation.
Or skip the browser setup
If your goal is to obtain a screenshot rather than check Playwright’s local browser installation, ScreenshotNeo provides a website screenshot API. It does not install or verify Playwright browsers on your machine. One GET request can return a screenshot; this cURL example saves a WebP image of example.com:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options and setup. ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
The free plan includes 1,000 shots per month without a card. Paid plans start at $5 for 3,000 shots; all features are on every plan. See ScreenshotNeo for service details, or sign up for 1,000 free screenshots a month with no card.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Frequently Asked Questions
Does the browser list include Google Chrome or Microsoft Edge installed outside Playwright?
Do not assume the Playwright browser list is a complete inventory of every browser installed on the computer. Playwright’s documented `PLAYWRIGHT_BROWSERS_PATH` setting does not change the installation path for Google Chrome or Microsoft Edge; see its browser documentation for those path details.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

