Comparison

onionwright vs patchright

They work at different layers, and the layer decides what is even reachable. patchright rewrites the Playwright driver. onionwright changes the browser.

Where each signal is decided

SignalDecidedpatchrightonionwright
navigator.webdriverBrowser, before any script runsCannot reach it — the driver never sees this decisionThe branch that sets it is deleted from the engine
Sec-CH-UA headerSent with the first requestCannot reach it — no JavaScript has run yetThe "Google Chrome" brand entry is restored in the build
Runtime.enable side effectsCDP protocolAvoided by never calling it — costs the Console API and ~70 testsBeing fixed in V8 so the driver can simply use CDP
Input timingTrusted eventsPlaywright's instant jumpsMinimum-jerk paths, Fitts overshoot, 8–12 Hz tremor
Main-world executionStack frames visible to page scriptCaughtCaught — open problem, documented

When patchright is the right choice

It is free, it is open source, and for a great deal of automation it is enough. If your target checks navigator.webdriver and little else, patchright clears it and costs you nothing. It is what the free tier of ConnectOnion ships.

The reason to move is not that patchright is bad — it is that a driver-side library can only reach what the driver controls, and the signals that survive are the ones decided before it gets a turn. If you have already tried it and are still being flagged, that is why.

Common questions

Is patchright free?

Yes — it is open source and costs nothing, and it is what ConnectOnion's free tier ships. onionwright is the paid step up for when the driver layer is not enough, at $0.10 per browser-hour.

Doesn't patchright already remove navigator.webdriver?

On the driver side, yes, for the common check. But the Sec-CH-UA brand and the WebGL renderer string are set by the browser before any script runs, so a driver-side library cannot reach them — they are fixed in the engine here instead.

Do I have to rewrite my Playwright code to switch?

No. onionwright runs underneath Playwright, the same as patchright — it changes what the browser reports and how input is timed, not your automation code, which works unchanged.

What it costs

$0.10 per browser-hour — about $18 a month at eight hours a day. patchright is free.

Back to onionwright