The open-source Patchright alternative
Patchright is the best-maintained patched Playwright around: a drop-in replacement that removes the driver's automation leaks. It does not change the browser itself, so the fingerprint a site reads is still your machine's. Clearcote works one layer down, in the engine, and the two combine.
What is Patchright?
Patchright (by Vinyzu and Kaliiiiiiiiii) is a patched build of Playwright for Python and Node.js, with a community-maintained .NET port. It is Apache-2.0, tracks Playwright's releases closely (1.64 at the time of writing, the same as upstream), and is heavily used: around 4 million PyPI downloads a month plus roughly 400,000 npm downloads a week. It only supports Chromium-based browsers.
Its patches target the automation driver. It avoids the Runtime.enable leak by running code in isolated execution contexts, disables the Console API (so console events don't work), drops --enable-automation and adds --disable-blink-features=AutomationControlled, and can reach into closed shadow roots. Init scripts are delivered through request routing, which the README notes is detectable by timing.
What Patchright deliberately leaves alone is the browser. It recommends running a real Chrome, and whatever Chrome it launches reports your actual hardware, GPU, fonts and screen. On a desktop that can be ideal. On a server or in Docker, the real values are those of a VM: a software GPU, a Linux font set, a headless screen. Every session on that machine also shares one identity.
Clearcote vs Patchright
| Feature | Clearcote | Patchright |
|---|---|---|
| Layer it works on | The browser engine (C++ / Blink) | The Playwright driver |
| Driver / CDP leaks | Engine neutralizes Runtime.enable; isolated worlds at launch | Patched driver avoids Runtime.enable; Console API disabled |
| Fingerprint identity | Coherent persona from a seed (canvas, WebGL, fonts, navigator, screen) | Your host's real values |
| Identities per machine | One per seed, as many as you need | One: the machine itself |
| On servers and in Docker | Persona hides the VM's software GPU and fonts | Reports the VM's real hardware |
| TLS / network | ClientHello follows the persona's Chrome version | Whatever the launched Chrome sends |
| Playwright release parity | Works with stock Playwright of any version | Patched build per Playwright release |
| Languages | Python, Node, .NET | Python, Node; .NET via a community port |
| Cost | Open build free; latest build free with GitHub; Pro $49/mo | Free & open (Apache-2.0) |
Comparison compiled November 2026. Patchright is open source (apache-2.0); details change — check its project for the latest.
Measured: 12 tools on the same 10 sites
We ran the open-source browsers-benchmark harness 5 times, finishing on 27 October 2026. Each tool ran on its own US residential IP, in a different order each run. A pass means the harness's own check for that site found the page itself, not a block or challenge page. Clearcote measured on a Windows desktop (latest build); other tools on a Linux server.
| Tool | Headed | Headless |
|---|---|---|
| Clearcote0.63.2 · r52 | 78%39/50 | 80%40/50 |
| Camoufox0.5.8 · v156.0.1-beta.36 | 72%36/50 | 80%40/50 |
| Invisible Playwright0.43.0 · Firefox | 76%38/50 | 78%39/50 |
| CloakBrowser0.6.4 | 74%37/50 | 64%32/50 |
| SeleniumBase (CDP mode)4.49.0 · Chrome | 74%37/50 | — |
| nodriver0.50.6 · Chrome | 74%37/50 | 40%20/50 |
| Zendriver0.17.1 · Chrome | 64%32/50 | 60%30/50 |
| tf-playwright-stealth (Firefox)1.2.0 | 58%29/50 | 62%31/50 |
| tf-playwright-stealth (Chromium)1.2.0 | 56%28/50 | 50%25/50 |
| Playwright (Chromium)1.62.0 | 56%28/50 | 30%15/50 |
| Playwright (Firefox)1.62.0 | 54%27/50 | 54%27/50 |
| Patchright1.64.3 · Chrome | 24%12/50 | 26%13/50 |
Sites: a search results page, a community forum, a software company's site, a luxury retailer, a marketplace product page, a ticketing site, a fashion retailer, a travel booking site, an airline, a social network. This is a snapshot from one network and one week: results move with every release, every proxy and the sites themselves, and no tool loaded every site every time. Raw results (JSON).
Why teams pick Clearcote
A different layer, not a rival
Detection reads three places: the driver, the CDP session, and the fingerprint. Patchright covers the first two. Clearcote covers the fingerprint in the engine, and its launch defaults handle the CDP side as well.
An identity you choose
With Patchright on a stock Chrome, the fingerprint is the machine you run on. Clearcote gives each seed its own consistent machine, which matters most on servers where the real one looks like a VM.
No driver to keep in sync
Clearcote works with the official Playwright and Puppeteer packages, so you upgrade them on their own schedule instead of waiting for a patched build.
Coherent down to TLS
The persona's claimed Chrome version carries through to the TLS ClientHello, so the network layer agrees with the JavaScript.
When Patchright might be the better pick
- You run on a real desktop with a real Chrome and a normal profile, and the only tells you need gone are the driver's.
- You want a drop-in Playwright replacement and nothing else to install.
- Or use both: Patchright accepts any Chromium binary, so you can keep its driver patches and put Clearcote underneath with
executable_path=clearcote.download().
FAQ
Patchright vs Clearcote: which one do I need?
They solve different layers. Patchright patches the Playwright driver so the automation session is harder to see. Clearcote patches the browser so the fingerprint (canvas, WebGL, fonts, navigator, TLS) is a coherent persona instead of your host. If your fingerprint is the problem, Patchright alone won't change it.
Can I use Patchright with Clearcote?
Yes. Patchright launches any Chromium binary. Get the Clearcote path from the SDK with download() and pass it as executable_path, along with your --fingerprint arguments.
Does Patchright change the browser fingerprint?
No. It changes launch flags and how the driver talks to the browser. Canvas, WebGL, fonts, screen and hardware come from the Chrome you run and the machine it runs on.
Why does console.log not work in Patchright?
Patchright disables the Console API to avoid a detection side effect of the CDP Runtime and Console domains. Its README suggests using a JavaScript logger if you need console output.
More than twice the patches of any fork we compared.
Patches compiled into Chromium, by approach. Script-based tools don't change the engine at all.
Stealth plugins
e.g. puppeteer-extra-plugin-stealth
Patched drivers
e.g. undetected-chromedriver, nodriver
Other Chromium forks
free and paid builds
Clearcote Pro
r57, Chromium 156
Published patch counts, October 2026. The range covers other forks' free and paid builds; Clearcote's is the Pro build.
365 checks, free, on your own browser
The fingerprint test every Clearcote build is held to. Run it on whatever you use today and compare.
Run the testThe open build's patches are public
The free open build is BSD-3, reproducible from source and needs no account. The Pro build adds private patches on top.
Open on GitHub57 engine releases, 7 Chromium majors
Every patch is carried to each new Chromium. The latest build gets new majors the day they ship.
See the releasesRelated reading
Try the open-source Chromium alternative
Free and open source, a drop-in for Playwright & Puppeteer, coherent down to the TLS handshake.
Free for one browser: GitHub, a card check or a company Google account. Never charged.