macOS
brew install web-extlocal Homebrew formula metadata
sudo port install web-extMacPorts ports tree · devel/web-ext/Portfile · source: api.github.com
brew
Command-line tool to help build, run, and test web extensions. Version 10.4.0 via Homebrew; verified 2026-06-13.
install
brew install web-extlocal Homebrew formula metadata
sudo port install web-extMacPorts ports tree · devel/web-ext/Portfile · source: api.github.com
nix profile install nixpkgs#web-extnixpkgs package indexes · pkgs/by-name/we/web-ext/package.nix · source: api.github.com
overview
Command-line tool to help build, run, and test web extensions
history
web-ext is Mozilla's command-line tool for building, running, testing, packaging, and signing browser extensions. It grew out of Firefox's WebExtensions transition, giving add-on developers a repeatable CLI workflow around temporary installs, automatic reloads, linting, build artifacts, and submission to addons.mozilla.org.
Mozilla created the public web-ext repository and npm package in February 2016, while WebExtensions support was still stabilizing in Firefox. Mozilla's April 2016 add-ons blog described WebExtensions in Firefox 48 and pointed to web-ext as the command-line tool that would automate reloads during add-on development.
The 1.0.0 npm release landed in April 2016. By July 2016, Mozilla was already describing web-ext 1.0 as announced and following up with automatic extension reloading and source linting, two features that became central to the tool's everyday value.
The tool continued as part of Firefox Extension Workshop documentation rather than as an abandoned migration helper. By 2026, npm showed a long release history through the 10.x series, while the official command reference documented the current major-version command set.
web-ext became the standard Mozilla-supported CLI for WebExtension developers because it matches the repetitive tasks of extension work: run the extension in a temporary Firefox profile, watch files, reload after edits, package the source as a zip, and sign or submit builds for addons.mozilla.org.
The broader adoption story is tied to Firefox's move away from legacy extension systems toward the cross-browser WebExtensions model. Even when an extension targets multiple browsers, web-ext remains useful for Firefox-specific testing, AMO signing, Android extension testing, and making Firefox profile state disposable during development.
The common development loop is to change into an extension source directory and run `web-ext run`, which starts Firefox with the extension temporarily loaded and reloads it after source changes. When the extension is ready, `web-ext build` creates a package and `web-ext sign` can use addons.mozilla.org API credentials to produce or submit signed artifacts.
The tool also supports configuration files and package.json configuration, so teams can put source directories, ignore patterns, signing settings, and other options under version control or local developer configuration. This makes it a small but important bridge between browser-extension code and ordinary command-line build automation.
web-ext matters in package-manager culture because it turns a browser UI workflow into a scriptable developer tool. Installing it with npm, Homebrew, MacPorts, or Nix lets extension developers use the same shell habits they use for compilers, linters, and bundlers, while still targeting Firefox's extension runtime and AMO publishing requirements.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.jsonC:\Users\<username>\.web-ext-config.mjs.\web-ext-config.mjs.\.web-ext-config.cjs.\package.jsonCredential-bearing paths to review before unattended agent runs.
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.jsonC:\Users\<username>\.web-ext-config.mjs.\web-ext-config.mjs.\.web-ext-config.cjs.\package.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
web-ext | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/mozilla/web-ext
install metadata
| Package key | brew:web-ext |
|---|---|
| Version | 10.4.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/web-ext |
| Homepage | https://github.com/mozilla/web-ext |
| Repository | https://github.com/mozilla/web-ext |
| Upstream docs | https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext |
| License | MPL-2.0 |
| Source archive | https://registry.npmjs.org/web-ext/-/web-ext-10.4.0.tgz |
| Last updated | 2026-06-13T16:05:11Z |
| Pulse | updated |
| Dependencies | node, terminal-notifier |
| Bottle | available (on all) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | web-ext |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
web-ext
nix profile install nixpkgs#web-extweb-ext
sudo port install web-extsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.