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 desk5 min

How to Resolve a Browser Build ID with Puppeteer

Resolve a browser channel or version to a concrete Puppeteer build ID, install the matching binary, and keep its platform and cache path aligned.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use resolveBuildId(browser, platform, tag) from @puppeteer/browsers to turn a channel or release selector into a concrete browser build ID for a particular platform. Use that same browser, platform, ID, and cache directory to install the browser and compute its executable path. For repeatable automation, save the resolved ID rather than relying on a moving channel such as stable.

Resolve a build ID programmatically

Install @puppeteer/browsers in your project, then resolve the selector for the operating system and architecture where the browser will run. The API returns a Promise<string>; the browser and platform are explicit inputs, so do not assume a build selected for one platform can be used on another.

As an Amazon Associate I earn from qualifying purchases.

import {Browser, BrowserPlatform, resolveBuildId} from '@puppeteer/browsers';

const platform = BrowserPlatform.LINUX; // choose the target OS/architecture
const buildId = await resolveBuildId(Browser.CHROME, platform, 'stable');
console.log(buildId);

Replace BrowserPlatform.LINUX with the target platform constant and Browser.CHROME with the browser you need. The third argument accepts a string or BrowserTag, such as the documented stable selector. See the resolveBuildId API reference for current signatures and supported values.

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

Install the resolved browser and find its executable

The returned ID identifies the specific build to install and cache. Keep the browser, build ID, platform, and cache directory aligned when installing and calculating its executable path.

import {
  Browser,
  BrowserPlatform,
  install,
  computeExecutablePath,
} from '@puppeteer/browsers';

const browser = Browser.CHROME;
const platform = BrowserPlatform.LINUX;
const cacheDir = '/path/to/puppeteer-cache';
const buildId = '...'; // result of resolveBuildId

const installed = await install({browser, buildId, platform, cacheDir});
const executablePath = computeExecutablePath({browser, buildId, platform, cacheDir});
console.log(installed.executablePath);
console.log(executablePath);

install() resolves to an InstalledBrowser, which includes the build ID and executable path. You can use the path from that result, or calculate it with computeExecutablePath() when you need to derive the expected location. Consult the InstallOptions reference and computeExecutablePath reference for the documented option fields.

To launch a manually managed binary with Puppeteer, pass the path as executablePath to puppeteer.launch(). Puppeteer cautions that only its bundled browser is guaranteed to work; a custom binary is a compatibility choice you manage.

Choose a channel, a pinned build, or Puppeteer’s managed browser

Resolve a channel for convenience

A selector such as stable is useful when you want the current channel build for a specified platform. Its result can change as the channel advances, so resolving it afresh on each deployment does not by itself make deployments repeatable.

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

Pin the resolved ID for repeatable automation

For a controlled build, resolve the selector once, record the returned ID together with the platform, and use those values in your build or deployment configuration. This provides a concrete binary target instead of depending on a moving alias. The @puppeteer/browsers CLI is another option for documented selectors and versions; examples include npx @puppeteer/browsers install chrome@stable, an exact Chrome for Testing version, and a milestone selector. See the browser management guide for current CLI usage.

Let Puppeteer manage its default browser

The puppeteer package automatically downloads a recent Chrome for Testing browser during installation. puppeteer-core does not download Chrome; if you use it, or otherwise manage the browser yourself, provide an executablePath or a standard-location channel when launching. Puppeteer’s supported browsers table maps Puppeteer releases to supported browser versions. Check the live table for your installed Puppeteer release; if an exact release is absent, the documentation advises using the browser supported by the immediately prior listed version.

Or skip the browser setup

If the goal is a screenshot rather than controlling a local browser, ScreenshotNeo offers a website screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF; consent banners, newsletter popups, and chat widgets are removed before capture, and bot checks, blank pages, timeouts, failed loads, and cache hits are not billed. AI agents can use its MCP tools for screenshots, page information, and PDFs. Here is the one-call cURL example; see the API documentation for parameters and response details.

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

The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month, with no card required.

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

Troubleshoot resolution, installation, and launch

  • No browser downloaded during package installation: some package managers block install scripts. Run Puppeteer’s browser-install command manually or allow the Puppeteer postinstall script, as described in the installation guide.
  • The executable path points to a missing file: check that installation and path computation use the same cacheDir, browser, build ID, and platform. Puppeteer’s cacheDirectory configuration and PUPPETEER_CACHE_DIR environment variable can affect where managed browsers are stored; see configuration.
  • Puppeteer launches another browser or cannot find the intended one: inspect the launch executablePath, PUPPETEER_EXECUTABLE_PATH, and channel settings. A channel points to a regular Chrome installation in a known system location, rather than the specific cached binary selected by your build ID. See the launch options.
  • A custom browser behaves differently: confirm its platform and version against the supported-browser table for your Puppeteer release. Custom executable paths are supported, but the bundled browser is the one Puppeteer guarantees.
  • A mirror or custom provider supplied the browser: Puppeteer does not officially support custom providers. If you choose one, you are responsible for validating compatibility, testing, and maintenance; do not assume it behaves like the default provider.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Keep platform and cache choices explicit

The build ID does not stand alone: it is used with the browser and platform to install and locate the binary in a cache. Resolve for the machine that will run the browser, and make the cache directory consistent across install and launch configuration. A Linux executable path should not be copied into macOS or Windows setup. When debugging, compare the actual installed browser, resolved ID, platform, cache configuration, and launch override rather than changing the ID alone.

Frequently Asked Questions

Does resolveBuildId return a string or an object?

It resolves asynchronously to a string containing the build ID.

Best Value
The SQL Programming Language: .
  • Used Book in Good Condition

Does puppeteer-core install Chrome automatically?

No. Unlike the puppeteer package, puppeteer-core leaves browser installation and selection to the caller.

Can I use a custom executablePath with Puppeteer?

Yes, but Puppeteer only guarantees compatibility with its bundled browser. Check the supported-browser table for your Puppeteer release before using a different binary.

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

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.