The most common failure mode in AI agent demos isn't reasoning. It's the agent navigating to a real website, getting blocked, and either crashing or hallucinating its way through what should be a five-second task.
We hit this wall hard while building the agent swarm that runs our studio. The agents needed to do real work on the open web — research competitors, manage ad accounts, scrape public data, run automated SEO audits — and the off-the-shelf solutions either got caught, were too expensive at our scale, or both.
So we built Human Browser. This is what we learned about why standard browser automation breaks for AI agents in 2026, and what actually works.
The three failure modes
When a Playwright script running on a datacenter IP hits a serious site, one of three things happens:
The hard block. The site detects the headless browser, the datacenter IP, or some combination of fingerprints (canvas, WebGL, audio context, font enumeration) and returns a 403 or a Cloudflare challenge that no headless solver passes. The agent sees "blocked" and either gives up or, worse, asks for human intervention.
The soft block. The site lets the page load but serves a degraded experience — prices hidden, login form missing, key buttons replaced with dummies. The agent thinks it's seeing the real page. It clicks buttons that don't exist. It hallucinates outcomes. The user trusts the agent. The user gets wrong answers.
The drift. Everything works for the first thirty sessions. Then the site adapts, fingerprinting tightens, the IP pool gets flagged, and 80% of subsequent runs fail. Nothing in the agent's logs says why. Reliability silently collapses.
If you've shipped an agent that uses the open web at scale, you've seen all three.
What changed in 2024–2026
A few things happened in parallel that made this harder:
Cloudflare and PerimeterX got smarter. Their fingerprinting now includes mouse-movement timing, scroll cadence, even keypress intervals. A bot that clicks too quickly is caught even if everything else passes. They also share intel across customer sites — if your IP gets caught on one Cloudflare-protected domain, you're tagged on others within minutes.
DataDome and Akamai started shipping CDP-detection patches. Patchright, Playwright-stealth, and similar tools that worked great in 2023 started getting flagged in 2024. The arms race accelerated.
Residential proxies got commoditized. The good news: real residential IPs are now affordable. The bad news: every spammer can afford them too, so the anti-bot vendors started filtering proxy pools they recognize. Generic residential proxies have a half-life now.
LLM-driven agents went mainstream. Suddenly there were millions of agents trying to use the web programmatically. Anti-bot systems noticed.
The cumulative effect: any agent that needs to use the web in production needs more than "Playwright + a proxy." It needs an actual strategy for staying ahead of the detection curve.
What "real browser" actually means
Here's what we mean by "real" in residential, human-like, real-browser automation:
Real network
Not a datacenter IP, not a generic residential proxy pool, not a "datacenter proxy with residential tag." A real residential connection from a consumer ISP, in the country the target site expects the user to be in. Rotated, but stickily — so the same session uses the same IP for its entire flow.
This is the single biggest variable. If the network is wrong, nothing else matters.
Real fingerprint
Not "headless: false" with a random user agent. Real fingerprints mean consistent, plausible values for canvas, WebGL renderer, WebGL vendor, audio context, screen dimensions, font list, hardware concurrency, device memory, color depth — all matching what a real Chrome on a real Windows laptop would output. And consistent across the session: if the canvas hash changes between page loads, the fingerprint is broken.
Real input
Mouse movement that isn't a perfectly straight line at 200ms intervals. Scroll that doesn't always end at the exact bottom. Typing that has natural variance, including occasional backspaces and corrections. Click events that come after mousedown/mouseup events with realistic timing.
The most important detail: most "stealth" frameworks miss the keydown/keyup timing. If you send keypress events directly, that's a tell. Real users type via the OS input layer; agents need to simulate that.
Real DOM behavior
Not pre-clicking buttons before the page is fully loaded. Not skipping the carousel that real users have to navigate past. Not directly hitting the API the form is supposed to call. The agent has to interact with the page the way a person would — accepting the cookies banner, scrolling to the content, hovering before clicking.
Why "stealth Playwright" alone isn't enough
Open-source stealth patches help with the easy stuff — they make a headless browser look less obviously headless. But they only address the surface layer. The harder parts:
- Real residential routing: not solved by any open-source tool. Requires actual infrastructure.
- Behavioral patterns: most stealth patches add randomization, but the randomization itself becomes a fingerprint. Real human variance has structure.
- Session-level consistency: if your IP changes mid-flow, you're caught. If your fingerprint changes between page loads, you're caught. Most stealth tools don't manage session state.
- Anti-bot platform adaptation: when DataDome ships a new detection vector on Tuesday, your stealth patch needs to be updated by Wednesday. Open-source patches lag.
The path that worked for us: combine open-source stealth (patchright + camoufox + cdp-patches) with our own residential routing, our own input layer (OS-level mouse + keyboard simulation via xdotool on Linux containers), our own session-state management, and a daily monitoring loop that watches for new failure patterns across our entire fleet of sessions.
That stack is what became Human Browser.
What we measure
Three numbers matter:
-
Success rate on hostile sites. We track a baseline of 5–10 known-hard sites — sites with serious anti-bot — and measure success per session per day. If success drops below 80% on any one, the swarm investigates.
-
Tunnel-failure rate. When our proxy provider has an outage (it happens), our sessions fail with
ERR_TUNNEL_CONNECTION_FAILED. We track this separately from anti-bot failures because the fix is different (rotate provider vs adapt fingerprint). -
Cost per successful task. A task that succeeds but takes ten retries costs ten times as much. We optimize for first-attempt success because the LLM tokens for retries are expensive at scale.
For a public benchmark of how this stack compares to the alternatives across six different browser-automation engines and twelve hostile sites, see our open stealth benchmark on GitHub.
When you don't need this
Honest take: most agent use cases don't need this level of infrastructure. If you're scraping rotating-keyword Google searches at low volume, basic Playwright works. If you're building a personal assistant that browses logged-in sites for the user, you're using their session, not bypassing anti-bot.
You need real-browser infrastructure when:
- You're running agents at scale (thousands of sessions a day).
- You're hitting hostile sites (e-commerce checkouts, financial portals, ticketing, classifieds).
- You're building a B2B product where reliability is a feature.
- You're using LLM agents and reliability problems cascade into hallucinations.
For our swarm, all four are true at once. So we built the layer.
What's next
The frontier is computer-use models — Anthropic's Claude with computer use, OpenAI's Operator, the open-source UI-TARS family. These models drive a real screen, real cursor, real keyboard. They sidestep most anti-bot detection because there's no CDP, no Playwright signature, no JavaScript hooks. The cost is higher per task, and the reliability is still catching up, but the trajectory is clear.
We've been running computer-use models on top of Human Browser for about six months. The combination is the most reliable thing we've shipped: real-browser infrastructure handles the network and the stealth; the computer-use model handles the interaction. For the hardest sites — the ones that have eaten every CDP-based agent — this is what works.
Detailed write-up of that hybrid coming soon.
Read the full Human Browser docs, install it via npm i @virixlabs/humanbrowser, or see how the rest of our agent swarm works.
