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. Use binary flags andDocumentation Index
Fetch the complete documentation index at: https://extension.js.org/llms.txt
Use this file to discover all available pages before exploring further.
extension.config.* in dev, start, and preview.
How it works
Use one of these flags:--chromium-binary <path>--gecko-binary <path>(alias:--firefox-binary <path>)
Binary capabilities
| 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. |
CLI examples
start and preview.
Configure in extension.config.*
Target mapping behavior
Binary hints map to engine targets:chromiumBinary→chromium-basedgeckoBinary/firefoxBinary→gecko-based
Available browsers
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 |
| Firefox Developer Edition | Gecko-based browser | --gecko-binary | firefox.com |
Important constraints
chromium-basedrequires a validchromiumBinarypath.gecko-based/firefox-basedrequire a validgeckoBinarypath.- Invalid paths fail fast with a clear CLI/runtime error.
builddoes not accept binary flags. You can use binary-based launching only withdev,start, andpreview.
Best practices
- Pair binaries with explicit browser target: Use
--browser=chromium-basedor--browser=gecko-basedfor predictable intent. - Use absolute paths: Avoid shell-dependent path resolution issues.
- Version-pin in continuous integration (CI) runners: Keep browser binary paths deterministic for automated checks.
- Combine with profile/flags carefully: Reuse the same profile and flag strategy used for named browser targets.
Next steps
- Learn more about Browser preferences.
- Learn more about Browser profile.

