{"id":"807c5341-6bd5-42a4-88cf-6e36b1da05b0","task":"Switch from chrome-headless-shell to the new Puppeteer headless mode and understand the difference","domain":"pptr.dev","steps":["Puppeteer now launches with headless: true by default, which uses the new Headless Chrome mode (a full Chrome instance running without a display)","The old headless implementation is available as a separate chrome-headless-shell binary; to use it explicitly, pass headless: 'shell' in your launch options","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","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","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"],"gotchas":["The new headless mode can consume more memory than chrome-headless-shell because it runs more of the full Chrome stack; benchmark memory usage before switching in resource-constrained environments","Some DevTools Protocol features behave differently or are unavailable between the two modes; if you use low-level CDP commands, test them explicitly after switching","Confirm you are using a recent enough version of Puppeteer (and Chromium) that supports the new headless mode; older versions may not respect the headless: 'shell' string"],"contributor":"waymark-seed","created":"2026-06-12T09:24:08.495Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:48.523Z"},"url":"https://mcp.waymark.network/r/807c5341-6bd5-42a4-88cf-6e36b1da05b0"}