Skip to content

The open-source undetected-chromedriver alternative

undetected-chromedriver is still downloaded about 2 million times a month, but its last release was in February 2024. It hides the Selenium/ChromeDriver seam on a stock Chrome and never touches the fingerprint or the network layer. Clearcote changes both in the engine.

What is undetected-chromedriver?

undetected-chromedriver (by ultrafunkamsterdam) is a Python library that patches Selenium's ChromeDriver to remove the obvious automation tells. It neutralises the injected cdc_ variables and strips flags like --enable-automation, then drives a real, unmodified Chrome. It is GPL-3.0, has about 12,900 GitHub stars and still gets around 2 million PyPI downloads a month.

Development has slowed. The last PyPI release (3.5.5) was in February 2024, and its author's effort has moved to the successor, nodriver. The ceiling was always that it only hides the driver. The Chrome engine is stock, so canvas, WebGL, fonts and the full navigator surface are whatever your machine reports, and the TLS and HTTP/2 fingerprint is whatever that Chrome sends. SeleniumBase's UC Mode is the actively maintained descendant for Selenium users.

Clearcote vs undetected-chromedriver

FeatureClearcoteundetected-chromedriver
Approach Engine-level C++ patches: native values Patched chromedriver on stock Chrome
Fingerprint control Coherent persona (canvas, WebGL, fonts, navigator) Your host's real values
TLS / network coherence Follows the claimed Chrome (JA3/JA4 + HTTP/2) Whatever the local Chrome sends
Framework Playwright & Puppeteer (Python, Node, .NET), CDP Selenium (Python)
Maintenance Active Last release February 2024
License Open build BSD-3 GPL-3.0 (copyleft)
Cost Open build free; latest build free with GitHub Free & open

Comparison compiled October 2026. undetected-chromedriver is open source (gpl-3.0); details change — check its project for the latest.

Why teams pick Clearcote

No seam to hide

undetected-chromedriver removes the driver's tells from an otherwise stock browser. Engine-level patches change the native values, so there's nothing injected to detect in the first place.

The network layer, too

It leaves TLS and HTTP/2 to whatever Chrome you run. Clearcote makes the handshake match the claimed Chrome version, a layer a driver patch can't reach.

Coherent across realms

Native values agree in the main frame, Web Workers and cross-origin iframes, where driver and JavaScript tricks often diverge.

Maintained with Chromium

Chrome and detection both move every few weeks. Clearcote follows each new Chromium major; undetected-chromedriver hasn't had a release since early 2024.

When undetected-chromedriver might be the better pick

  • You have an existing Selenium script that already uses it and only needs the ChromeDriver tells gone.
  • Your targets are lenient and you want zero binary to manage.
  • If you're staying on Selenium long-term, SeleniumBase is the maintained route.

FAQ

Is undetected-chromedriver still maintained?

Its last PyPI release, 3.5.5, was in February 2024, and the repository has seen little activity since mid-2025. It still installs and is widely used, but new work from its author goes into nodriver.

Is undetected-chromedriver enough to avoid detection?

Against lenient or older detection, often. Against strict systems it has a structural ceiling: it hides the ChromeDriver seam but runs a stock Chrome, so the engine's fingerprint and the TLS/HTTP-2 layer are unchanged.

How is Clearcote different?

undetected-chromedriver patches the Selenium driver on top of your normal Chrome. Clearcote is a modified Chromium: the fingerprint is changed in the engine (native, coherent across workers and iframes) and the TLS/HTTP-2 stack follows the claimed Chrome version.

Related reading

Q&AWhy does navigator.webdriver reveal automation?navigator.webdriver is true whenever a browser is launched under automation flags; overriding it from JavaScript is itself detectable, so the fix belongs in the engine.Q&AWhat is CDP detection?The Chrome DevTools Protocol drives automation but leaves side-effects — Runtime.enable, injected init scripts, main-world execution — that a page can observe. Spotting those is CDP detection.CompareClearcote vs SeleniumBaseSeleniumBase is a big, well-maintained Python automation framework, and its UC and CDP modes are the most active stealth option in the Selenium world. They change how the browser is driven, not what it reports: the fingerprint is still your machine's. Clearcote changes it in the engine, and SeleniumBase can run on top of it.CompareClearcote vs CamoufoxCamoufox is a well-built open-source anti-detect browser, on Firefox. Clearcote takes the same engine-level approach to Chromium, so your automation presents the browser about 66% of the web actually uses instead of one used by about 3%.CompareClearcote vs CloakBrowserCloakBrowser is a capable engine-level stealth Chromium with a large following, but the patched binary is closed source. Clearcote is engine-level too, runs a newer Chromium, and ships an open build whose every patch you can read and rebuild.CompareClearcote vs nodrivernodriver is the successor to undetected-chromedriver: fast, async, no Selenium, straight CDP. But it still drives a stock Chrome, so the fingerprint is your machine's. Clearcote keeps the CDP-first ergonomics and changes the fingerprint and TLS in the engine.

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 with GitHub. No card.