Run Chromium- and Gecko-family browsers beyond the default named targets by providing explicit binary paths.
Test custom browser binaries (for example Brave, Vivaldi, or Waterfox) from the same Extension.js workflow. Extension.js supports custom browser executables through binary flags and extension.config.* in dev, start, and preview.
Use one of these flags:
--chromium-binary <path>--gecko-binary <path> (alias: --firefox-binary <path>)These binary flags override named browser selection at runner level.
| Option / key | What it does |
|---|---|
--chromium-binary <path> |
Launches a custom Chromium-family browser binary. |
--gecko-binary <path> |
Launches a custom Gecko-family browser binary. |
--firefox-binary <path> |
Alias of --gecko-binary. |
browser.<target>.chromiumBinary |
Sets default custom Chromium binary in config. |
browser.<target>.geckoBinary |
Sets default custom Gecko binary in config. |
commands.<name>.chromiumBinary |
Sets command-specific custom Chromium binary. |
commands.<name>.geckoBinary |
Sets command-specific custom Gecko binary. |
You can also use them with start and preview.
extension.config.*You can also place binary paths in command blocks:
Binary hints map to engine targets:
chromiumBinary -> chromium-basedgeckoBinary / firefoxBinary -> gecko-basedIf both are provided, Chromium binary resolution is applied first.
Common browsers you can run with binary flags:
| Browser Name | Type | CLI Flag | Official Website |
|---|---|---|---|
| Brave | Chromium-Based Browser | --chromium-binary |
brave.com |
| Opera | Chromium-Based Browser | --chromium-binary |
opera.com |
| Vivaldi | Chromium-Based Browser | --chromium-binary |
vivaldi.com |
| Waterfox | Gecko-Based Browser | --gecko-binary |
waterfox.net |
| Firefox Developer Edition | Gecko-Based Browser | --gecko-binary |
firefox.com |
chromium-based requires a valid chromiumBinary path.gecko-based / firefox-based require a valid geckoBinary path.build does not accept binary flags; binary-based launching applies to dev, start, and preview.--browser=chromium-based or --browser=gecko-based for predictable intent.