DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober 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 desk6 min

Puppeteer Browser Providers: How Browser Downloads Work

Puppeteer normally downloads a compatible Chrome for Testing build into a local cache. Learn how to locate it, recover skipped downloads, and choose manual, custom-provider, or externally managed browsers.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

puppeteer normally downloads a compatible Chrome for Testing build and chrome-headless-shell during installation, then keeps them in a local cache. If the browser is missing, check whether your package manager blocked install scripts or Puppeteer’s download settings disabled the download. For more control, install a specific build with @puppeteer/browsers; for an externally managed or remote browser, use puppeteer-core and configure the browser yourself.

What Puppeteer downloads—and which package does it

The puppeteer package’s installation process normally fetches a compatible Chrome for Testing build and chrome-headless-shell. The browser is separate from the Node.js package and is stored in Puppeteer’s cache. The documented default is $HOME/.cache/puppeteer. Puppeteer’s installation guide describes this default behavior and provides approximate download sizes of 170 MB on macOS, 282 MB on Linux, and 280 MB on Windows. Treat these as estimates from the current guide, not fixed size guarantees.

As an Amazon Associate I earn from qualifying purchases.

puppeteer-core behaves differently: it does not download a browser. Choose it when your application or infrastructure manages the browser separately, and provide a browser executable path or channel when launching.

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.
Approach Who obtains and manages the browser? Good fit when
puppeteer Puppeteer’s install workflow downloads its compatible browser into the local cache. You want the standard local setup and can allow the install script to run.
@puppeteer/browsers Your setup explicitly selects and installs a browser build and cache location. You need to control the browser, build, platform, or installation step.
Custom provider or mirror Your integration redirects or implements browser downloads. You have an internal distribution need and can own compatibility testing and maintenance.
puppeteer-core You or your infrastructure provide a local or remote browser. You need an externally managed browser and can validate its compatibility.

Where the browser is stored and how to configure downloads

The default cache path is $HOME/.cache/puppeteer. You can change the cache directory through Puppeteer configuration or the PUPPETEER_CACHE_DIR environment variable. Configuration can also select the default browser, set an executable path, or skip browser downloads. Environment-variable overrides include PUPPETEER_SKIP_DOWNLOAD. See the configuration guide for the supported settings and their precedence.

When diagnosing a missing browser, inspect both general download settings and browser-specific settings. A skip-download option, including an environment override, can prevent acquisition even when the package itself installed successfully. Firefox is separately configured; the current reference lists its skipDownload default as true, so do not assume Firefox was fetched. Check the settings for your installed version in the configuration API reference.

Install the browser manually with Puppeteer’s supported tools

If post-install scripts are disabled in your environment, run Puppeteer’s browser installation command explicitly from your project directory:

  1. Install the puppeteer package using your package manager’s normal workflow.
  2. Run npx puppeteer browsers install to download the browser required by Puppeteer.
  3. Run your script again and confirm it launches. If it still reports a missing executable, check the cache path and download settings described above.

The install command and recovery options are documented in the installation guide. Alternatively, the @puppeteer/browsers package provides explicit browser/build installation into a chosen cache, with platform and download-base-URL options. It also supports optional SHA-256 archive verification. Consult the browsers API reference for the command’s precise options rather than assuming flags from another version.

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

The install-dependencies option is limited to Chrome on Debian or Ubuntu and requires system-level privileges. Browser archives also need the platform’s required unpacking utilities. Check the current system requirements before building a minimal container or server image.

Choose a browser version and platform deliberately

Browser compatibility is version-specific. The stable documentation identifies Puppeteer v25.12.0 with Chrome for Testing 154.0.8037.57 and Firefox 156.0.1. Those pairings describe that documented Puppeteer version; do not assume they apply to a different release. Check the supported browsers page for the version you install.

The current requirements specify Node.js 22.12 or later and list supported platforms and architectures. Chrome for Testing support includes Windows x64, macOS x64 and arm64, and specified Linux distributions and architectures; the exact Linux support matrix matters for containers and less common distributions. Verify your Node.js version, operating system, architecture, and unpacking tools against the system requirements before choosing a browser build.

When to use a custom provider, mirror, or remote browser

Custom providers and mirrors

A custom provider can redirect or implement browser downloads, but it is an integration you own—not a supported compatibility guarantee. Puppeteer’s browser-provider documentation says, “Puppeteer only tests and guarantees Chrome for Testing binaries.” If you use a custom provider or mirror, you are responsible for checking that the downloaded executable, version, platform, and Puppeteer release work together, and for maintaining that validation over time. The browser-provider documentation explains the supported integration surface and its limits.

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

Externally managed and remote browsers

Use puppeteer-core when the browser is managed outside Puppeteer’s package-install workflow. At launch, supply executablePath for a local executable or channel when selecting an installed browser channel, as described in the launch options reference. Puppeteer warns that a separately selected executable is used at the user’s risk; the bundled browser is its compatibility baseline. Validate your chosen browser against the Puppeteer version and deployment environment rather than treating any installed Chrome as interchangeable.

Best Value
The SQL Programming Language: .
  • Used Book in Good Condition
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot a missing or unusable browser

Symptom Likely cause What to check or do
Launch fails because the Chrome executable is missing after package installation. The package manager blocked dependency install scripts, or the browser download was skipped. Run npx puppeteer browsers install, then inspect PUPPETEER_SKIP_DOWNLOAD and the configuration’s download settings. The installation guide documents both recovery paths.
The browser was downloaded but Puppeteer cannot find it. The cache directory differs from the expected path, or the runtime uses a different environment from installation. Check PUPPETEER_CACHE_DIR and the configured cache location. Ensure the install and launch stages use the same cache or explicitly configure the executable path.
A build or container cannot unpack or run the browser. Required system packages or unpacking utilities may be absent, or the OS/architecture may not be supported. Compare the environment with the current system requirements. On Debian or Ubuntu, the install-dependencies option can install Chrome dependencies but requires system-level privileges.
A proxy or internal network prevents a manual browser download. The download process may not be using the expected proxy configuration. @puppeteer/browsers respects HTTP_PROXY, HTTPS_PROXY, and NO_PROXY when the documented proxy-agent package is installed. Use its documented NODE_DEBUG channels to diagnose download and installation operations; see the browsers API reference.
Firefox is missing even though Puppeteer is installed. Firefox download is separately configured, and the current reference lists its download-skip default as true. Check the installed version’s Firefox configuration and explicitly install the browser you intend to use. See the configuration API reference.
A custom or system browser launches incorrectly. Its version or build may not match Puppeteer’s tested compatibility baseline. Check the browser pairing for your Puppeteer version and validate the exact executable in your deployment environment. Custom providers and separately selected executables make you responsible for that compatibility work.

Or skip the browser setup

If the task is to capture a website rather than run a local Puppeteer workflow, ScreenshotNeo provides a screenshot API and MCP server. A single GET request returns a PNG, JPEG, WebP, or PDF. Its API handles browser setup for the capture:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes known cookie-consent platforms, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents use screenshot tools. The Free plan includes 1,000 screenshots per month with no card, and paid plans start at $5 for 3,000 screenshots. Sign up for 1,000 free screenshots a month, with no card required.

Frequently Asked Questions

Can Puppeteer download a browser from a custom provider?

A custom provider can implement or redirect downloads, but Puppeteer does not officially support it; the implementer owns compatibility testing and maintenance.

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.

Does installing puppeteer-core download Chrome?

No. It expects you to provide or manage the browser separately.

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
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair 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.