Error: Failed to launch chrome! is a symptom, not a diagnosis. Puppeteer could not start its browser, but the reason might be a missing browser download, an inaccessible cache, incompatible Node or browser versions, missing Linux libraries, sandbox restrictions, or a runtime-specific problem. Turn on browser output, capture the complete error, then follow the branch that matches your environment.
Start with the complete error, not a guessed fix
Before changing launch flags or reinstalling packages, collect the information that identifies which failure you have. A browser that is missing is a different problem from one that starts and then exits. Puppeteer’s troubleshooting guidance treats the full error output as the starting point for diagnosis: Puppeteer troubleshooting.
- The complete Node.js error and the browser’s stderr output.
- Your installed Puppeteer package and Node.js versions.
- Operating system, Linux distribution and version if applicable, and whether the process runs locally, in a container, or on a managed cloud runtime.
- How Puppeteer was installed, whether its browser download ran, and any configured browser path or cache directory.
Redact credentials, cookies, authorization headers, private URLs, and other sensitive values before sharing logs. Browser output can expose data passed to the process.
Enable Chrome output for one reproduction
Set dumpio: true in puppeteer.launch(). It pipes the browser process’s stdout and stderr to Node’s output, often revealing the specific missing library, permission, sandbox, or path error hidden behind the wrapper message.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →#1 Best Overall
- Model: Dell OptiPlex 7050 Small Form Factor (SFF)
- Processor: Intel Core i7-7700 3.60 GHz
- Memory: 32GB DDR4 Ram
- Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
- Operating System: Windows 11 Pro (64-bit)
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true,
dumpio: true,
});
try {
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
} finally {
await browser.close();
}
})().catch((error) => {
console.error(error);
process.exitCode = 1;
});
Run with additional Puppeteer diagnostics when the browser output alone is inconclusive:
env NODE_DEBUG="puppeteer:*" node script.js
Use these diagnostics to reproduce the failure, then remove or reduce verbose logging where it is no longer needed.
Follow the branch that matches your error
| What you observe | First place to investigate |
|---|---|
| Executable not found, or no browser is present | Browser installation, cache directory, or executable path |
| Chrome starts and exits with library errors | Linux shared-library dependencies and distribution compatibility |
No usable sandbox! or user-namespace errors |
Sandbox configuration and operating-system restrictions |
| Failure only on a particular Windows machine or managed device | Extension policy, browser permissions, and the exact stderr |
| Works locally but fails in a container or cloud service | Runtime packages, cache persistence, and deployment configuration |
Using puppeteer-core or a system browser |
Explicit browser selection and browser/package compatibility |
Check whether Puppeteer installed a browser and can find it
The full puppeteer package normally downloads a compatible browser during installation. If that download was skipped, failed, or occurred in a build environment whose cache is unavailable at runtime, launch can fail because there is no executable at the expected location.
Puppeteer’s configuration documentation describes the default browser cache as ~/.cache/puppeteer and supports PUPPETEER_CACHE_DIR to configure another location: Puppeteer configuration. Check the environment of the actual Node process, not just the shell or build step that installed the package. In a container or deployment, confirm that the downloaded browser is included in the final image and that the running user can read and execute it.
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 →Use a deliberate executable path only when needed
You can choose a browser using executablePath or the PUPPETEER_EXECUTABLE_PATH environment variable. First verify that the target exists and is executable from the same environment that runs Node. Puppeteer’s LaunchOptions documentation warns: “Puppeteer is only guaranteed to work with the bundled browser.” A separately installed Chrome or Chromium build may differ from the version expected by your Puppeteer package: LaunchOptions documentation.
const browser = await puppeteer.launch({
executablePath: '/absolute/path/to/chrome',
dumpio: true,
});
Do not set a custom path as a reflex. If you use the bundled browser, fix its installation or cache access instead. If you intentionally use another build, record and maintain that browser version as part of your deployment.
Rank #2
- AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to 16 hours of battery life,* and the A18 Pro chip, MacBook Neo is ready to go wherever school takes you.
- FOUR STUNNING COLORS. ONE DURABLE DESIGN — Choose from four beautiful colors — Silver, Blush, Citrus, or Indigo — each with a color-coordinated keyboard. And MacBook Neo is made with a durable recycled aluminum enclosure that helps it reach 60 percent recycled content by weight — the most ever in any Apple product.*
- FLY THROUGH EVERYDAY ASSIGNMENTS — Whether you’re cramming for finals, using Apple Intelligence* to summarize class notes, creating presentations, or even playing the latest Apple Arcade game,* MacBook Neo delivers the performance and AI capabilities you need to get things done.
- UP TO 16 HOURS OF BATTERY LIFE — MacBook Neo delivers all day battery life, so you can power through from early morning classes to late night study sessions without worrying about plugging in.
- A VIBRANT 13-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Neo supports 1 billion colors, so photos and videos pop and text is crisp for easy reading.
Verify the Puppeteer and Node.js versions together
Check the versions in the environment where the launch fails:
node --version
npm ls puppeteer puppeteer-core
Puppeteer’s system requirements page for version 25.12.0 specifies Node.js 22.12 or later: Puppeteer system requirements. Apply that threshold to that documented release, not automatically to every older Puppeteer version. Compare the installed package version with its own requirements and update Node or choose a compatible Puppeteer release deliberately.
Also keep the browser and library pairing in mind. Puppeteer states that it works best with the Chrome for Testing version it downloads; custom browser builds can introduce compatibility failures that look like launch problems.
On Linux, identify missing shared libraries
A browser executable can exist and still fail before opening because a shared library it needs is absent. Run ldd against the actual Chrome executable used by Puppeteer:
ldd /path/to/chrome | grep not
Replace /path/to/chrome with the executable path for your installation. Any dependency shown as “not found” points to a library the runtime cannot resolve. Install the corresponding package for your Linux distribution and release, then rerun the check. Package names and availability vary, so do not copy a dependency list for a different distribution as if it were universal.
Puppeteer’s Linux troubleshooting guidance lists common Debian dependencies such as libnss3, libgbm1, GTK and X11 libraries, and fonts. Treat that as a starting point, not a permanent or exhaustive list; verify the current instructions for your platform: Puppeteer Linux troubleshooting.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- Performance: Powered by Intel Celeron N4500 dual-core processor with up to 2.8 GHz burst frequency and 4MB L3 cache, this HP Chromebook delivers smooth multitasking for everyday computing. With 4GB LPDDR4x-2933 RAM and Intel UHD Graphics, enjoy seamless web browsing, video streaming, and productivity apps. Chrome OS boots in seconds and updates automatically, keeping your laptop secure and running at peak performance for students, professionals, and home users.
- Immersive 14-Inch HD Display: Experience clear, vibrant visuals on the 14-inch diagonal HD (1366 x 768) anti-glare display with 250 nits brightness and 62.5% sRGB color accuracy. The micro-edge design maximizes your viewing area with an impressive 80% screen-to-body ratio, perfect for streaming movies, video calls, and document editing. The anti-glare coating reduces eye strain during extended use, making it ideal for all-day productivity and entertainment in any lighting condition.
- Advanced Connectivity & Ports: Stay connected with Wi-Fi 6 (2x2) for faster wireless speeds and Bluetooth 5.3 for seamless device pairing. Equipped with versatile ports including 1 USB Type-C 10Gbps (with USB Power Delivery and DisplayPort 1.4), 2 USB Type-A 5Gbps ports, 1 HDMI 1.4b, and 1 headphone/microphone combo jack. Connect external monitors, transfer files quickly, charge your device, and expand your workspace effortlessly for maximum productivity and flexibility.
- All-Day Battery & Premium Design: The battery keeps you powered throughout your day, while the included 45W USB Type-C power adapter ensures fast charging. Featuring a sleek modern grey finish with vertical brushing pattern on the keyboard deck, this lightweight 3.35 lb Chromebook combines style and portability. The full-size modern grey keyboard and HP Imagepad provide comfortable typing and precise navigation for work, school, or entertainment on the go.
- Enhanced Security & Multimedia: Built-in H1 secure microcontroller protects your data and privacy with enterprise-grade security. The HP True Vision 720p HD camera with integrated dual array digital microphones delivers crystal-clear video calls and online meetings. HD Audio with stereo speakers provides rich, immersive sound for music, videos, and calls. With 64GB eMMC storage, you have ample space for essential files while Chrome OS seamlessly integrates with Google Drive for cloud storage.
Handle “No usable sandbox!” as a security configuration problem
Chrome’s sandbox isolates browser activity from the host. If stderr reports No usable sandbox! or a user-namespace sandbox failure, investigate whether the operating system permits the sandbox mode Chrome is trying to use and whether the process has the required configuration. Ubuntu 23.10 and later AppArmor restrictions are one documented cause of Chrome for Testing user-namespace sandbox failures.
The preferred fix is to configure a usable sandbox for the host and runtime. Puppeteer documents --no-sandbox as an option only for content the operator absolutely trusts and strongly discourages it. Turning off the sandbox reduces isolation between web content and the host; it is not a general-purpose fix for launch errors. Do not use it to make arbitrary websites or user-submitted URLs safe to open.
// Only for content you absolutely trust, after understanding the security trade-off:
const browser = await puppeteer.launch({
args: ['--no-sandbox'],
});
See Puppeteer’s current sandbox guidance and its caveats before changing this setting: Puppeteer troubleshooting.
On Windows, check policies and browser permissions
Use the specific browser stderr to distinguish a policy conflict from a permissions issue. Puppeteer’s troubleshooting guidance notes that some Chrome policies enforcing extensions can conflict with Puppeteer’s default --disable-extensions launch argument. For that case, it documents enableExtensions: true:
Recommended Free Tools
const browser = await puppeteer.launch({
enableExtensions: true,
dumpio: true,
});
This is a targeted workaround for the described policy conflict, not a setting to add to every Windows launch.
For sandbox permission errors, Puppeteer’s guide says releases 22.14.0 and later attempt to configure permissions for downloaded Chrome during browser installation. If you use an older release, or the failure continues, inspect the permissions on the downloaded browser and its directories for the account that runs Node. Consult the current Windows troubleshooting guidance for the affected release: Puppeteer troubleshooting.
Rank #4
- [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
- [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
- [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
- [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
- [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)
For containers and cloud runtimes, inspect the deployed environment
A successful local launch does not prove that a deployment image has Chrome’s dependencies, the browser download, or a usable cache. Check the final runtime image and process user. Puppeteer’s official Docker image includes Chrome for Testing and its required dependencies; it is an option when that image fits your deployment model: Puppeteer Docker guide.
Puppeteer’s troubleshooting guide specifically notes that default Cloud Run Node runtimes lack system packages needed by Headless Chrome. It also notes that some other Google runtimes include packages but may require a cache-directory adjustment because of build caching. These are provider- and runtime-specific observations, not instructions to apply blindly to another cloud service. Check the current runtime documentation and verify where the installed browser cache ends up after deployment.
- Confirm the browser exists inside the deployed image, not only in a build stage that is discarded.
- Confirm the runtime user can read and execute the browser and access the configured cache.
- Check missing libraries inside the same container or runtime where the failure occurs.
- For managed services, follow the current guidance for that exact service and runtime generation.
Use the right launch configuration for puppeteer-core
puppeteer-core does not download a browser for you. Its launch configuration requires an explicit executablePath or channel. If the executable is missing or the channel is unavailable in the deployment, launch cannot succeed.
const puppeteer = require('puppeteer-core');
const browser = await puppeteer.launch({
executablePath: '/absolute/path/to/chrome',
headless: true,
dumpio: true,
});
Use a path that exists in the runtime, or select an installed browser channel supported by your setup. Because Puppeteer guarantees compatibility with its bundled browser rather than every external build, treat system Chrome as an explicit compatibility choice. See the API’s launch configuration details: Puppeteer launch API.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common failed fixes and how to recover
“I added --no-sandbox and it works”
That indicates the failure may involve sandbox availability, but it also means browser isolation is reduced. Remove the flag where possible and configure a supported sandbox. Keep the workaround only if the content is absolutely trusted and you have accepted the security impact described above.
“I installed Chrome, but Puppeteer still cannot launch”
Installing a browser does not guarantee Puppeteer is pointing to it. Check whether you are using puppeteer or puppeteer-core, inspect the configured executable path, and verify that the runtime can access that exact file. Then compare the chosen browser build with the installed Puppeteer version.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Best Value
- 🖥POWERFUL PROCESSOR and SUPERIOR STORAGE: Configured with top of the Intel Core i5 processor for lightning-fast, reliable and consistent performance to ensure an exceptional PC experience. 16GB RAM memory to smoothly run multiple applications and browser tabs all at once. 2TB HDD storage space to store apps, games, photos, music, and movies. Loaded with 16GB to zip through multiple tasks in a hurry without lag.
- 🖥️New 22 Inch Full HD (1920x1080) LED monitor: with 75hz, High-Quality panel with quick refresh rate and response time. With 1080p resolution, you can enjoy gaming or a modern computing experience. 22 Inch monitor has a Smart Contrast to provide optimized image quality. Bezel-less and sleek design with glossy finish, crisp edge-to-edge visuals. Wide Viewing Angles for clarity from any viewpoint. VESA Mountable and built-in tilt options allow for a variety of monitor configurations.
- ⌨️ +🖱️ RGB KEYBOARD AND MOUSE | RGB SPEAKER: 3 LED Colors - Blue, red, green, Backlight LED Lights for use at night time, looks amazing. The keyboard mouse and speaker are responsive, reliable, and probably plastered in RGB lights. It's important you pick the right one for your desktop.
- 💿 WINDOWS 10 Pro LATEST: A new installation of the latest Microsoft Windows 11 Professional 64 Bit Operating System software, free of bloatware commonly installed from other manufacturers. As Microsoft's latest and best OS to date, Windows 10 Pro 64 Bit will maximize the utility of each PC for years to come. Optional software such as Anti-Virus and Office 365 can also be easily downloaded through the Microsoft Windows App Store.
“It works during build but not after deployment”
Compare the build and runtime environments. The browser or cache may not be carried into the final image, a different account may run Node, or the managed runtime may lack system libraries. Log the effective cache and executable locations in the deployment and run the dependency check there.
“There is no useful error beyond failed to launch”
Reproduce with dumpio: true, then try NODE_DEBUG="puppeteer:*". Check that the launch promise’s error is logged rather than swallowed, and preserve the browser’s stderr around the failure. Avoid changing several launch options at once; one targeted change per reproduction makes the cause easier to identify.
Or skip the browser setup
If your goal is to capture a web page rather than manage a Puppeteer runtime, ScreenshotNeo provides a screenshot API and MCP server. One GET request can return an image or PDF. For example, this cURL request saves a WebP screenshot of Stripe:
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 documentation for API options. Cookie and consent banners are accepted before capture, and 60-plus known consent platforms, newsletter popups, and chat widgets can be removed; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, with response headers indicating 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 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsSign up free for 1,000 screenshots a month, with no card required.
Frequently Asked Questions
What does “Error: Failed to launch chrome!” mean in Puppeteer?
It means Puppeteer could not start its browser process; the message alone does not identify why. The browser stderr output is needed to choose the right fix.
Does puppeteer-core download Chrome automatically?
No. With puppeteer-core, configure an installed browser using an executable path or channel.
Is adding –no-sandbox a safe permanent fix?
No. It reduces browser isolation and Puppeteer strongly discourages it except when opening content the operator absolutely trusts.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Quick 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.

