To test an add-on you are developing, you will likely desire to install it in Firefox temporarily. You can do so by loading it as a Temporary Add-on. To do so:
The following animation shows loading an add-on named "aaaaaaaaaaaaaaaaaa - demo add-on" from
about:debugging and that the add-on then shows up in
As a Temporary Add-on, you can load either an unpacked add-on (a directory which contains all files for the add-on which you would pack into an .xpi file), or an add-on which is packed into an
.xpi archive. Temporary Add-ons do not need to be signed. Temporary Add-on remain installed until manually uninstalled, or Firefox restarts.
Mozilla documentation: Temporary Installation in Firefox
WebExtensions can be loaded as Temporary Add-ons. This can be done with the add-on files either unpacked, or packaged in an .xpi file.
You can not load a Firefox Add-on SDK extension as a temporary add-on without first packaging it into an .xpi file with
jpm xpi. In general, you will use
jpm run to test your Firefox Add-on SDK extension.
The files which are typically edited for an Add-on SDK extension do not make a complete extension without some additional wrapping functions and the package.json file being translated into an install.rdf file and, possibly, a chrome.manifest file. This process wraps the Add-on SDK extension into a Bootstrap/Restartless add-on, which is understood by Firefox. Without this process, Firefox will not be able to load the add-on. This process is performed by
jpm xpi resulting in a packed .xpi file. Executing
jpm run also performs this process, but stores the resulting files in a temporary location and invokes Firefox with the add-on installed.
Bootstrap/Restartless add-ons can be loaded as Temporary add-ons. This can be done with the add-on files either unpacked, or packaged in an .xpi file.
Legacy/Overlay/XUL add-ons can not be loaded as temporary add-ons.