Quick answer
Cloudflare Browser Run lets existing Puppeteer, Playwright, chrome-remote-interface, and other CDP clients opt into Kitesurf by adding browser=kitesurf to the DevTools WebSocket endpoint.
That establishes a transport path, not full Chromium parity. Kitesurf is beta, implements a growing CDP subset, and trades browser completeness for lower CPU and memory on compatible stateless agent tasks. Start with the Kitesurf readiness checker.
Connection contract
Use the Browser Run CDP endpoint for the target Cloudflare account, include the Kitesurf browser query parameter, and authenticate with a Browser Run API token. Keep the account ID and token in environment or secret storage rather than source, page content, logs, prompts, or screenshots.
Record the engine, endpoint, client and version, token scope, target, task, and request or session identifier. A successful WebSocket connection does not prove that a CDP command, page, or complete workflow is compatible.
Test the actual client surface
Build a small command inventory for the real workflow:
- navigation, redirects, cookies, headers, and authentication;
- DOM queries, frames, shadow DOM, and dynamic JavaScript;
- screenshots, PDFs, fonts, SVG, and visual acceptance;
- downloads, uploads, dialogs, popups, and network interception;
- timeouts, disconnects, retries, cancellation, and cleanup;
- tool actions, audit logs, and Chromium fallback.
Run the same versioned corpus against Kitesurf and Browser Run Chromium. Compare task success and output accuracy before CPU, memory, wall time, or price.
Make fallback explicit
Use Chromium for Cloudflare’s documented exclusions: video, WebGL, bot-challenge handshakes requiring real TLS fingerprints, and long authenticated sessions with persistent state. Also fall back when a required CDP command or site fails the acceptance bar.
Do not silently change engines when the policy, credential scope, target authorization, or data handling differs. Log the reason, require approval where consequential, and cap retries and spend.
For a complete engine choice, read Kitesurf vs. Chromium. For a test design, use the compatibility limits guide.
Frequently asked questions
How do I select Kitesurf on Browser Run CDP?
Add browser=kitesurf to the Browser Run DevTools WebSocket endpoint and authenticate with a scoped Browser Run API token.
Does CDP compatibility mean every Playwright or Puppeteer workflow works?
No. Cloudflare documents client compatibility, while Kitesurf implements a growing CDP subset and has browser-feature and site-compatibility differences from Chromium.
Should I keep a Chromium fallback?
Yes. Keep a tested, policy-aware Chromium path for incompatible sites, commands, rendering, video, WebGL, real-TLS challenges, and long authenticated stateful sessions.
Official sources
- Cloudflare: Kitesurf documentation
- Cloudflare: Browser Run CDP
- Cloudflare: Puppeteer
- Cloudflare: Playwright
Source check: August 12, 2026. Recheck beta status, endpoint syntax, token scope, clients, CDP coverage, limits, and pricing.