Skip to content

Using Firefox

Vibium launches Chrome by default. Firefox is supported as an alternative engine, using Firefox’s native WebDriver BiDi — no driver binary involved.

Terminal window
vibium install --engine firefox

Firefox installs into the Vibium cache next to Chrome for Testing. The binary auto-installs the selected engine on first launch on macOS and Linux, so the CLI, MCP, and every client get it for free. On Windows, Firefox auto-install is not available: install Firefox yourself and point VIBIUM_ENGINE_PATH at firefox.exe.

Every CLI command accepts --engine, or set it once with VIBIUM_ENGINE=firefox:

Terminal window
vibium start --engine firefox

The clients have a named launcher and an engine option:

import { firefox, browser } from 'vibium'
const bro = await firefox.start()
// equivalent: await browser.start({ engine: 'firefox' })
from vibium import firefox
bro = firefox.start()
Browser bro = Vibium.start(new StartOptions().engine("firefox"));

MCP — browser_start takes an engine argument (chrome or firefox) and an optional channel.

--channel beta (or VIBIUM_ENGINE_CHANNEL=beta) selects the Firefox beta. Each channel is cached separately and only the selected one runs, so an installed beta never shadows stable.

On nightly builds, channels extend to Chrome (stable, beta, dev, canary); without a pin, the default channels install the known-good browser version baked into the Vibium release, so a browser update cannot break installs before Vibium has tested it; and VIBIUM_ENGINE_VERSION pins an exact version — useful for keeping CI fleets on one version until you move the pin.

VariableEffect
VIBIUM_ENGINEDefault engine (chrome or firefox) when --engine is not given
VIBIUM_ENGINE_PATHUse this Firefox executable instead of the Vibium cache (Firefox only)
VIBIUM_ENGINE_CHANNELChannel to install and run, same as --channel
VIBIUM_ENGINE_VERSIONPin the exact version to install and run (e.g. 153.0.4)

Almost everything works identically on both engines: navigation, elements, input, screenshots, dialogs, network events, downloads, storage, and trace recording. The notable differences:

  • Native video recording requires Firefox 154+ — Chrome has not implemented the BiDi screencast command yet. See Recording.
  • PDF printing output may differ between engines.