preview does not compile your project. It loads an existing unpacked extension root and runs the browser launcher flow.
When to use preview
- Running existing build output without rebuilding.
- Comparing packaged behavior across browser targets quickly.
- Debugging runtime issues tied to production artifacts rather than dev/watch mode.
Preview command capabilities
previewis run-only. It prefersdist/<browser>when that output exists. You can also point it at another unpacked extension folder that already contains amanifest.json.
Usage
How preview chooses what to run
preview checks these locations in order:
dist/<browser>for the selected browser target.- The provided project path or current working folder.
manifest.json. It does not matter whether a build ran in the same command.
Arguments and flags
Automation metadata
preview writes readiness metadata to:
dist/extension-js/<browser>/ready.json
--no-browser flows, this provides deterministic command state:
startingwhile command initializesreadywhen run-only validation is completeerrorwhen required output is missing or startup failsrunIdandstartedAtfor session correlation in scripts/agents
preview does not provide a --wait gate flag. For preview automation, consume ready.json directly.
Logging flags
Shared global options
Also supports Global flags.Examples
Previewing a local extension
Previewing in Edge and Chrome
Preview without launching the browser
Behavior notes
previewis run-only and never compiles the project.previewprefers existing build output (dist/<browser>) but can fall back to another unpacked extension root.previewdoes not run watch mode or hot module replacement (HMR).- For scripts/agents, rely on
ready.jsonand avoid parsing terminal output.
Best practices
- Run
buildbeforepreviewwhen testing a fresh production artifact. - Pass the project path argument when your unpacked extension lives outside the default project output.
- Use
--browserto verify behavior across targets before packaging.
Next steps
- Build and launch in one step with
start. - Generate production artifacts with
build. - Configure shared defaults in
extension.config.js. - Review configuration env loading behavior in Environment variables.

