October 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 PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How to Find the Chrome Executable Path in Puppeteer

Use puppeteer.executablePath() to print the default browser executable path. Learn when to set executablePath or a channel, where the browser cache lives, and how to fix missing-browser errors.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To find the browser path Puppeteer will use by default, run puppeteer.executablePath(). It returns the executable path, not the browser cache directory. If you use puppeteer-core or manage Chrome separately, pass a compatible browser path to launch() or select a channel.

Print Puppeteer’s default Chrome path

With the full puppeteer package, ask Puppeteer for its default executable path:

As an Amazon Associate I earn from qualifying purchases.

const puppeteer = require('puppeteer');

console.log(puppeteer.executablePath());

For an ES module:

import puppeteer from 'puppeteer';

console.log(puppeteer.executablePath());

The value is the path to the default browser executable Puppeteer expects to use. Its exact location depends on the operating system, browser build and configuration; avoid assuming a cache subdirectory is the executable itself. See the PuppeteerNode API reference.

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.

Launch Puppeteer with that browser or a specific executable

Use Puppeteer’s managed browser

If you installed the full puppeteer package and its browser download is available, you can generally let Puppeteer select its default browser:

#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.
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com');
    console.log(await page.title());
  } finally {
    await browser.close();
  }
})();

Set an explicit executable path

Use executablePath when you need to choose a particular binary, such as a system-installed Chrome. Replace the example path with the value for your machine:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/absolute/path/to/chrome',
  });
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com');
  } finally {
    await browser.close();
  }
})();

executablePath is the path to the browser executable, rather than its containing folder. Puppeteer guarantees compatibility with its bundled browser, not arbitrary Chrome or Chromium builds. The launch API also recommends setting the browser property when using a custom executable. Check the current LaunchOptions interface for its supported values and details.

Check whether you installed puppeteer or puppeteer-core

The package variant changes what Puppeteer can select automatically:

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.
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).
  • puppeteer downloads a browser for Puppeteer to manage. Its executablePath() reports the default executable path.
  • puppeteer-core does not use Puppeteer configuration files or environment variables. Its launch requires either executablePath or channel.

If your project uses Core, specify an installed browser explicitly or select a supported channel. Do not rely on a PUPPETEER_EXECUTABLE_PATH setting to configure Core. The configuration guide and PuppeteerNode reference describe these differences.

Find the managed browser cache when the path is missing

The cache root is a directory that contains browser installations; it is not itself the Chrome executable. Puppeteer’s troubleshooting guide says that, starting with v19.0.0, browser downloads default to ~/.cache/puppeteer. The PUPPETEER_CACHE_DIR environment variable can change that location. A .puppeteerrc.js file can set cacheDirectory; after changing configuration, reinstall Puppeteer for the change to take effect.

Actual executable placement beneath the cache can vary by platform and browser build. Use puppeteer.executablePath() rather than copying a presumed subpath. The browser installation API accepts platform and build ID inputs, and documents platform-dependent binary structure in its InstallOptions reference.

Use a system-installed Chrome channel

If you specifically want a standard system installation, Puppeteer provides computeSystemExecutablePath to look up a Chrome executable for a release channel in known locations. It throws an error if Chrome is not found where expected. See the computeSystemExecutablePath API for its current signature and channel options. When launching with a non-bundled build, remember that compatibility is not guaranteed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot a missing or unusable executable

“Could not find expected browser locally”

This often means the browser download did not run, rather than that the path string needs editing. Package managers can block install scripts, which prevents Puppeteer’s automatic browser download. Install the required browser manually with:

npx puppeteer browsers install

Then print puppeteer.executablePath() again. Puppeteer documents this recovery in its troubleshooting guide.

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.

The executable path points to a directory or nonexistent file

  • Print the result of puppeteer.executablePath() and use the full returned file path, not only the cache root.
  • If you provide your own path, verify that the file exists and that the Node process can execute it.
  • Check that the browser is installed for the same environment where the script runs. A host machine’s path may not exist inside a container or another runtime.

Chrome launches but automation behaves unexpectedly

Confirm which browser binary the launch options select. Puppeteer is tested and guaranteed against its bundled browser; other versions may not be compatible. Prefer the bundled browser for reproducible automation unless managing browsers independently is a project requirement. The installation guide explains the managed-browser approach and the alternative of supplying executablePath or a channel.

Or skip the browser setup

If your goal is to capture a website rather than control Chrome directly, ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP or PDF. For example, with cURL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

See the ScreenshotNeo API documentation for authentication and options. ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for 1,000 free 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
Outdated Drivers Are Slowing You DownFree scan - exact matches
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.