Headless Chrome isn't why your web agent gets blocked — fingerprints are
Your agent's model is fine. Its browser disguise is what's blowing your scraping runs — and a maintainer of an open-source automation library has the test numbers to show it.
The most useful agent engineering post of the day didn't come from a lab or a vendor — it came from a Reddit thread by thalissonvs, maintainer of Pydoll, an MIT-licensed Python library that drives Chromium directly over the Chrome DevTools Protocol with no WebDriver layer. His claim: web agents don't get blocked because the model is weak or because headless mode is detectable. They get blocked because their browser fingerprint is incoherent. He tested it with live bot-score checks: plain headless Chrome scored 100 out of 100 — maximum bot. The same run with a fingerprint profile matched to the host machine dropped to 15, indistinguishable from a normal user's browser.
The failure mode that should make every agent builder wince: a mismatched profile scores worse than no spoofing at all. A Windows profile running on his Mac scored 57 — because one signal that contradicts all the others is itself the tell. Detection engines like CreepJS and commercial bot managers don't check whether your User-Agent looks human; they check whether a dozen signals agree, and disagreement is what flags you.
There's a hard limit worth stating plainly: none of this touches the network layer. Your TLS handshake and egress IP stay exactly what they are, so this is identity coherence for the browser layer only — which is why the advice is to match the profile to the machine you actually run on instead of faking everything. Pydoll's own documentation is blunt about it: an inconsistent fingerprint is more detectable than an unmodified browser.
Why it matters: browser-use agents are shipping everywhere right now, and most teams debug blocks by swapping models, adding retries, or rotating proxies — when the actual defect sits in the browser identity layer nobody instrumented. The fix is architectural, not expensive: coherent profile, matched to hardware, applied before first navigation.
Our take: treat this as infrastructure knowledge, not scraping tricks. Every team running production browsing agents will need fingerprint-coherence work within the year — and the counter-pressure from detection vendors is about to get interesting.
What to watch: whether major bot-detection vendors start scoring cross-layer coherence explicitly (some already do), and whether agent frameworks bake fingerprint matching in as a default rather than leaving it to each developer.
If your web agent keeps getting blocked despite a frontier model behind it — is the browser layer the first place you'd look now? Tell us in the comments.
Sources: Pydoll — Fingerprint injection docs · r/AI_Agents discussion · Pydoll on GitHub · Claude Cowork arrives in Chrome with skills and plugins