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 DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk6 min

How to Choose the Default Browser in Puppeteer

Puppeteer defaults to Chrome. Choose a persistent default with configuration or PUPPETEER_BROWSER, select per launch with browser, or use channel or executablePath for an installed browser.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To choose which browser Puppeteer launches, set the defaultBrowser configuration option or the PUPPETEER_BROWSER environment variable. For a single script, pass browser to puppeteer.launch(). Puppeteer’s documented default is Chrome. Use channel to select a regular Chrome installation, or executablePath to point to a specific browser executable.

Here, “default browser” means the browser Puppeteer launches—not the operating system’s default for opening web links. The examples below cover the bundled browser, installed Chrome, and a specific executable.

As an Amazon Associate I earn from qualifying purchases.

Which browser does Puppeteer launch by default?

The current Puppeteer Configuration and LaunchOptions APIs list Chrome as the default browser. The standard puppeteer package downloads Chrome for Testing and a chrome-headless-shell binary during installation. Puppeteer says it works best with the Chrome for Testing version it downloads, and guarantees compatibility with its bundled browser—not arbitrary browser versions.

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

The API documentation reviewed for this article identifies Puppeteer version 25.12.0; configuration details can change, so check the documentation for the version installed in your project. Puppeteer’s configuration guide is labeled “Next,” and documents multiple browser downloads as supported starting with v23.0.0.

#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.

Choose the right browser selection method

What you need Use What it does
The supported default and no special browser requirement Bundled browser Uses the browser Puppeteer downloads and is the compatibility-guaranteed choice.
A regular Chrome installation channel Looks for Chrome in a known system location. This is for Chrome release channels, not arbitrary browser brands.
A browser at a known, exact path executablePath Uses the executable you specify instead of the bundled browser. Pair it with browser so the intended browser type is explicit.
A browser choice for one script or launch browser in launch() Sets the browser for that launch; LaunchOptions lists Chrome as its default.
A browser managed elsewhere or a remote browser puppeteer-core Does not download Chrome or apply Puppeteer configuration files and environment configuration. Supply the required executable path or channel for launch.

Set a persistent default for the puppeteer package

For Puppeteer’s regular puppeteer package, set defaultBrowser in its configuration or use the documented PUPPETEER_BROWSER environment override. For example, a configuration file can set the default to Chrome:

// puppeteer.config.cjs
module.exports = {
  defaultBrowser: 'chrome',
};

To set the environment variable for a single shell command:

# macOS or Linux
PUPPETEER_BROWSER=chrome node capture.js

# PowerShell
$env:PUPPETEER_BROWSER = 'chrome'; node .capture.js

The examples use Chrome because it is the documented default. The configuration option is a SupportedBrowser; check the API documentation for your installed version for the values it supports. Do not rely on these Puppeteer configuration mechanisms with puppeteer-core: that package ignores configuration files and environment configuration.

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.

Choose a browser for one launch

Use the launch option when the browser choice should be obvious in the script or differ between scripts. This complete Node.js example launches the bundled browser:

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

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

Setting browser explicitly makes the choice clear even when it matches Puppeteer’s current default. It is useful for reproducible scripts that should not depend on an implicit package default.

Use installed Chrome or a specific executable

Use a recognized Chrome installation

If you want a regular Chrome installation rather than Puppeteer’s bundled browser, select a documented Chrome channel. The channel resolves Chrome from a known system location:

const browser = await puppeteer.launch({
  browser: 'chrome',
  channel: 'chrome',
});

Use only a channel supported by the Puppeteer version you have installed. A channel is not a way to select an arbitrary browser brand.

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

Point to an exact executable

Use executablePath when your deployment or browser-management system provides a specific executable. The path must exist and be executable in the environment running Node.js:

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

Replace the example path with the actual path on the machine or container. Puppeteer recommends specifying browser alongside executablePath; without it, the browser type defaults to Chrome. Using an external executable is not covered by Puppeteer’s compatibility guarantee, so validate the exact browser version and environment you deploy.

Understand the package and configuration differences

puppeteer

The end-user puppeteer package downloads a browser and provides defaults. Puppeteer’s installation guide documents the default browser cache as $HOME/.cache/puppeteer, a location documented as applying from v19.0.0. If a package manager blocks install scripts, the browser download may not have run; the installation guide documents manually running Puppeteer’s browser-install command as the remedy.

puppeteer-core

puppeteer-core is intended for setups where browser management happens elsewhere, including remote-browser workflows. It does not download Chrome and ignores Puppeteer configuration files and environment configuration. Set executablePath or channel on launch as appropriate for the browser you manage.

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.

Firefox and system browsers

Do not assume the Chrome channel option selects Firefox or that system-installed browsers are interchangeable. The @puppeteer/browsers guide describes system-browser launching as limited to Chrome/Chromium. Treat Firefox as a separately configured or downloaded browser, and check the Firefox settings and browser-management documentation for the Puppeteer version in use.

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.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Make the choice reproducible

  • Use the bundled browser when compatibility with Puppeteer’s supported setup matters most.
  • Make the browser explicit in launch() when a script must behave consistently regardless of package defaults.
  • For a machine-managed browser, use a known channel or exact executable path and validate it in the target environment.
  • Record the Puppeteer version and browser-management method alongside deployment configuration; browser updates can affect behavior outside Puppeteer’s compatibility guarantee.

Do not assume a single precedence rule for every combination of configuration, environment variables, and launch options. The API documents particular overrides, but not one complete conflict matrix. When the exact choice matters, state it explicitly at launch and test the resolved setup.

Troubleshoot browser selection

Symptom Likely cause What to check or do
Puppeteer cannot find or launch the browser The browser download did not run, the executable path is wrong, or the selected channel is not installed in a recognized location. For puppeteer, confirm installation scripts completed and install the browser using Puppeteer’s documented browser-install command if needed. For a managed browser, verify the path and permissions or use a supported installed Chrome channel.
The environment variable appears to have no effect The project uses puppeteer-core, or the variable was not set in the process environment. Use the regular puppeteer package for configuration-based defaults, or make the desired browser explicit in launch(). Confirm the variable is set in the shell or service that starts Node.js.
The wrong browser launches A default or override is being relied on implicitly, or the external executable is not the one expected. Specify browser in launch options; if using an external browser, specify and verify executablePath or use the intended Chrome channel.
An external browser fails despite a valid path Its version or environment may not be compatible with the installed Puppeteer release. Test with Puppeteer’s bundled browser to isolate the issue, then validate the external browser version and runtime environment. Puppeteer does not guarantee compatibility with other versions.
Firefox is not selected through channel channel is documented for Chrome release channels, not browser-brand selection. Configure or download Firefox separately using the relevant Puppeteer browser-management documentation for your installed version.

Or skip the browser setup

If your goal is to capture a website rather than control a browser session, ScreenshotNeo provides a screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses report the page verdict and billing status.

Example request (see the ScreenshotNeo API documentation):

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://stripe.com 
  -o shot.webp

ScreenshotNeo also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. 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—no card required.

Frequently Asked Questions

Does Puppeteer change my computer’s default browser?

No. Puppeteer’s browser setting controls the browser launched by Puppeteer; it does not change the operating system’s default app for web links.

Can I use Puppeteer with a browser installed in a nonstandard location?

Yes. Set executablePath to that executable and specify browser as well. Compatibility with an external browser is not guaranteed.

Does puppeteer-core download Chrome automatically?

No. It does not download Chrome; provide a browser executable path or a suitable Chrome channel when launching.

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
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver 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.