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
buildthenpreviewstep.
Start command capabilities
How it differs from other commands
dev: dev server + hot module replacement (HMR)/watch modebuild: production build onlypreview: launch an existing built extension without buildingstart:build+previewin sequence
Usage
Arguments and flags
Automation metadata
start writes readiness metadata to:
dist/extension-js/<browser>/ready.json
--no-browser:
- Wait for
status: "ready"before launching external runners. - Handle
status: "error"as a deterministic failure signal. - Use
runIdandstartedAtto 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:
- Run
extension start --no-browseras the producer process. - Run
extension start --wait --browser=<browser>as the readiness gate. - 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
startdoes not run a dev server and does not provide hot module replacement (HMR) or watch mode.startis production-mode oriented; usedevfor iterative local development.- For machine consumers, parse
dist/extension-js/<browser>/ready.jsoninstead of terminal text.

