The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Configure Puppeteer in three layers: use a project configuration file for browser installation and shared defaults, supported environment variables for deployment-specific overrides, and puppeteer.launch() options for each browser process. If you use puppeteer-core, configure its browser path or channel at launch; it ignores Puppeteer configuration files and Puppeteer environment variables.
Choose the right Puppeteer configuration layer
| Layer | Use it for | Important behavior |
|---|---|---|
| Configuration file | Persistent project settings, especially browser choice, downloads, and cache locations. | Puppeteer searches up the file tree for recognized configuration files. Supported environment variables override corresponding file settings. |
| Environment variables | Deployment-specific overrides, such as a different executable or cache directory. | Only variables supported by your installed release apply. Verify names and behavior in its versioned reference. |
puppeteer.launch() |
Options for one browser process: executable, channel, headless mode, arguments, timeout, and user-data directory. | These are runtime choices, not installation settings. |
For example, the configuration interface documents variables including PUPPETEER_EXECUTABLE_PATH, PUPPETEER_SKIP_DOWNLOAD, PUPPETEER_CACHE_DIR, PUPPETEER_TMP_DIR, and PUPPETEER_BROWSER. Check the configuration reference for your installed version rather than assuming every option exists in every release: Puppeteer configuration reference.
The current documentation identified for this guide is Puppeteer 25.12.0. Its separate configuration guide is for the next documentation, so confirm version-specific options against the documentation for your installed release.
Install Puppeteer and its browser
The puppeteer package downloads a compatible Chrome for Testing build by default; current releases also download chrome-headless-shell. By default, downloaded browsers are cached under ~/.cache/puppeteer. Installation and browser-download settings belong in the configuration layer, not in launch().
#1 Best Overall
- 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.
Use the package’s browser-install command if your package manager blocked install scripts and skipped the download:
npx puppeteer browsers install
Alternatively, configure the package manager to allow Puppeteer’s install script, then reinstall as appropriate for your project. A missing download can cause launch errors such as “Could not find Chrome (ver. …).” See the official installation guide for package-manager guidance.
Set persistent project options
Create a configuration file using a filename and format recognized by your installed Puppeteer release, then put persistent installation or shared settings there. Puppeteer searches upward through the directory tree for recognized files. Because the exact interface can change, use the versioned configuration reference to confirm the supported filename, syntax, and available fields before copying an example from another release.
For a setting supported both in the file and as an environment variable, the environment value takes precedence. If you change a setting that affects which browser is downloaded or where it is stored, rerun the browser installation command so the on-disk browser state matches the configuration.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Rank #2
- Storage: 16GB Flash Memory
- OS: Chrome OS
- Screen Size: 11.6"
puppeteer-core is an important exception: it ignores Puppeteer configuration files and these Puppeteer environment-variable settings. Supply browser details explicitly when launching it.
Configure one browser process with launch options
Use launch() for runtime behavior. The 25.12.0 API includes browser selection, channel, executablePath, args, headless, timeout, userDataDir, process-signal handling, and I/O controls. See the launch method reference for the complete option list and types.
A minimal launch using the browser installed by puppeteer looks like this:
import puppeteer from 'puppeteer';
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();
}
headlessdefaults to headless mode.trueselects new headless;'shell'selects the old headless shell.- Use
executablePathorchannelwhen deliberately selecting a browser installed or managed elsewhere. Forpuppeteer-core, one of these is required. - Set
argsonly when necessary. Replacing or changing default browser arguments can affect behavior and should be done deliberately. - Use
timeoutanduserDataDirto control the relevant process behavior; consult the versioned API for defaults and exact accepted values.
Choose between the bundled browser and a managed browser
| Approach | What to configure | Trade-off |
|---|---|---|
Bundled browser with puppeteer |
Install the package and let it download its compatible Chrome for Testing build. | This is the path with the strongest compatibility assurance. Puppeteer says it works best with its downloaded Chrome for Testing version. |
Browser managed elsewhere with puppeteer-core |
Install and maintain the browser separately; provide executablePath or channel at launch. |
You own browser availability and version compatibility. Puppeteer does not guarantee that another Chrome version will work. |
Use puppeteer-core when your application or environment is responsible for supplying the browser. If you do, treat browser upgrades as a compatibility change and validate them in the actual deployment environment. See the installation guide and launch API.
Rank #3
- Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage
- 15" FHD IPS Display, Intel UHD Graphics
- 1x USB Type C, 1 x USB Type A, 1x Headphone/Microphone Combo Jack, HDMI
- Fast WiFi and Bluetooth, Integrated Webcam
- Chrome OS, AC Charger Included, Pastel Silver
Make deployment match the target environment
A successful local launch does not prove that Chrome can start in a container or production host. The current system requirements documentation lists Node.js 22.12 or later and describes supported Chrome for Testing operating systems and architectures. Check your deployment image against the system requirements, including the linked Linux package requirements.
- Confirm the deployed Node.js version, operating system, and CPU architecture.
- Confirm the browser binary was installed in the deployment and that its configured path exists.
- Check required Linux system packages against the target image, not just your development machine.
- Review the target environment’s sandbox policy and permissions before changing Chrome arguments.
Chrome’s sandbox is an important security boundary. Puppeteer’s troubleshooting guide calls --no-sandbox a strongly discouraged workaround and recommends configuring a sandbox. Do not add it as a routine fix; treat any exception as an environment-specific security decision. See Puppeteer troubleshooting.
Troubleshoot common configuration failures
“Could not find Chrome” after installation
Likely cause: an install script was blocked, browser downloading was skipped, or Puppeteer is looking in a different cache location than the one used during installation.
Fix: run npx puppeteer browsers install, or allow the Puppeteer install script. Check PUPPETEER_SKIP_DOWNLOAD, PUPPETEER_CACHE_DIR, and any corresponding project configuration, then ensure the installation and runtime use the intended cache.
Recommended Free Tools
Rank #4
- THE BETTER WAY TO LAPTOP – Imagine a Chromebook that’s as flexible as your day: thin and lightweight with built-in Google apps and stress-free security.
- TAKE HITS KEEP MOVING – Sleek, light, and built to last- the Chromebook 2-in-1 is just 0.69” thick and 3.3lbs. Enjoy long-lasting battery life, fast charging, and military-grade durability for nonstop productivity wherever life takes you.
- PERFORMANCE THAT MATCHES YOUR HUSTLE – Fuel your ideas with an Intel Core processor and 128GB storage. Boot up in under 10 seconds to start the day powerfully efficient.
- FLEX YOUR CREATIVITY ANYWHERE, ANYTIME – Create, work, or unwind your way with a versatile 2-in-1 design. Flip easily between laptop, tent, and tablet modes with a responsive touchscreen built for flexibility.
- BRILLIANT VIEWS AND IMMERSIVE AUDIO – See, hear, and create with awesome clarity. The WUXGA display brings rich detail to your work and play, while audio tuned by Waves MaxxAudio provides immersive, balanced sound.
Chrome exists locally but not in production
Likely cause: the deployment image has a different architecture, operating system, cache path, or install-script policy.
Fix: install the browser in the target image or provide the managed browser’s actual executablePath/channel. Check the system requirements and Linux packages for that image.
Chrome exits at launch in Linux or Docker
Likely cause: missing system libraries or a mismatch between the browser and its runtime environment.
Fix: use Puppeteer’s troubleshooting guidance to identify missing dependencies and compare the deployment with the official system requirements. Avoid treating --no-sandbox as a default remedy.
Best Value
- 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).
Sandbox error
Likely cause: the host or container does not permit the sandbox configuration Chrome expects.
Fix: configure an appropriate sandbox for the environment and review permissions. Only consider disabling it after an explicit security review of the deployment.
A config change has no effect
Likely cause: an environment variable overrides the file value, the file is not in a recognized location or format, or the project uses puppeteer-core.
Fix: check the versioned configuration reference, inspect deployment environment variables, and remember that puppeteer-core does not read Puppeteer config files or Puppeteer environment-variable settings.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOr skip the browser setup
If your task is to obtain a website screenshot rather than control a local Chrome process, ScreenshotNeo provides a screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF. For example, this cURL request saves a WebP screenshot:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for free.
Frequently Asked Questions
Does puppeteer-core download Chrome?
No. It does not download a browser; provide a browser path or channel when launching.
What does Puppeteer’s headless option mean?
In the documented API, true selects new headless and 'shell' selects the old headless shell.
Quick Recap
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.

