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
browser automation

How to Run Puppeteer With an Existing Chrome Installation on macOS

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

Use puppeteer-core when you want Puppeteer to control Chrome already installed on your Mac. Set channel: 'chrome' to let Puppeteer look for a regular Chrome installation in a recognized location, or set executablePath to the exact browser executable when you need to choose it explicitly. With puppeteer-core, one of those options is required.

Choose the right Puppeteer package

The package determines whether Puppeteer supplies a browser or expects you to manage one:

Package Browser behavior When to use it
puppeteer Normally downloads a recent Chrome for Testing build. Use it when you want Puppeteer to manage its browser installation.
puppeteer-core Does not download Chrome. Use it when you already have Chrome installed and want to select or manage the browser yourself.

If you choose puppeteer-core, give launch() either a channel or an executablePath. Installing puppeteer instead is not the same as pointing Puppeteer at system Chrome: its normal behavior is to download Chrome for Testing.

Install Puppeteer Core

From your Node.js project directory, install the package with your package manager:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Apple 2025 MacBook Pro Laptop with Apple M5 chip with 10‑core CPU and 10‑core GPU: Built for AI, 14.2-inch Liquid Retina XDR Display, 16GB Unified Memory, 1TB SSD Storage; Space Black
  • SUPERCHARGED BY M5 — The 14-inch MacBook Pro with M5 brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. Featuring all-day battery life and a breathtaking Liquid Retina XDR display with up to 1600 nits peak brightness, it’s pro in every way.*
  • HAPPILY EVER FASTER — Along with its faster CPU and unified memory, M5 features a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance. So you can blaze through demanding workloads at mind-bending speeds.
  • BUILT FOR APPLE INTELLIGENCE — Apple Intelligence is the personal intelligence system that helps you write, express yourself, and get things done effortlessly. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
  • ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.
  • APPS FLY WITH APPLE SILICON — All your favorites, including Microsoft 365 and Adobe Creative Cloud, run lightning fast in macOS.*
npm install puppeteer-core

This installs the control library, not Chrome. Confirm that Chrome is installed on the Mac where the script will run. If the project already uses another package manager, use its equivalent install command and check that installation scripts have not been disabled in a way that affects your chosen setup.

Launch Chrome with a recognized channel

When regular Chrome is installed in a location Puppeteer recognizes, channel: 'chrome' is the simplest option. This ES module example opens a page, prints its title, and closes the browser even if navigation or title retrieval fails:

import puppeteer from 'puppeteer-core';

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

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

Save it as, for example, capture.mjs and run node capture.mjs. For a CommonJS project, adapt the import to the module system configured by that project rather than mixing CommonJS and ES module syntax. The headless option makes the browser run without a visible window; remove it or set it to false when you need to observe the browser during debugging.

Rank #2
Sale
Apple 2026 MacBook Pro Laptop with Apple M5 Pro chip with 18-core CPU and 20-core GPU: Built for AI, 16.2-inch Liquid Retina XDR Display, 24GB Unified Memory, 1TB SSD, Wi-Fi 7; Space Black
  • FAST RUNS IN THE FAMILY — The 16-inch MacBook Pro with the M5 Pro or M5 Max chip brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. With all-day battery life, double the starting storage,* and a breathtaking Liquid Retina XDR display, it’s pro in every way.*
  • BUCKLE UP — Along with a next-generation CPU, faster unified memory, and up to 2x faster SSD storage,* M5 Pro and M5 Max feature a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance and on-device training capabilities. So you can blaze through demanding workloads at mind-bending speeds.
  • BUILT FOR AI — Apple silicon, and every major component that powers it, is designed to run demanding on-device AI workloads like LLM inference and training. And Apple Intelligence helps you write, express yourself, and get things done effortlessly with groundbreaking privacy protections at every step.*
  • ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.*
  • MACOS RUNS APPS FAST — All your go-to apps run lightning fast in macOS, including built-in apps like FaceTime and Messages. Plus, built-in virus protection and free software updates help keep your Mac running smoothly and securely.

The channel option asks Puppeteer to locate regular Chrome in a known system location. It does not let you name an arbitrary application directory, and discovery may fail if Chrome is installed somewhere Puppeteer does not recognize.

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

Launch a specific Chrome executable

Use executablePath when Chrome is in a nonstandard location, discovery fails, or the project must select a particular browser binary. The value must point to the executable inside the app bundle, not merely to the .app directory or to /Applications.

import puppeteer from 'puppeteer-core';

const browser = await puppeteer.launch({
  executablePath: '/actual/path/to/Chrome',
  headless: true,
});

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

Replace /actual/path/to/Chrome with the verified executable path on the target Mac. There is no universal path established for every macOS installation, so do not copy a path from another machine without checking that the file exists and is executable there. Avoid setting both channel and executablePath; choose one browser-selection method for a launch.

Rank #3
Sale
Apple 2026 MacBook Pro Laptop with Apple M5 Pro chip with 18-core CPU and 20-core GPU: Built for AI, 16.2-inch Liquid Retina XDR Display, 48GB Unified Memory, 1TB SSD, Wi-Fi 7; Space Black
  • FAST RUNS IN THE FAMILY — The 16-inch MacBook Pro with the M5 Pro or M5 Max chip brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. With all-day battery life, double the starting storage,* and a breathtaking Liquid Retina XDR display, it’s pro in every way.*
  • BUCKLE UP — Along with a next-generation CPU, faster unified memory, and up to 2x faster SSD storage,* M5 Pro and M5 Max feature a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance and on-device training capabilities. So you can blaze through demanding workloads at mind-bending speeds.
  • BUILT FOR AI — Apple silicon, and every major component that powers it, is designed to run demanding on-device AI workloads like LLM inference and training. And Apple Intelligence helps you write, express yourself, and get things done effortlessly with groundbreaking privacy protections at every step.*
  • ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.*
  • MACOS RUNS APPS FAST — All your go-to apps run lightning fast in macOS, including built-in apps like FaceTime and Messages. Plus, built-in virus protection and free software updates help keep your Mac running smoothly and securely.

Decide between channel and executablePath

Consideration channel: 'chrome' executablePath
Chrome location Best when Chrome is in a recognized system location. Works when you know the exact executable path, including for a nonstandard installation.
Browser selection Convenient discovery; less explicit control over which binary is selected. Explicitly selects the executable your project names.
Portability across Macs Can avoid hard-coding a machine-specific path, but depends on discovery. Requires the configured path to be valid on each target Mac.
Version compatibility Not guaranteed for every external Chrome version. Not guaranteed for every external Chrome version.

The two options change how Puppeteer finds Chrome, not the compatibility guarantee. Puppeteer says it works best with its corresponding Chrome for Testing browser and does not guarantee that other Chrome versions will work. Its launch options documentation cautions: “Puppeteer is only guaranteed to work with the bundled browser, so use this setting at your own risk.” Check the launch options and compatibility guidance for the Puppeteer version in your project, because the documentation is updated over time. Puppeteer’s launch API suggests Chrome Canary or Dev Channel for users who prefer regular Google Chrome, but this is not a promise of compatibility for every release.

Use the browser installed on the machine that runs the script

Browser selection happens where Node.js executes. If the script runs locally, the selected Chrome must be installed on that Mac. If it runs in a CI job, remote host, container, or another developer’s Mac, your local Chrome installation and path do not carry over automatically. Configure the browser on the execution machine and make sure its chosen channel or executable path is valid in that environment.

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.

A hard-coded path can make a controlled deployment more deterministic, but creates a configuration requirement for every machine. Channel discovery avoids storing a path, but depends on Chrome being in a location Puppeteer recognizes. In either case, record the Puppeteer version and browser version used for a project so a failure can be diagnosed without guessing which pairing changed.

Rank #4
Sale
Apple 2025 MacBook Pro Laptop with Apple M5 chip with 10‑core CPU and 10‑core GPU: Built for AI, 14.2-inch Liquid Retina XDR Display, 24GB Unified Memory, 1TB SSD Storage; Space Black
  • SUPERCHARGED BY M5 — The 14-inch MacBook Pro with M5 brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. Featuring all-day battery life and a breathtaking Liquid Retina XDR display with up to 1600 nits peak brightness, it’s pro in every way.*
  • HAPPILY EVER FASTER — Along with its faster CPU and unified memory, M5 features a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance. So you can blaze through demanding workloads at mind-bending speeds.
  • BUILT FOR APPLE INTELLIGENCE — Apple Intelligence is the personal intelligence system that helps you write, express yourself, and get things done effortlessly. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
  • ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.
  • APPS FLY WITH APPLE SILICON — All your favorites, including Microsoft 365 and Adobe Creative Cloud, run lightning fast in macOS.*

Troubleshoot launch and navigation failures

Puppeteer says it cannot find Chrome

  • If you installed puppeteer-core, remember that it does not download Chrome. Install Chrome separately, then configure channel or its actual executable path.
  • If you intended to use channel: 'chrome', check that regular Chrome is in a recognized location. If discovery still fails, find and verify the executable, then switch to executablePath.
  • If you intended to use Puppeteer’s managed browser, check whether installation scripts were blocked. The installation guide provides npx puppeteer browsers install as a manual way to install the managed browser.

The explicit path does not work

  • Check that the path identifies the browser executable inside the Chrome application bundle, rather than the bundle directory or its parent.
  • Verify the file exists and can be executed on the Mac running Node.js. A path from another Mac may not match that machine’s installation.
  • Use one method at a time: remove channel when selecting with executablePath, or remove the explicit path when using channel discovery.

Chrome starts but Puppeteer operations fail

A successful launch does not establish that an external Chrome version is fully compatible with your Puppeteer release. Record the exact error, Chrome version, Puppeteer version, and whether launch used channel or executablePath. Enable Puppeteer’s launch output where useful and reduce the script to a minimal launch-and-close case before investigating page-specific behavior.

Downloaded Chrome for Testing will not launch on macOS

A Chrome for Testing-specific macOS note recommends removing an offending attribute with the following command when a downloaded Chrome for Testing binary cannot launch after being downloaded using a browser:

xattr -cr 'Google Chrome for Testing.app'

This is conditional guidance for that downloaded Chrome for Testing scenario. It is not a general fix for ordinary Chrome installations or every launch error; confirm the binary and situation match before applying it.

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.
Best Value
Sale
Apple 2025 MacBook Pro Laptop with Apple M5 chip with 10‑core CPU and 10‑core GPU: Built for AI, 14.2-inch Liquid Retina XDR Display, 16GB Unified Memory, 1TB SSD Storage; Silver
  • SUPERCHARGED BY M5 — The 14-inch MacBook Pro with M5 brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. Featuring all-day battery life and a breathtaking Liquid Retina XDR display with up to 1600 nits peak brightness, it’s pro in every way.*
  • HAPPILY EVER FASTER — Along with its faster CPU and unified memory, M5 features a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance. So you can blaze through demanding workloads at mind-bending speeds.
  • BUILT FOR APPLE INTELLIGENCE — Apple Intelligence is the personal intelligence system that helps you write, express yourself, and get things done effortlessly. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
  • ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.
  • APPS FLY WITH APPLE SILICON — All your favorites, including Microsoft 365 and Adobe Creative Cloud, run lightning fast in macOS.*

The browser opens but the page does not reach the expected state

Separate browser startup from page navigation in your logs. The sample waits for domcontentloaded, which means the initial HTML has been parsed; it does not guarantee that every image, client-side request, or late-loading component has finished. Choose a wait condition that matches what your script needs, and inspect the navigation error separately from launch errors.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Consider the maintenance and reliability trade-offs

  • External Chrome updates: A regular Chrome installation can update independently of your Node dependencies. A browser update may change behavior even when your Puppeteer package did not change.
  • Managed Chrome: The default puppeteer package installs Chrome for Testing, the browser Puppeteer says it works best with. This adds browser installation and storage requirements but keeps the browser choice tied more closely to Puppeteer’s expected pairing.
  • Machine-specific paths: Explicit paths are clear but can make a script fail on another Mac. Keep a path configurable when machines may differ, and validate it before launch.
  • Package-manager scripts: If install scripts are disabled, a managed browser download may not happen. For system Chrome with puppeteer-core, this is separate from the browser installation itself.

For repeatable automation, choose whether your priority is using the Chrome already maintained on each Mac or using Puppeteer’s managed browser. Do not assume that a successful run on one Chrome/Puppeteer combination guarantees the same result after either component updates.

Or skip the browser setup

If your goal is to get a website screenshot rather than automate a browser, ScreenshotNeo offers a one-request screenshot API and an MCP server for AI agents. Its request accepts a URL and can return an image or PDF; see the API documentation for request parameters and output options.

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

ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf 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 screenshots. Sign up for ScreenshotNeo’s free plan.

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

FAQ

Does Puppeteer support Chrome installed from the Mac App Store?

The sources cited here do not establish a specific compatibility guarantee for a particular Chrome distribution channel. The practical requirement is that the chosen channel finds the installation or that executablePath points to its actual browser executable; Puppeteer does not guarantee every external Chrome version.

Can I use a Chrome profile from my normal browsing session?

The launch guidance covered here establishes browser selection, not profile-sharing behavior. Avoid assuming a profile is safe to reuse in concurrent automation; use Puppeteer’s version-specific launch documentation to configure and manage a profile for your use case.

Does Chrome have to be open before the script runs?

No. Puppeteer’s launch() starts the selected browser process; the configured Chrome installation must be available to the machine running the script.

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.

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

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.

Read next

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
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.