The chrome browser iconThe firefox browser iconThe edge browser icon

Browsers available

Run and test your extension across major browsers from one CLI workflow.

Validate one extension across Chrome, Edge, Firefox, and custom browser binaries from one command surface.

Choose the right target

Target Use when Example
chromium Fast default local development extension dev --browser=chromium
chrome Validating Chrome-specific behavior extension dev --browser=chrome
edge Validating Edge distribution behavior extension dev --browser=edge
firefox Validating Gecko compatibility and APIs extension dev --browser=firefox
chrome,firefox Release checks across both major engines extension build --browser=chrome,firefox
chromium-based Running custom Chromium binaries (Brave, Arc, etc.) extension dev --browser=chromium-based --chromium-binary=/path/to/browser
gecko-based Running custom Firefox-family binaries extension dev --browser=gecko-based --gecko-binary=/path/to/browser

How it works

Use --browser to select a target in dev, start, preview, and build.

If no browser is provided, CLI defaults to chromium.

Video demo soon: named browser targets

Supported browsers

Named browser targets:

Browser Usage
Chrome npx extension dev --browser=chrome
Edge npx extension dev --browser=edge
Firefox npx extension dev --browser=firefox
Chromium npx extension dev --browser=chromium

Engine-based targets (custom binary required):

Engine target Usage
Chromium-based npx extension dev --browser=chromium-based --chromium-binary=/path/to/browser
Gecko-based (firefox-based) npx extension dev --browser=gecko-based --gecko-binary=/path/to/browser

firefox-based is treated as a Gecko engine target internally.

Video demo soon: engine-based target binaries

Multi-browser selection

You can run multiple named browsers in one command:

npx extension dev --browser=chrome,firefox

Use comma-separated values to run multiple named targets in sequence (for example --browser=chrome,edge,firefox).

Video demo soon: multi-browser selection flow

Constraints and behavior

  • chromium-based requires --chromium-binary.
  • gecko-based / firefox-based require --gecko-binary.
  • Engine-based targets route to the same Chromium/Firefox runners with engine-aware behavior.

Best practices

  • Use named browsers for daily iteration: chrome, edge, and firefox are the fastest path for regular testing.
  • Use engine-based mode intentionally: Prefer chromium-based / gecko-based only when validating custom binaries.
  • Keep profiles isolated per browser: Reduce cross-browser state leakage while debugging.
  • Pair with browser-specific fields: Use browser-prefixed manifest keys for true behavior differences.

Next steps