Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix 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 desk5 min

How Puppeteer’s Default Browser Provider Checks Browser Support

Puppeteer checks a provider’s support for the requested browser, platform, and build ID before asking it for a download URL. Here’s how fallback order and download availability differ.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Puppeteer checks provider support before it tries to download a browser. For each provider, its installation flow passes the requested browser, platform, and build ID to supports. A provider that returns false is skipped; one that returns true must still provide a download URL before Puppeteer can use it. This check describes provider capability for that request—it does not prove that an archive exists or that a browser binary will launch.

What Puppeteer means by provider support

The implementation comment in Puppeteer’s browser installation code summarizes the check: “Check: does this provider support this browser/platform?” The method is a gate in the installation process: it asks whether a provider handles the requested browser and platform, for the supplied build ID. It is not a browser-runtime test, nor a guarantee of binary compatibility.

As an Amazon Associate I earn from qualifying purchases.

The official installation implementation is on the repository’s mutable main branch, so its exact behavior can change. The explanation here describes the documented flow in that implementation; check the code corresponding to the Puppeteer version you have installed when diagnosing version-specific behavior.

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

How the installation flow checks providers

  1. Choose a platform. If you omit platform, Puppeteer attempts automatic platform detection. If detection cannot determine a platform, installation throws an error rather than trying a download.
  2. Build the provider sequence. Supplied providers are considered first. A supplied baseUrl adds a DefaultProvider configured to use that URL. The ordinary default provider is appended when there is no baseUrl, or when forceFallbackForTesting is enabled.
  3. Ask each provider about the request. Puppeteer passes the browser, platform, and build ID to the provider’s supports method.
  4. Skip a provider that declines. If supports returns false, the loop proceeds to the next provider.
  5. Request a download URL. A provider that reports support is asked for a URL. If it returns no URL, Puppeteer continues to the next provider.
  6. Attempt installation and continue on failure. When a URL is returned, Puppeteer attempts installation from it. Installation errors are recorded and the flow moves on to later providers. If all providers fail, Puppeteer throws an error reporting the provider failures.

The key consequence is that supports is only one decision in a provider sequence. A positive answer does not stop the flow unless the provider also supplies a usable URL and installation succeeds.

How fallback order changes

Provider order matters because the installation flow checks providers in sequence. With custom providers, those providers are placed before the fallback described by the configuration. In the ordinary configuration, Puppeteer appends the default provider. Supplying baseUrl changes this arrangement: it adds a default provider configured with that URL, and the ordinary default provider is not appended unless forceFallbackForTesting is enabled.

When debugging which source Puppeteer will try, inspect the requested providers and the values of baseUrl and forceFallbackForTesting. Do not assume that the standard default source will be tried after a custom base URL in every configuration.

Rank #2
Sale
HTML and CSS: Design and Build Websites
  • HTML CSS Design and Build Web Sites
  • Comes with secure packaging
  • It can be a gift option

Provider support, download availability, and compatibility are different checks

Question What it establishes What it does not establish
Does the provider support this request? Whether that provider claims to handle the browser, platform, and build ID. This is the role of supports. That a remote archive exists, is reachable, or can be installed.
Can the browser be downloaded? The canDownload function checks support, obtains a URL, and makes an HTTP HEAD request. It returns true when one such check succeeds. That the downloaded binary will launch or is compatible with the installed Puppeteer release.
Is this browser version compatible with Puppeteer? The supported browsers guide maps Puppeteer releases to browser versions. That a provider accepts the request or that its URL is currently reachable.

The supported-browser guide says that if an exact Puppeteer version is not listed, the browser version for the immediately prior Puppeteer release applies. Its rows are release-sensitive, so use the entry for the release you are running rather than treating a browser version from another release as universal.

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

What DefaultProvider and custom providers guarantee

The @puppeteer/browsers API documentation describes DefaultProvider as the standard provider implementation using default sources. It describes BrowserPlatform as the operating-system and architecture combination relevant to browser downloads.

Puppeteer does not officially support custom providers. Its documentation places responsibility for binary compatibility, testing, and maintenance on users of those providers, and says Puppeteer tests and guarantees compatibility with default binaries. Therefore, when a custom provider returns true from supports, that answer reflects the provider’s own capability claim—not a Puppeteer compatibility guarantee.

How the provider check fits the browser installation

Puppeteer’s configuration guide says it downloads and uses a specific Chrome version by default; a caller can instead use another Chrome or Chromium executable by setting its executable path. The installation guide documents automatic downloads of a compatible Chrome for Testing version and a chrome-headless-shell binary, with the latter beginning at Puppeteer v21.6.0. It identifies $HOME/.cache/puppeteer as the default browser cache location beginning with v19.0.0. These are version-scoped documented defaults, not guarantees for every environment.

Rank #4
Sale
Web Design with HTML, CSS, JavaScript and jQuery Set
  • Brand: Wiley
  • Set of 2 Volumes
  • A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers

For a reliable diagnosis, separate the questions: did platform detection succeed, did a provider accept this browser/platform/build ID, did it return a URL, could that URL be reached, and does the resulting binary match the Puppeteer release? Each answer points to a different part of the setup.

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.

Troubleshooting skipped or failed providers

  • No platform detected: provide an explicit platform supported by the installation API, or correct the environment so automatic detection can determine the operating system and architecture. The flow errors before attempting a browser download if detection fails.
  • Provider is skipped: check the browser, platform, and build ID passed to supports. A false result means that provider declines that specific request; it does not necessarily indicate a Puppeteer bug.
  • Provider accepts the request but is not used: check whether it returns a download URL. A null URL causes the loop to continue.
  • Unexpected fallback: review the provider order and whether baseUrl or forceFallbackForTesting is set. These options affect which default provider is included and where.
  • URL exists but download fails: distinguish the support decision from network availability. canDownload performs a HEAD request, but an installation attempt can still fail; inspect the reported provider failures and verify the requested build’s URL and network accessibility.
  • Browser downloads but does not work with Puppeteer: compare the binary with the supported-browser mapping for the installed Puppeteer release. For a custom provider, compatibility testing and maintenance are your responsibility.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is to capture a webpage rather than manage Puppeteer browser binaries, ScreenshotNeo provides a screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF; see the API documentation.

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 and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up free for 1,000 screenshots a month—no card required.

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
PC Slower Than It Used to Be?Free scan - under a minute

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.