Skip to main content
Use 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:
Use --browser only when you need multiple targets, browser families, or all.

Install command capabilities

Usage

Arguments and flags

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/browsers or $XDG_CACHE_HOME/extension.js/browsers
  • Windows: %LOCALAPPDATA%\extension.js\browsers
You can override the cache root with EXT_BROWSERS_CACHE_DIR.

Best practices

  • Use install in CI to pin a consistent browser binary instead of relying on whatever the runner provides.
  • Prefer chrome over chromium for Chrome for Testing: it matches stable Chrome behavior more closely.
  • Use --where to verify cache paths before scripting automation around managed browsers.
  • install only manages browsers inside the Extension.js cache. It does not modify system browser installs.

Behavior notes

  • chrome installs Chrome for Testing rather than relying on the system Google Chrome app.
  • edge may require a privileged interactive session on Linux.

Next steps