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.
| 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 |
Use --browser to select a target in dev, start, preview, and build.
If no browser is provided, CLI defaults to chromium.
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.
You can run multiple named browsers in one command:
Use comma-separated values to run multiple named targets in sequence (for example --browser=chrome,edge,firefox).
chromium-based requires --chromium-binary.gecko-based / firefox-based require --gecko-binary.chrome, edge, and firefox are the fastest path for regular testing.chromium-based / gecko-based only when validating custom binaries.