command_executed and command_failed). Each event carries command, success, and version, and create runs add template and source. Coarse environment facts ride along (os, arch, node_major, is_ci, is_source_build).
Global flag capabilities
Global options
--format is a deprecated alias for --output. It still works, and the CLI prints a deprecation warning on stderr once per run. The same applies to the older --wait-format alias.
Flag misuse fails with a stable code: --no-reload outside dev and --no-browser outside dev/start/preview fail with E_FLAG_NOT_SUPPORTED_HERE. The removed --no-runner flag fails with E_REMOVED_FLAG, use --no-browser instead.
You can also set no-browser mode per command in extension.config.js with commands.<command>.noBrowser: true. The CLI flag wins when both are present.
--no-browser is the flag that stops the browser from launching. Do not confuse it with --no-open, which dev, start, and preview each declare. Under --no-open the browser still launches and loads your extension. Only the tab Extension.js would open for it is skipped. Full comparison on the dev page.
Optional boolean flags
Flags documented as[boolean] (for example, --polyfill, --zip, --zip-source, --silent, --wait, --install) accept an explicit value, so you can enable or disable them without a separate --no-* flag:
- A bare flag enables it:
extension dev --polyfill false,0,no, andoffdisable it:extension dev --polyfill falsetrue,1, andyesenable it:extension build --zip true
extension.config.* from the command line, or for passing a computed value in a script (extension build --zip "$SHOULD_ZIP").
Telemetry opt-out options
You can disable telemetry in three ways (listed in precedence order):EXTENSION_TELEMETRY_DISABLED=1 in continuous integration (CI) when policy requires no telemetry across all runs.
Practical examples
Disable telemetry for a CI build
Generate machine-readable help for tooling
Keep readable help output for local debugging
Behavior notes
- The CLI parses global flags before command-specific options.
- See
docs/TELEMETRY.mdin the Extension.js repository and Telemetry and privacy for telemetry behavior and privacy details. - Use
extension telemetry statusto check the current consent state. - Command pages document command-specific flags separately.
- You can combine global flags with command-specific options.
- Automated tools (AI assistants and CI scripts) should read command readiness from
dist/extension-js/<browser>/ready.json, not from terminal log parsing. See ready.json.

