Skip to Content
Firefox CDP Support

CDP Support for Firefox

Firefox does not support Chrome DevTools Protocol (CDP). Firefox has its own automation protocols — Juggler (used by Playwright) and WebDriver BiDi (the emerging W3C standard). This means tools built for Chrome’s CDP — like Puppeteer, OpenClaw, and browser-use — cannot control Firefox directly.

Foxbridge adds CDP support to Firefox by translating CDP commands to Firefox’s native protocols in real-time.

The Protocol Gap

ProtocolChromeFirefox
CDPNativeNot supported → foxbridge adds it
WebDriver BiDiExperimentalNative (Firefox 129+)
JugglerNoYes (Playwright/Camoufox)

How Foxbridge Adds CDP to Firefox

Foxbridge runs as a proxy between your CDP tool and Firefox:

  1. Your tool connects to ws://localhost:9222 — a standard CDP WebSocket
  2. Foxbridge receives CDP commands (e.g., Page.navigate, Runtime.evaluate)
  3. Foxbridge translates each command to the equivalent Juggler or BiDi call
  4. Firefox executes the command
  5. Foxbridge translates the response back to CDP format

Coverage is tracked by foxbridge doctor, not by a fixed “fully implemented domains” count. Current main snapshot:

  • 662 upstream CDP methods in the bundled protocol snapshot
  • 89 implemented methods
  • 203 stubbed compatibility methods
  • 370 missing methods
  • 8 foxbridge-only extensions

The strongest covered areas today are DOM, Page, Target, Network, Fetch, Runtime, Input, Emulation, IO, and Performance. For the exact live method list, use CDP Domain Coverage or run foxbridge doctor --format json.

Two Backends

Foxbridge supports two Firefox protocols:

Juggler Backend (default)

For Camoufox and Playwright-compatible Firefox builds. Uses pipe transport (FD 3/4) with null-byte framed JSON. 74/74 Puppeteer tests passing.

foxbridge --binary /path/to/camoufox --port 9222 --headless

WebDriver BiDi Backend

For standard Firefox 129+. Uses WebSocket transport to Firefox’s native BiDi endpoint. 62/62 Puppeteer tests passing.

foxbridge --backend bidi --binary /path/to/firefox --port 9222 --bidi-port 9224 --headless

CDP Discovery Endpoints

Foxbridge serves the standard HTTP discovery endpoints that tools use to find the browser:

GET /json/version → {"Browser": "Camoufox/146.0", "webSocketDebuggerUrl": "ws://..."} GET /json/list → [{id, type, url, webSocketDebuggerUrl}] GET /json/new?url=.. → Creates a new page

What About Native BiDi?

Firefox 129+ supports WebDriver BiDi natively, but BiDi is a different protocol from CDP. Tools would need to be rewritten to use BiDi. Foxbridge lets existing CDP tools work immediately without any code changes.

Foxbridge (CDP→Firefox)Native BiDi
Existing Puppeteer codeWorks unchangedRequires rewrite
OpenClawWorksNot supported
Request interceptionFull (Fetch domain)Limited
Performance metricsFullNot available
Production readyYesEmerging

See also

Last updated on