install to add a managed browser runtime into the Extension.js cache.
This is most useful when you want a consistent browser binary for dev, build, start, or preview. It supports Chrome for Testing, Chromium, Firefox, and Edge.
When to use install
- You need a consistent, repeatable browser binary for continuous integration (CI), automation, or team-consistent local runs.
- You want Chrome for Testing instead of relying on whatever Chrome version your system has installed.
- You are setting up cross-browser testing with managed Firefox or Edge runtimes.
Canonical usage
For a single browser, use the positional form:--browser only when you need multiple targets, browser families, or all.
Install command capabilities
| Capability | What it gives you |
|---|---|
| Managed browser cache | Stable install location under the Extension.js browser cache |
| Repeatable runtime | Consistent binaries for repeatable local runs and automation |
| Cross-browser setup | One command flow for Chrome, Chromium, Edge, and Firefox |
| Path discovery | --where reveals the resolved cache root or browser-specific install path |
Usage
Arguments and flags
| Flag / argument | What it does | Default |
|---|---|---|
[browser-name] | Install a single browser target such as chrome, chromium, edge, or firefox | chromium |
--browser <chrome|chromium|edge|firefox|chromium-based|gecko-based|firefox-based|all> | Override the positional browser name and support multi-target installs | unset |
--where | Print the resolved managed cache root, or browser-specific install path | disabled |
Examples
Install Chrome for Testing
Install multiple targets in one command
Show the managed install path for Chrome
Cache locations
By default, Extension.js stores managed browsers in a stable per-user cache:- macOS:
~/Library/Caches/extension.js/browsers - Linux:
~/.cache/extension.js/browsersor$XDG_CACHE_HOME/extension.js/browsers - Windows:
%LOCALAPPDATA%\extension.js\browsers
EXT_BROWSERS_CACHE_DIR.
Best practices
- Use
installin CI to pin a consistent browser binary instead of relying on whatever the runner provides. - Prefer
chromeoverchromiumfor Chrome for Testing — it matches stable Chrome behavior more closely. - Use
--whereto verify cache paths before scripting automation around managed browsers. installonly manages browsers inside the Extension.js cache. It does not modify system browser installs.
Behavior notes
chromeinstalls Chrome for Testing rather than relying on the system Google Chrome app.edgemay require a privileged interactive session on Linux.
Next steps
- Remove managed browsers with
uninstall. - Use managed browsers with
devandstart. - Learn about Running other browsers with custom binary paths.

