The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →If PHP Browsershot reports that Chrome cannot be found, first determine whether Puppeteer failed to install its browser, the PHP-launched Node process cannot see the browser’s cache or executable path, or Chrome is present but cannot start. For Browsershot v4, Spatie documents Node.js 22.0 or newer and Puppeteer 23.0 or newer. Check your installed Browsershot version before applying those requirements to another major version.
Identify which step is failing
Browsershot asks Node and Puppeteer to control a browser. These are separate failure points: PHP may not find Node or npm; Puppeteer may not find Chrome; or Chrome may be found but fail during startup. The complete error text and the process that produced it help distinguish them.
- “Could not find Chrome” or “Could not find expected browser”: investigate whether the browser was installed, where Puppeteer expects its cache, and whether the PHP runtime can access it.
- A spawn error such as ENOENT: check whether the configured executable path exists in the application’s runtime filesystem.
- “No usable sandbox!” or missing shared-library errors: Chrome was located but could not launch. Troubleshoot the sandbox or operating-system dependencies rather than changing the browser path.
Write down the full error and the installed Browsershot, Node.js, and Puppeteer versions. Spatie’s current Browsershot v4 requirements specify Node.js 22.0+ and Puppeteer 23.0+; do not assume those minimums apply to another Browsershot major version.
Check whether Puppeteer installed a browser
The standard puppeteer package normally downloads a compatible Chrome for Testing browser during installation. A successful package installation does not guarantee that the browser download ran: package-manager settings can block install scripts. Puppeteer documents the manual install command as npx puppeteer browsers install.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- 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.
- In the project or runtime environment that will run Browsershot, check whether the project uses
puppeteerorpuppeteer-core. - If it uses
puppeteerand its browser download was skipped, runnpx puppeteer browsers installin that environment. - Ensure the resulting browser files are retained or installed in deployment and are readable and executable by the account running the PHP application.
puppeteer-core does not download Chrome. If your project uses it, arrange a browser installation separately and configure its path. See Puppeteer’s installation documentation for installation behavior and browser management.
Choose how the browser is managed
| Approach | When it fits | Checks |
|---|---|---|
Let puppeteer install Chrome for Testing |
The project uses puppeteer and its installation or deployment process permits browser downloads. |
Install scripts ran; deployment retains or populates the browser cache; the PHP runtime user can access and execute the browser. |
| Manage Chrome or Chromium separately and set its path | The host or container owns browser packages, or the project uses puppeteer-core. |
The executable exists at the configured path in the runtime filesystem; the browser and Puppeteer work together; permissions and Linux dependencies are present. |
For a separately managed executable, configure Browsershot with setChromePath, using the actual path visible to the process that runs the capture. Spatie’s requirements and configuration documentation also covers remote Chrome; that is an architecture choice for deployments intentionally using a remote browser service, not the first fix for a local missing-browser error.
Set the executable path Browsershot can actually use
Do not assume a path from your laptop, another container, or an interactive shell also exists for PHP-FPM, Apache, a queue worker, or the container running your application. Confirm the file exists and is executable in the same environment and under the same account that performs the screenshot, then pass that path to setChromePath.
Rank #2
- 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).
If the error instead shows that PHP cannot find Node or npm, configure those separately: Browsershot provides setNodeBinary, setNpmBinary, and setIncludePath. These settings address command discovery; they do not install Chrome or fix a browser launch failure.
Recommended Free Tools
Compare the PHP runtime with your successful terminal test
A terminal capture and a web request may run as different users with different environment variables, home directories, PATH values, filesystem access, and browser-cache locations. A browser installed under one account’s cache may therefore be invisible to the PHP service account.
- Identify the account and environment used by the failing PHP process—such as PHP-FPM, Apache, or a queue worker.
- Check that Node, npm, the browser executable, and Puppeteer’s browser cache are accessible in that runtime.
- Install or configure the browser so the runtime user can read and execute it, or point Browsershot at the actual executable path with
setChromePath. - Repeat the capture through the same PHP execution path that failed. A successful command run under another user is not proof that the web runtime can launch Chrome.
A Spatie GitHub discussion includes a user’s 2024 report of CLI-versus-web-server differences alongside a Chrome crashpad/configuration issue. It is an example of why runtime differences are worth checking, not evidence that one environment-variable workaround fixes every case.
Rank #3
- Storage: 16GB Flash Memory
- OS: Chrome OS
- Screen Size: 11.6"
When Chrome is found but will not launch on Linux
Check shared libraries
A missing-library message points to operating-system dependencies, not Chrome discovery. Spatie suggests checking the browser’s linked libraries with ldd chrome | grep not; use the actual executable path if needed. Install the required packages for your host distribution and version rather than copying a package list from another Linux release.
Spatie’s Forge installation example lists dependencies for Ubuntu 24.04 and notes that Ubuntu 22.04 uses libasound2 instead of libasound2t64. Treat that as a version-specific example, not a universal Linux package list.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsHandle sandbox errors as a security decision
If Chrome reports “No usable sandbox!”, investigate the host’s sandbox configuration. Puppeteer’s troubleshooting guide says, “Running without a sandbox is strongly discouraged. Consider configuring a sandbox instead.” It also notes AppArmor and user-namespace restrictions affecting Chrome for Testing on Ubuntu 23.10 and later.
Rank #4
- 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.
Avoid treating --no-sandbox as a routine fix. Disabling the sandbox reduces protection when Chrome processes untrusted web content; only consider it for trusted content when you understand and accept that security trade-off. Prefer configuring a suitable sandbox for the deployment.
Or skip the browser setup
If you need a screenshot without installing and maintaining a browser in your PHP runtime, ScreenshotNeo provides a screenshot API and MCP server. A GET request returns an image or PDF. For a PNG capture, for example:
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 and response details. ScreenshotNeo removes supported cookie and consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents take screenshots, and the free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo to start with the free plan.
Windows 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 reinstallCrashes, 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 minuteFrequently Asked Questions
Does Browsershot use Chrome directly from PHP?
No. Browsershot uses a Node/Puppeteer process to control the browser, so PHP command discovery, Puppeteer browser discovery, and Chrome startup are distinct checks.
Can I use Chromium instead of Chrome?
Yes, if you manage the browser separately and configure Browsershot with the actual executable path using setChromePath. Confirm the browser and Puppeteer pairing works in the target runtime.
Should I use a remote Chrome server to fix this error?
Usually not as a first step. Browsershot documents remote Chrome for deployments designed to use a remote browser service; first check local installation, path visibility, and launch dependencies.
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.




