Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk8 min

Puppeteer Browsers API: Install and Manage Chrome for Automation

A practical guide to installing Chrome for Testing, choosing Puppeteer’s browser workflow, managing cached builds, and troubleshooting automation setup.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use @puppeteer/browsers to install, inspect, and remove browser builds from the command line or JavaScript. For the repeatable default, install Chrome for Testing with npx @puppeteer/browsers install chrome@stable; use puppeteer when you want Puppeteer to download its compatible browser, or puppeteer-core when you manage the executable or connect to a remote browser.

What the Puppeteer Browsers API manages

@puppeteer/browsers manages and launches browser binaries through a CLI or programmatic API. It is useful when you need to select a Chrome build, keep it in a known cache, inspect installed browsers, or manage a browser independently of Puppeteer’s default installation flow. See the official Browsers API guide.

As an Amazon Associate I earn from qualifying purchases.

The browser build matters: Puppeteer documents guaranteed compatibility with its bundled browser. A separately installed Chrome executable or channel may work, but compatibility with an external executable is your responsibility. See Puppeteer installation guidance and the launch options reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose who manages the browser

Workflow Who supplies the browser When it fits Trade-off
puppeteer Puppeteer downloads a compatible browser during installation. You want the documented default and can allow install scripts and store the downloaded browser. Package installation needs to complete its browser download; cache settings affect where it lives.
puppeteer-core with a local executable You select and manage a system or separately installed browser. You control the browser binary, use a system Chrome channel, or need a custom setup. Set the executable path or channel explicitly, and account for the external-browser compatibility caveat.
puppeteer-core with a remote browser An independently run browser is reached over a DevTools-compatible connection. The browser runs outside the application host. You manage the remote browser and connection details separately; there is no single hosted vendor implied by this workflow.

The package distinction is documented in the installation guide: puppeteer downloads a browser, while puppeteer-core does not and is intended for remote or independently managed browsers.

#1 Best Overall
Samsung 14" Galaxy Chromebook Go Laptop PC Computer, Intel Celeron N4500 Processor, 4GB RAM, 64GB Storage, ChromeOS, XE340XDA-KA2US, Student Laptop, Silver
  • SLIM. LIGHTWEIGHT. READY TO GO: The all-new slim design is perfect for busy lives on the go.
  • SKILLFULLY DESIGNED. MILITARY TOUGH: Built with premium craftsmanship to withstand the occasional drop or ding.
  • ALL-DAY, ALL-IN-ONE CHARGING: Power through your school day – and beyond – with a long-lasting 12-hour battery.¹
  • 3X FASTER THAN THE PREVIOUS GENERATION OF WIFI: Crush your schoolwork in record time with Wi-Fi that’s three times faster than the previous generation of Wi-Fi.
  • YOUR PHONE AND CHROMEBOOK WORK BETTER TOGETHER: Easily transfer files between devices, and control your phone right from your Chromebook.

Install Chrome from the CLI

Install a stable build

  1. From a Node.js project or shell with npx available, run npx @puppeteer/browsers install chrome@stable.
  2. Let the command download and unpack Chrome for Testing into the configured browser cache.
  3. Use npx @puppeteer/browsers list to inspect the browser installations known to the CLI.

The CLI accepts the stable tag, a milestone, or an explicit build ID. For example, the documented syntax includes chrome@117 and [email protected]; those numeric values are examples of syntax, not recommendations for current releases. Consult the current guide for available versions and command options.

Useful CLI commands

  • npx @puppeteer/browsers --help shows top-level help; append a command and --help to inspect that command’s options.
  • npx @puppeteer/browsers install chrome@stable installs stable Chrome for Testing.
  • npx @puppeteer/browsers list lists browser installations in the cache.
  • npx @puppeteer/browsers clear clears cached browser downloads. Use this only when you intend to remove cached installations; it is not a per-browser selection.
  • npx puppeteer browsers install chrome --install-deps installs Chrome dependencies on Debian/Ubuntu. It requires root privileges and is supported only on those distributions.

Install a browser programmatically

The install() function downloads and unpacks a browser archive by default. Supply the browser, a build ID, and a cache directory so the selected build and its location are explicit. The following CommonJS example installs stable Chrome; see the API guide for the current option types and aliases.

const { install } = require('@puppeteer/browsers');

async function main() {
  const installed = await install({
    browser: 'chrome',
    buildId: 'stable',
    cacheDir: './.cache/puppeteer-browsers',
  });
  console.log('Executable:', installed.executablePath);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

Platform is detected automatically unless you specify it. The installation options also support an alternate base URL, a build alias, expected SHA-256 checksum, providers, download progress reporting, and disabling unpacking. If you provide expectedHash, installation fails when the archive checksum differs; without it, the API does not perform that expected-hash comparison. Treat checksum verification as an explicit integrity check, not an automatic guarantee.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

installDeps is a separate privileged operation for Chrome on Debian/Ubuntu. It invokes system package installation and should be used only where that OS and permission model are appropriate. Review the installation reference before relying on optional settings, since supported options can vary by release.

Rank #2
HP Chromebook 14 Laptop, Intel Celeron N4120, 4 GB RAM, 64 GB eMMC, 14" HD Display, Chrome OS, Thin Design, 4K Graphics, Long Battery Life, Ash Gray Keyboard (14a-na0226nr, 2022, Mineral Silver)
  • FOR HOME, WORK, & SCHOOL – With an Intel processor, 14-inch display, custom-tuned stereo speakers, and long battery life, this Chromebook laptop lets you knock out any assignment or binge-watch your favorite shows..Voltage:5.0 volts
  • HD DISPLAY, PORTABLE DESIGN – See every bit of detail on this micro-edge, anti-glare, 14-inch HD (1366 x 768) display (1); easily take this thin and lightweight laptop PC from room to room, on trips, or in a backpack.
  • ALL-DAY PERFORMANCE – Reliably tackle all your assignments at once with the quad-core, Intel Celeron N4120—the perfect processor for performance, power consumption, and value (2).
  • 4K READY – Smoothly stream 4K content and play your favorite next-gen games with Intel UHD Graphics 600 (3) (4).
  • MEMORY AND STORAGE – Enjoy a boost to your system’s performance with 4 GB of RAM while saving more of your favorite memories with 64 GB of reliable flash-based eMMC storage (5).

Inspect, launch, and remove installed browsers

List cached installations in JavaScript

const { getInstalledBrowsers } = require('@puppeteer/browsers');

const browsers = getInstalledBrowsers({ cacheDir: './.cache/puppeteer-browsers' });
for (const browser of browsers) {
  console.log({
    browser: browser.browser,
    buildId: browser.buildId,
    platform: browser.platform,
    path: browser.path,
    executablePath: browser.executablePath,
  });
}

Each installed-browser record provides the browser name, build ID, platform, installation path, and executable path. The API also exposes uninstall() for removing an installation; use the browser, build ID, and cache information corresponding to the installation you intend to delete. The CLI alternatives are list and clear. Details are in the Browsers API reference.

Launch a managed browser

When using Puppeteer with an independently installed executable, pass its path explicitly. This example assumes the path comes from your own install/discovery step:

const puppeteer = require('puppeteer-core');

async function main() {
  const browser = await puppeteer.launch({
    executablePath: '/path/to/chrome',
    headless: true,
  });
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com');
    console.log(await page.title());
  } finally {
    await browser.close();
  }
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

Alternatively, Puppeteer launch options accept a Chrome release channel. A channel or explicit path points Puppeteer at a browser outside its bundled default, so verify compatibility in your environment; the launch options reference makes that limitation explicit.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure the cache and download behavior

The default Puppeteer cache is ~/.cache/puppeteer. Configuration can change the cache directory, executable path, default browser, and whether downloads are skipped. Environment overrides can also affect these settings. Check the configuration guide when setting cacheDirectory, executablePath, defaultBrowser, or skipDownload.

  • Keep install and launch configuration aligned: a binary in one cache is not automatically the executable selected by a separately configured path.
  • For repeatable builds, choose a specific supported build ID rather than assuming a moving channel will resolve to the same browser every time.
  • If the project uses puppeteer-core, plan how the browser is provisioned: that package does not download one.
  • If you intentionally skip the download, ensure launch uses a valid local executable or a remote DevTools-compatible connection.

Check host prerequisites and network settings

  • A compatible Node.js version is required; use the current Browsers API guide for supported runtime requirements.
  • Chrome archive extraction requires unzip on Linux and macOS, and tar.exe on Windows.
  • The optional Chrome dependency installer is limited to Debian/Ubuntu and requires root privileges.
  • The CLI honors HTTP_PROXY, HTTPS_PROXY, and NO_PROXY when the proxy-agent package is installed.
  • Custom providers can be chained with the default provider as fallback, but Puppeteer does not officially support custom providers; compatibility, testing, and maintenance are your responsibility. Puppeteer states it tests and guarantees Chrome for Testing binaries.

For installation, cache, file utility, or launcher logs, the guide documents NODE_DEBUG="puppeteer:browsers:*" and separate debug channels. Use the channel relevant to the failing stage rather than treating every browser error as a download problem.

Troubleshoot common installation and launch failures

Symptom Likely cause What to do
Could not find Chrome The package manager skipped Puppeteer’s install script, or a browser download was intentionally skipped. Run the browser install command manually or configure the package manager to allow the Puppeteer install script. Confirm the configured cache and executable path. See the installation guide.
Browser download cannot complete behind a proxy Proxy environment is absent or the optional proxy-agent package is unavailable. Set the appropriate HTTP_PROXY or HTTPS_PROXY value, add NO_PROXY for excluded hosts as needed, and ensure proxy-agent is installed.
Archive download succeeds but extraction fails Required extraction utility is missing for the operating system. Install unzip on Linux/macOS or ensure tar.exe is available on Windows, then retry.
Chrome starts locally but fails in a clean host or container Required OS libraries may be missing, or the browser is not compatible with the host setup. On Debian/Ubuntu, consider the documented dependency installation command with root access. Check the selected browser build and host requirements.
Puppeteer launches the wrong Chrome The configured executable path, channel, and downloaded cache refer to different installations. Inspect the cache with list or getInstalledBrowsers(), then explicitly set the intended executable or channel.
Managed browser works differently after an update A moving stable channel may resolve to a newer build than the prior install. For reproducibility, install and record an explicit build ID, and update it deliberately when you want a new browser.
Installation appears stalled or the failure stage is unclear Network download, unpacking, cache handling, or launch setup may be the point of failure. Enable the relevant NODE_DEBUG channel, inspect the command’s help, and distinguish download from extraction or launch errors before changing configuration.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability, and cost considerations

Browser installation is a setup cost, not part of each automation run: cache the selected browser in environments where builds can reuse it, while ensuring cache invalidation follows the build ID and platform. A clean or ephemeral environment may need to download the browser again. The source documentation gives approximate download-size estimates by operating system, but those are volatile; check the current installation guide before budgeting storage or transfer.

For reliability, pin a build when consistent rendering matters, keep the cache location explicit, and verify the executable actually launched. Let Puppeteer manage the browser when its compatible bundled default is acceptable; manage it yourself when you need control, while accepting the compatibility responsibility. For remote automation, puppeteer-core supports a DevTools-compatible connection, but the right remote host and its cost depend on your deployment and are not specified by Puppeteer’s API documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

If your goal is a website screenshot rather than running a full browser automation workflow, ScreenshotNeo offers a screenshot API and MCP server. One GET request returns an image or PDF; for example, this cURL request saves a WebP screenshot of Stripe. See the ScreenshotNeo API documentation for options.

Rank #4
HP 14" HD Chromebook Laptop for Students, Intel Quad-Core N4120(> N4020), 4GB RAM, 64GB eMMC, WiFi, Webcam, HDMI, USB-A&C, 14 Hours Battery Life, Zoom, Chrome OS, CUE Accessories
  • Intel Celeron N4120: 4 Cores & Threads, 1.1GHz Base Clock, Up to 2.6GHz Boost Clock, 4MB Cache, Intel UHD Graphics 600. The perfect combination of performance, power consumption, and value helps your device handle multitasking smoothly and reliably with four processing cores to divide up the work.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and whether it was billed. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free 1,000 screenshots a month, with no card required.

Frequently Asked Questions

Does @puppeteer/browsers install Puppeteer itself?

No. It manages browser binaries. Install Puppeteer or Puppeteer Core separately for the automation library.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I use the Browsers API with Firefox?

The API supports browser downloads beyond Chrome, but archive utility requirements differ by platform. Check the current Browsers API guide for the relevant browser and platform.

Is a hosted browser required to use puppeteer-core?

No. You can point it at a self-managed local executable or connect it to a remote DevTools-compatible browser.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.