Skip to content

Playwright vs Puppeteer for stealth: does it matter?

Playwright and Puppeteer both drive Chromium over the DevTools Protocol, so at the detection layer they leak the same automation artifacts: the automation flag, Runtime.enable side-effects, and the default fingerprint of whatever binary they launch. Choosing one over the other doesn't change what a detector sees.

Stealth comes from the binary and launch configuration, not the framework. Point either at a browser whose identity is controlled in the engine — with --enable-automation dropped, isolated worlds, and a coherent fingerprint — and both behave identically to a real Chrome.

Clearcote is a drop-in for both: its launch() returns a standard Playwright Browser, and a standing CDP endpoint attaches to Puppeteer, browser-use, Crawl4AI or Stagehand unchanged. See deployment.