Skip to main content
Use start when you want a production build and immediate browser launch in one command. The start command runs a production build first, then launches the built extension using the same flow as the preview command.

When to use start

  • Manually validating production behavior right after compilation.
  • Reproducing runtime differences between watch mode and production output.
  • Running a production-like check locally without a separate build then preview step.

Start command capabilities

How it differs from other commands

  • dev: dev server + hot module replacement (HMR)/watch mode
  • build: production build only
  • preview: launch an existing built extension without building
  • start: build + preview in sequence

Usage

If you omit the path, the command uses the current working folder.

Arguments and flags

Automation metadata

start writes readiness metadata to:
  • dist/extension-js/<browser>/ready.json
This is useful for automation when using --no-browser:
  • Wait for status: "ready" before launching external runners.
  • Handle status: "error" as a deterministic failure signal.
  • Use runId and startedAt to correlate a specific runtime session.

--no-browser and readiness synchronization

--no-browser only disables browser launch. It does not block external runners until the production build finishes. For production-oriented Playwright, continuous integration (CI), and AI workflows:
  1. Run extension start --no-browser as the producer process.
  2. Run extension start --wait --browser=<browser> as the readiness gate.
  3. Launch external browser automation only after status: "ready".
--wait exits non-zero on error/timeout and ignores stale contracts from dead processes (pid no longer alive). If you pass both --wait and --no-browser in the same invocation, --wait takes precedence. The command runs in wait-only mode.

Logging flags

Shared global options

Also supports Global flags.

Examples

Start with default browser

Start in Firefox

Build and skip browser launch

Behavior notes

  • start does not run a dev server and does not provide hot module replacement (HMR) or watch mode.
  • start is production-mode oriented; use dev for iterative local development.
  • For machine consumers, parse dist/extension-js/<browser>/ready.json instead of terminal text.

Next steps

  • Iterate quickly with dev.
  • Launch existing build output with preview.