HomeAIAI AgentsCloudflare Open-Sources Kitesurf, a Workers Browser for Agents

Cloudflare Open-Sources Kitesurf, a Workers Browser for Agents

Cloudflare has open-sourced Cloudflare Kitesurf, its experimental browser engine for AI agents, and published the code on GitHub under the Apache 2.0 licence. In a company blog post dated 13 November 2026, engineers Celso Martinho, Rui Figueira, Bernardo Pereira and Luís Duarte said the engine runs on Cloudflare Workers, talks to existing Chrome DevTools Protocol clients, and is meant to use less CPU and memory than a full browser such as Chromium.

The release is a code drop, not a generally available product. Cloudflare says a Workers Paid plan is required to deploy Kitesurf on its own network, because the engine uses Dynamic Workers, and that the project is under heavy development.

According to the post, Kitesurf “parses HTML, applies CSS, executes page JavaScript, and renders screenshots without a browser container.” It supports the Chrome DevTools Protocol (CDP), “so you can connect clients such as Puppeteer.” The GitHub repository describes the same design: an experimental engine that runs on Workers, with local development through wrangler dev. The README is slightly more specific than the blog about the container point, saying the engine renders screenshots “without Chrome or a browser container.”

Cloudflare first showed Kitesurf in August, describing it then as a stateless browser for AI agents that runs entirely on Workers, and added WebMCP support in September. The 13 November post presents the open-source release as the fulfilment of a commitment the company says it made on both earlier occasions, and is explicit about the licence terms:

Kitesurf is open source on GitHub under the Apache 2.0 license. You can read the code, run it locally, change it, and deploy your own instance to Cloudflare Workers.

The engine is split into three main parts, the company says: the Engine, which “manages browser sessions and client connections”; PageScript, which “runs the page and its JavaScript”; and PageRenderer, which “draws the result.” Under the hood it draws on a Rust and WebAssembly stack that includes the Blitz browser engine, the Stylo CSS engine, the Boa JavaScript engine, and the Linebender and Krilla rendering crates. On JavaScript, the blog is precise: “Boa runs JavaScript inside WebAssembly (as the last resort only when we can’t run JavaScript in Dynamic Workers).” The post also notes that those upstream projects retain their own licences, with third-party notices in the repository’s NOTICE file.

Self-hosting has a hard commercial caveat. The blog says: “Note that a Workers Paid plan is required because Kitesurf uses Dynamic Workers to create isolated Workers for pages.” The README states the same limit in different words: Dynamic Workers “are part of the Workers Paid plan,” local development uses wrangler dev, and “a Cloudflare Workers Paid plan is required to run Kitesurf on Cloudflare.” Anyone planning a private deployment on Cloudflare’s network therefore needs a paid Workers plan before the code will run there. Local wrangler dev, on the company’s account, does not carry that requirement.

The same sources also warn that the engine is unfinished. After inviting forks and contributions, the blog says “Kitesurf is under heavy development” and that the team is focusing on making it more compatible, reliable and efficient. Cloudflare’s stated goal is a browser that can load sites, run JavaScript and interact with pages “while using less CPU and memory than a full browser like Chromium,” and that can scale across the Workers network. The 13 November post does not publish comparative benchmarks against Chromium, and it does not present the engine as a finished replacement for Chromium-based agent browsers.

The open-source move sits alongside other recent Cloudflare work on developer tooling, including the tsrs Rust port of the TypeScript compiler that Cloudflare and VoidZero unveiled. For agent builders, a lighter Workers-native browser is meant to sit in the same general problem space as computer-use systems that already depend on a real browsing surface, such as Anchor’s Action Index, a shared memory of web workflows, and Anchor Browser’s work with AWS on x402-protected pages. Perplexity’s open-source SPACE sandbox is another recent attempt to give agents an isolated place to run.

A licence to read the code, not a free production runtime

Kitesurf’s interest for agent developers is practical. A Chromium container is heavy, and a Workers-native engine that already speaks CDP can, in principle, slot into existing Puppeteer scripts without a new client protocol. Cloudflare is explicit that this is the aim. It has not, in this post, shown latency, memory or cost figures that would let a reader judge whether the engine yet beats Chromium in production. Until those measurements appear, the performance claim is a design goal, not a result.

The paid-plan requirement is the other constraint that will matter more than the licence. Apache 2.0 lets a developer read, modify and redistribute the code. Deploying that code onto Cloudflare still requires Dynamic Workers, and therefore a Workers Paid plan. Teams that want a fully self-hosted path off Cloudflare’s network will have to do that work themselves; the 13 November materials do not document an official non-Workers production target.

The “heavy development” warning should be read literally. Cloudflare is publishing an experimental engine, not a support contract. Page compatibility, JavaScript coverage and screenshot fidelity are all open questions until independent tests appear. The Boa fallback is itself a signal that some JavaScript will not run in the preferred Dynamic Workers path.

The wider pattern is familiar. Agent companies have been assembling browser, sandbox and payment pieces so that software can act on the public web with less human supervision. Kitesurf is Cloudflare’s bid to put the browser piece on Workers, with an open licence and a paid runtime. Whether that combination is cheap or reliable enough for production agents is not answered by the source drop itself.

Sources

Related stories

Follow @tsnmediahub on X for breaking AI news as it happens.

Follow on X

Share this story

Latest stories

More in this category

Latest stories

Explore the TSN Atlas: Every topic we cover, mapped. Click a bubble to dive in.