When we started kernel, we knew we wanted to build a company that was open source by default. Open source is fun. Open source is helpful. Open source is magical. So when we kicked off discussions on what to focus on in February, supporting open web standards like webdriver bidi felt like the obvious next step.
Today, we’re partnering with Jason Huggins—creator of Selenium, Appium, and now Vibium—to bring support for webdriver bidi, a W3C standard, to Kernel.
A brief history
Browser automation really kicked off with Selenium in 2004, which injected JavaScript into pages to simulate user actions. But it quickly ran into the limits of browser security.
WebDriver followed as a cleaner model: a separate “driver” process that talks to the browser over a native API, with each vendor shipping its own driver (chromedriver, geckodriver, and so on). In 2018, WebDriver became a W3C standard using an HTTP+JSON protocol, but it was strictly request-response: the client drives every interaction, and the browser can never push events unprompted.
Chrome DevTools Protocol (CDP) changed the model by switching to WebSockets, enabling bidirectional messaging and real-time events. Puppeteer (2017) and Playwright (2020) were built on top of CDP, but CDP itself is Chrome-specific, internal, and can change without warning. That’s not exactly the foundation you want for a web standard.
So the W3C asked: what if we combined the best of both worlds—bidirectional like CDP, standardized like WebDriver, and truly cross‑browser? That’s WebDriver BiDi.
Why this matters for Kernel (and Vibium)
Vibium is a brand-new browser automation framework for AI agents that is built on WebDriver BiDi. As of v26.3.9, any agent can now use Vibium to connect to Kernel and navigate pages, fill forms, click buttons, and take screenshots across 1 or 10,000 cloud browsers running in parallel. We’re really excited to keep working with Jason Huggins and to keep supporting open web standards. Stay tuned for more. In the meantime, check out our docs to get started.