Cloudflare just shipped an agent browser — and admitted the three things it can't do
Last week Cloudflare shipped Kitesurf — a browser purpose-built for AI agents. Built in 12 weeks, running on their global edge network's V8 isolates, no Chromium, free public beta.
Cloudflare is a $40B company. Their entry into this space says one thing: the bet that "agents need their own browser" has landed.
But I read their launch post a few times, because there was one passage that stood out. Roughly:
If you need to play video, render WebGL, handshake against anti-bot defenses with a real TLS fingerprint, or open a ten-minute authenticated session that needs persistent state — Kitesurf isn't the right tool. Use Chromium.
That passage matters to me because the things Kitesurf openly can't do are exactly what AginxBrowser has been built around from day one.
The bigger picture
Agents can write code, edit documents, run projects. But ask one to go look at the web, and it flails. Every tool it has falls short in a different way:
curlcan't get JS-rendered pages — SPAs come back as empty shells.- Search APIs return stale index snapshots, days old; prices and inventory changed long ago.
- Puppeteer / Playwright drag in a whole Chromium the server can't afford — and they're built for humans debugging, not for agents.
- Scraping services like Firecrawl are read-only: no login, no pagination, no clicking.
Agents don't need any one of these. Agents need all five at once: see, read, find, act, and just run.
AginxBrowser does exactly that. A single Rust binary with an embedded V8, no Chromium. systemd-guarded, HTTP API + MCP, one line to wire into Claude Code.
Humans have Chrome. Agents have AginxBrowser.
Here's the interesting part: Kitesurf and AginxBrowser are from the same lineage — both started from the obscura Rust headless engine, both use Blitz for HTML/CSS. The difference is the bet each made: Kitesurf built the lightest, cheapest browser it could. We built the one that does the things nobody else can.
The three things
1. Real TLS fingerprinting, through anti-bot defenses
Kitesurf says it doesn't do TLS fingerprint negotiation — which is inevitable, really: Cloudflare is the world's largest anti-bot vendor. They structurally can't ship a browser that spoofs fingerprints to defeat anti-bot systems. So Kitesurf's traffic always wears an honest "I am a bot" badge.
AginxBrowser is different. In stealth mode it reproduces the entire TLS handshake of Chrome145, Firefox133, Safari, and Edge via BoringSSL — not a User-Agent swap — switchable per request. Cloudflare's "Just a moment..." challenge is auto-waited for cf_clearance. Sites that 403 everyone else, we walk through.
This isn't a weakness. It's our turf.
2. Stateful, long-lived sessions
Kitesurf is stateless — fetch and discard. For anything needing a logged-in session, its own docs say "use Chromium."
AginxBrowser keeps a persistent session with 8-minute idle keep-alive. Inject cookies to start logged-in (session_create(cookies=...)), then export them when you're done (session_cookies). Login → paginate → act → act again; the chain never breaks.
One-shot engines can't do "log in first, then run a series of operations." This one can.
3. MCP-native, not CDP wrapped
Kitesurf's core is Chrome DevTools Protocol; wiring it into MCP means wrapping it with chrome-devtools-mcp.
AginxBrowser's 13 tools are MCP first-class citizens. One line into Claude Code, Cursor, or Claude Desktop — no DevTools protocol to learn first. Agents just pick it up and go.
What it's for
Not a demo — these are real things people do with an agent browser:
- Grinding through terrible admin consoles — AWS, App Store Connect, Google Play: clicking through dozens of menus to do one thing. Let the agent click; check back in when it needs your authorization.
- Batch operations behind login — filling a cart, digging up a receipt from order history, checking pages that only exist when authenticated.
- On-the-fly scripting — let the agent look at a page, write some JS, and
evalit: highlight comparison tables, re-layout content, filter by hidden parameters the site doesn't expose. GreaseMonkey-on-steroids. - China's internet — Baidu, Sogou, WeChat official accounts: 5-engine aggregated search plus correct CJK rendering, not an English-only view of the web.
Honest caveats
Don't just take the good parts:
- The built-in Blitz renderer is still beta. Complex-site CSS is approximate, not Chromium pixel-perfect. Screenshots are usable, but don't expect byte-for-byte Chrome parity.
- Element coordinates are in —
/screenshotwithselectorreturnsselector_rects(CSS-px page coordinates) and can crop straight to an element; coordinate-based clicking isn't wired up yet, interaction is still JSclick(). - The hardest sites (e.g. Baidu Wenku) aren't supported yet.
- Apache-2.0, single binary, runs on any machine you like, locked to no cloud — which Kitesurf can't say even open-sourced, since it only deploys into your own Cloudflare account.
One line to plug in
Kitesurf validated the direction and conceded the three hardest mountains. AginxBrowser holds them.
claude mcp add aginxbrowser --transport http https://browser.aginx.net/mcp
Use the hosted instance at browser.aginx.net — or self-host from github.com/yinnho/aginxbrowser.
The agent internet is taking shape. Putting eyes and hands on every agent — that's the job we took.
Try it Open source on GitHub