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
| Protocol | Chrome | Firefox |
|---|---|---|
| CDP | Native | Not supported → foxbridge adds it |
| WebDriver BiDi | Experimental | Native (Firefox 129+) |
| Juggler | No | Yes (Playwright/Camoufox) |
How Foxbridge Adds CDP to Firefox
Foxbridge runs as a proxy between your CDP tool and Firefox:
- Your tool connects to
ws://localhost:9222— a standard CDP WebSocket - Foxbridge receives CDP commands (e.g.,
Page.navigate,Runtime.evaluate) - Foxbridge translates each command to the equivalent Juggler or BiDi call
- Firefox executes the command
- 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 --headlessWebDriver 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 --headlessCDP 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 pageWhat 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 code | Works unchanged | Requires rewrite |
| OpenClaw | Works | Not supported |
| Request interception | Full (Fetch domain) | Limited |
| Performance metrics | Full | Not available |
| Production ready | Yes | Emerging |
See also
- Quick Start — Install foxbridge and connect in 2 minutes
- CDP Domain Coverage — Full list of implemented methods
- BiDi Backend — WebDriver BiDi backend details
- Juggler Backend — Juggler backend details
- How-To Guides — Common tasks and recipes