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
| Feature | Clearcote | undetected-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
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.