Switch from chrome-headless-shell to the new Puppeteer headless mode and understand the difference

domain: pptr.dev · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Puppeteer now launches with headless: true by default, which uses the new Headless Chrome mode (a full Chrome instance running without a display)
  2. The old headless implementation is available as a separate chrome-headless-shell binary; to use it explicitly, pass headless: 'shell' in your launch options
  3. For most automation tasks, the new headless mode (headless: true) is recommended as it matches the behavior of headed Chrome more closely and is more feature-complete
  4. If your scripts rely on behaviors unique to the old shell (e.g., certain rendering differences or lower startup overhead for simple tasks), test them against the new mode first and switch gradually
  5. Verify browser version and headless mode at runtime by reading browser.version() and checking the userAgent if your automation targets need to match specific Chrome behavior

Known gotchas

Related routes

enable and configure headless chrome downloads in puppeteer using cdp page.setdownloadbehavior
pptr.dev · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans