Puppeteer "Failed to launch the browser process" (no sandbox)
Puppeteer could not start Chrome. As root in a container, Chrome refuses to run without --no-sandbox; the same launch also needs headless and shm-related flags in CI.
What this error means
Launch fails with "Failed to launch the browser process!" and "Running as root without --no-sandbox is not supported," or a "No usable sandbox!" message. No page ever opens.
puppeteer
Error: Failed to launch the browser process!
[0617/120000.123:FATAL:zygote_host_impl_linux.cc(...)] No usable sandbox!
Update your kernel or see https://chromium.../suid_sandbox_development.mdCommon causes
Running as root without --no-sandbox
CI containers run as root, where Chrome's setuid sandbox is unavailable. Without --no-sandbox the process refuses to start.
Missing headless/shm flags
In a constrained container Chrome also needs --disable-dev-shm-usage (and headless) to avoid crashing on the small default /dev/shm.
How to fix it
Pass CI-safe launch args
test.js
const browser = await puppeteer.launch({
headless: 'new',
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage'],
});Or raise container shared memory
Terminal
docker run --shm-size=2g ... # instead of --disable-dev-shm-usageHow to prevent it
- Always launch with
--no-sandbox --disable-dev-shm-usagein CI. - Raise
--shm-sizefor browser-heavy jobs. - Bake a known-good Chrome into the runner image.
Related guides
Puppeteer "Could not find Chromium" - Browser Not Downloaded in CIFix Puppeteer "Could not find Chromium (rev. NNNNN)" in CI - a skipped download (PUPPETEER_SKIP_DOWNLOAD) or…
Cypress "the browser ... crashed" - Shared Memory (/dev/shm) in CIFix Cypress "We detected that the Chromium Renderer process just crashed" in CI - a tiny container /dev/shm.…
Headless Browser "error while loading shared libraries" in CIFix headless-browser "error while loading shared libraries: libnss3.so" in a CI container - slim images lack…