· via Cloudflare blog
Cloudflare open-sources Kitesurf, its stateless browser for AI agents on Workers
Cloudflare has released Kitesurf, its container-free browser engine for AI agents, under Apache 2.0, letting developers inspect, modify and self-host it on their own Cloudflare accounts.

Cloudflare has published the source code for Kitesurf, the stateless browser it built for AI agents, on GitHub under the Apache 2.0 license. According to the Cloudflare blog, developers can now read the code, change it, run it locally and deploy their own instance to Cloudflare Workers instead of relying on the managed Browser Run APIs the company offers.
The project first appeared in August, with a September update adding WebMCP support, new APIs and better compatibility. Cloudflare says open sourcing it was the plan all along, so developers could operate their own browser engine on their own accounts.
A browser without containers
Kitesurf runs entirely on Cloudflare Workers. According to Cloudflare, it handles HTML parsing, CSS application, page JavaScript execution and screenshot rendering without spinning up a browser container. It implements the Chrome DevTools Protocol (CDP), which means existing clients such as Puppeteer can connect to it directly, and agent harnesses can drive it over the same protocol.
The stated goal is to give AI agents a lighter-weight browser: one that loads websites, runs JavaScript and interacts with pages while using less CPU and memory than a full Chromium install, scaling on demand across Cloudflare's global Workers network.
Rust and WebAssembly under the hood
The engine is assembled from an ecosystem of open-source Rust packages compiled to WebAssembly. Blitz covers HTML parsing, the DOM, layout and painting. Stylo handles CSS parsing, cascading and computed styles. Boa executes JavaScript inside WebAssembly, and Cloudflare notes it is only a fallback for cases where JavaScript cannot run in Dynamic Workers. Linebender libraries provide text layout and 2D graphics, while Krilla generates PDF output. These dependencies keep their original licenses, with third-party notices collected in the repository's NOTICE file.
The codebase splits into three main components. The Engine manages browser sessions and client connections, PageScript executes the page and its JavaScript, and PageRenderer draws the final result. All of the packages, including the Rust core, DOM shims, renderer and the Kitesurf CLI, sit in separate folders under the repository's packages directory.
Running it yourself
Local development follows the usual pattern: clone the repository, install dependencies with pnpm and start the engine with its dev command. Cloudflare warns that the first build compiles the Rust core and its dependencies, so it takes a while, while later builds reuse the cache. Wrangler then serves a local development server on port 8787, which can be opened in Chrome DevTools or used programmatically, for example by connecting Puppeteer over a WebSocket endpoint or pointing an AI harness at the local CDP port.
Once tested locally, the engine can be deployed to a developer's own Cloudflare account. One requirement stands out: a Workers Paid plan is needed, because Kitesurf uses Dynamic Workers to create isolated Workers for individual pages.
Still early, and looking for contributors
Cloudflare cautions that Kitesurf is in rapid, active development, with current work focused on standards compatibility, tracked through Web Platform Tests, along with reliability and efficiency. Prospective contributors are asked to start with the contribution guidelines, open an issue with a minimal reproduction or a proposed approach, and get a maintainer's vouching before submitting a pull request. The company adds that contributions do not have to be code: a small page that reproduces a rendering bug, a failing automation workflow or a documentation correction all help. There is also a Discord server for anyone wanting to talk to the team.
Why it matters
Browser automation is one of the heaviest parts of agent infrastructure: running full Chromium instances is resource-intensive, and it is often the piece that breaks or gets expensive at scale. By open sourcing a browser that runs on Workers with no containers, Cloudflare gives teams a path to self-hosted agent browsing on infrastructure that scales globally and can be audited line by line. Apache 2.0 licensing plus CDP support keeps switching costs low, since existing Puppeteer-based tooling and agent harnesses can connect with minimal changes. The caveats are real, a paid Workers plan is required for deployment and web compatibility is still a moving target, but for anyone building browsing agents, the engine is now open to inspect, fork and improve.
- #cloudflare
- #open-source
- #ai-agents
- #browser
- #webassembly