The open-source rebrowser-patches alternative
rebrowser-patches does important work on Puppeteer and Playwright's Runtime.enable leak, and its bot-detector page is still a useful test. Its patched packages caught up with current Puppeteer and Playwright in October 2026, after 17 months without a release, but they only cover the driver. Clearcote handles the CDP side at launch and in the engine, and changes the fingerprint too.
What is rebrowser-patches?
rebrowser-patches is a set of source patches for Puppeteer and Playwright, with ready-made drop-in packages (rebrowser-puppeteer, rebrowser-playwright). The main patch fixes the Runtime.enable leak, with switchable strategies: a main-world context lookup (with a binding as fallback), always-isolated worlds, or (in Puppeteer) enable-then-disable. Smaller patches keep library names out of stack traces (Puppeteer's pptr: sourceURL, Playwright's UtilityScript helper), rename the utility world and hide navigator.webdriver. The team's write-up on the leak and their open bot-detector page are some of the best public material on the subject.
The limits are scope and upkeep. Its own README calls patching library source fragile, since it can break as upstream changes. The drop-in packages went 17 months without a release, from May 2025 (Puppeteer 24.8.1, Playwright 1.52.0) to October 2026, when they caught up with Puppeteer 25.14 and Playwright 1.64; the repository now has scripts to port, test and release each new upstream version. And like every driver patch, it leaves the browser stock: the fingerprint is the host's.
Clearcote vs rebrowser-patches
| Feature | Clearcote | rebrowser-patches |
|---|---|---|
| Approach | Engine-level C++ patches | Patches to the Puppeteer / Playwright source |
| Runtime.enable leak | Neutralized in the engine; isolated worlds at launch | Fixed in the driver (three modes in Puppeteer, two in Playwright) |
| Fingerprint identity | Coherent persona from a seed | Your host's real values |
| Library versions | Works with current official Puppeteer & Playwright | A patched build per release (Puppeteer 25.14, Playwright 1.64 in October 2026) |
| Last release | Active | October 2026, after 17 months without one |
| TLS / network | ClientHello follows the persona's Chrome version | Whatever the local Chrome sends |
| Languages | Python, Node, .NET | Node (Puppeteer, Playwright), Python (Playwright) |
| Cost | Open build free; latest build free with GitHub; Pro $49/mo | Free & open |
Comparison compiled November 2026. rebrowser-patches is open source (mit patches; apache-2.0 builds); 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.
rebrowser-patches is not in this benchmark: the harness has no driver for it. The table shows the tools it does support.
| 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
No patched library to wait for
Clearcote works with the official Puppeteer and Playwright packages, so you're not pinned to the last version a patch set was rebased onto.
The fingerprint, not only the session
Fixing Runtime.enable hides the automation session. Clearcote also changes the canvas, WebGL, fonts, screen and hardware the page reads.
Handled below the library
Clearcote's CDP handling lives in the engine and launch defaults, so it doesn't depend on patching each release of a JavaScript library.
Coherent down to TLS
The claimed Chrome version carries through to the TLS ClientHello, a layer a library patch can't reach.
When rebrowser-patches might be the better pick
- You're happy with a stock Chrome and only need the driver-side fixes, such as the Runtime.enable leak.
- You want to study the patches: they are short, well documented and a good way to understand the leak.
- For a patched Playwright, Patchright is the other option in the same category, with a build for each Playwright release.
FAQ
Is rebrowser-patches still maintained?
Yes, after a long pause. The patched packages went 17 months without a release, from May 2025 (Puppeteer 24.8.1, Playwright 1.52.0) to October 2026, when version 1.1.1 brought drop-in packages for Puppeteer 25.14 and Playwright 1.64 and scripts to port each new upstream version. Check that a patched build exists for the library version you use.
What is the Runtime.enable leak?
Puppeteer and Playwright enable the CDP Runtime domain to track execution contexts. While it's on, the browser serializes console arguments in a way page JavaScript can observe, which reveals an automation client. rebrowser-patches and Patchright avoid enabling it in the driver; Clearcote neutralizes it in the engine.
rebrowser-patches vs Clearcote?
rebrowser-patches changes how the automation library talks to a stock Chrome. Clearcote changes the browser, so both the CDP side effects and the fingerprint are handled, with official Puppeteer and Playwright on top.
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.