Cloudflare has open-sourced Kitesurf, its experimental browser engine built for AI agents, and released the code under the Apache 2.0 license. The engine runs on Cloudflare Workers and is positioned as a lighter alternative to full Chromium for agent tasks that only need to read pages, run their scripts and act on the results. Cloudflare announced the release on November 13, 2026. The project first appeared in August, and the open-source move lets developers inspect, modify and self-host it.

What Kitesurf Does

Kitesurf is a stateless browser engine. It parses HTML, applies CSS, executes page JavaScript and produces screenshots without launching a browser container. Cloudflare describes it as stateless and built to scale on demand across its network, which fits how Workers run code. The company presents that design as a route to lower CPU and memory use than a full Chromium deployment.

Cloudflare's stated goal is lower CPU and memory use than Chromium. The announcement does not publish a headline performance figure, and the company is clear that Kitesurf is not a complete Chrome implementation. Pages that rely on features the engine does not yet support may not render or behave as they would in Chrome.

Compatibility with existing automation is a central design choice. Kitesurf exposes the Chrome DevTools Protocol, so clients such as Puppeteer can connect to it, and agent harnesses that already speak that protocol have a path to try it. That choice lowers the cost of trying the engine, because existing automation scripts may need only a changed endpoint.

The engine is assembled from several open components. According to Cloudflare's description, Blitz handles HTML, the DOM, layout and painting, while Stylo handles CSS. Boa, a JavaScript engine compiled to WebAssembly, is used only as a last resort when page scripts cannot run inside Dynamic Workers. The code is organized into three main parts, called Engine, PageScript and PageRenderer.

Running It Yourself

The repository can be run locally or deployed to a developer's own Cloudflare account. Local development requires Bazelisk, Node.js 22 or newer and pnpm 9.15.4, and the dev server listens on 127.0.0.1:8787. The first build compiles the Rust core, which takes a while, so expect a slow initial run.

Cloudflare hosting carries a cost requirement. Kitesurf uses Dynamic Workers to create an isolated Worker for each page, so deploying to your own account requires a Workers Paid plan.

A Security Caveat Worth Reading Twice

The most important practical warning concerns access control. The engine has no built-in authentication, and its workers.dev address is public by default. Anyone who learns that URL could browse through the engine, connect CDP clients to it and trigger work that consumes the operator's resources, including paid CPU time and Dynamic Workers usage.

Operators should place Cloudflare Access or another authentication layer in front of any deployment before exposing it. That step is not optional for a tool designed to make requests on behalf of agents, because those agents can be pointed at arbitrary sites.

Where It Fits in the Agent Stack

Agent builders currently choose between two broad options for web access. They can run a headless Chromium instance, which offers near-complete compatibility but carries heavy memory and CPU costs, or they can call a managed browsing API that hides the browser behind a vendor's service. Kitesurf sits between those choices. It gives teams a browser-like engine they can run on infrastructure they control, with a protocol interface that existing tools already understand.

That middle path has trade-offs. Teams gain control over where pages are rendered and how requests are logged, which matters for compliance and for debugging agent behavior. They also take on the work of checking compatibility, because a lighter engine will not reproduce every quirk of Chrome. A practical evaluation would run the same set of pages through both engines and record which flows break, how long each step takes and what each run costs in Workers usage.

The open license adds another option. Developers can read the code to understand how page scripts are isolated, patch problems they find, or fork the engine for internal use. For security reviewers, source access makes it possible to audit the rendering pipeline rather than trusting a black box.

Maturity and Limits

Cloudflare still labels Kitesurf experimental. The company says the project is under heavy development, with work focused on compatibility, reliability and efficiency. That status means the release is best treated as a foundation to evaluate rather than a production-ready browser stack.

Developers should test Kitesurf against the specific pages their agents visit. Compatibility gaps are the most likely failure mode, and they will show up in scripted flows long before they show up in documentation.

Why It Matters

Agents increasingly need to read and act on the web, and running a full browser for every step is costly and hard to scale. An open engine built for serverless infrastructure gives teams a way to inspect how their agents see pages, audit what the engine executes and decide where that work runs. Open licensing also lets outside developers extend the code instead of depending on a single vendor's roadmap.

The release also reflects a broader pattern. Infrastructure providers are packaging agent-specific primitives, not only models, and browsers are becoming one of those primitives. For developers, the practical questions are whether a lighter engine handles the pages they automate and whether they can secure a public endpoint before trying it.

Sources