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 DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk4 min

How to Find the Browser Executable Path in Puppeteer

Use puppeteer.executablePath() to print the selected browser binary, or pass an absolute executablePath to launch a different installed browser. Learn how to diagnose missing files, cache problems, and runtime dependencies.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To see the browser path Puppeteer has selected, print puppeteer.executablePath(). To launch a different installed browser, pass its absolute path as executablePath to puppeteer.launch(). The path must exist and be executable in the same environment where Node.js runs—not just on your development computer.

Print Puppeteer’s computed browser path

With the full puppeteer package, executablePath() returns the computed path for the configured browser. Run it in the same process and environment where you intend to launch Puppeteer:

As an Amazon Associate I earn from qualifying purchases.

import puppeteer from 'puppeteer';

const path = puppeteer.executablePath();
console.log(path);

const browser = await puppeteer.launch();
await browser.close();

The printed value identifies the expected executable; it does not prove the file is present, has execute permission, or can start successfully. Check those conditions in the target runtime. Puppeteer’s configuration documentation describes its browser installation and cache settings.

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

Use a different installed browser

Set executablePath in the launch options to override the managed browser path. Use an absolute path that points to the browser executable in the runtime:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  browser: 'chrome',
  executablePath: '/absolute/path/to/chrome',
});

await browser.close();

The browser option identifies the browser type; executablePath selects the actual binary. Puppeteer’s launch options documentation warns that compatibility is guaranteed only with the bundled browser. Validate a custom binary against the Puppeteer version and browser features your code needs.

Using puppeteer-core

puppeteer-core does not provide the normal browser download and configuration defaults of the full package. Supply either an executable path or a browser channel when launching:

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
import puppeteer from 'puppeteer-core';

const browser = await puppeteer.launch({
  executablePath: '/absolute/path/to/chrome',
});

await browser.close();

Alternatively, use a supported channel in the launch options. In either case, the selected browser must be available in the environment that runs the process.

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

Managing browser binaries directly

If your application uses @puppeteer/browsers to manage browser installations, its API documents computeExecutablePath for a managed cache binary and computeSystemExecutablePath for looking up a system Chrome installation. A system lookup can fail when no browser is installed at a known location. See the browsers API documentation.

Understand where Puppeteer keeps its browser

Puppeteer’s documented default browser cache is ~/.cache/puppeteer. Set PUPPETEER_CACHE_DIR to use a different cache location. Starting with Puppeteer v19.0.0, downloaded browsers are stored in that cache by default, as described in the troubleshooting guide.

If browser download was skipped—through configuration such as skipDownload or the PUPPETEER_SKIP_DOWNLOAD environment variable—the runtime needs a different browser binary. Install the expected browser in that environment or configure a valid system executable; otherwise, the computed path may not point to a usable file.

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

Diagnose a missing or unusable executable

  1. Print the path in the failing runtime. Call puppeteer.executablePath() from the same process, container, or hosted environment that cannot launch. A local path may not exist in deployment.
  2. Check the file and permissions. Confirm that the path names a real file and that the process can execute it. Also check that the browser cache directory is present and accessible.
  3. Check download and cache configuration. Review skipDownload, PUPPETEER_SKIP_DOWNLOAD, and PUPPETEER_CACHE_DIR. Ensure the browser installation is included in the deployed environment.
  4. Check Linux dependencies. A correct executable path does not guarantee launch if shared libraries are missing. The Puppeteer troubleshooting guide recommends checking dynamic dependencies with ldd chrome and following its distribution-specific guidance.
  5. Do not use --no-sandbox as a path fix. Puppeteer strongly discourages running without a sandbox. Address the environment’s sandbox configuration rather than treating that flag as a general solution.

For cloud deployments, the official troubleshooting guide covers deployment considerations, including keeping the browser cache available between build and runtime where needed.

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

Choose between Puppeteer’s browser and a system browser

Consideration Puppeteer-managed browser System-installed browser
Compatibility The documented default; Puppeteer is designed around its bundled browser. Arbitrary browser versions are not guaranteed to work; validate the version and features you need.
Deployment The downloaded browser and configured cache must be available in the runtime. The executable must be installed at the configured path in the runtime.
Version control Browser installation is managed through Puppeteer’s setup and cache configuration. You control the system browser installation and updates.
Operating-system requirements Required libraries and suitable permissions still need to be present. Required libraries and suitable permissions still need to be present.
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 get a website screenshot rather than control a local Puppeteer browser, ScreenshotNeo provides a screenshot API and MCP server. One GET request returns an image or PDF; the API’s documentation lists supported options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
  • Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; response headers report the page verdict and billing status.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients.
  • The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

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

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.