Add Mozilla Firefox Extension
Adds or updates a Mozilla Firefox extension using the ExtensionSettings policy stored as REG_MULTI_SZ in HKLM\SOFTWARE\Policies\Mozilla\Firefox. Supports merge behavior and optional global default policy.
Parameters
Section titled “Parameters”Extension ID
Section titled “Extension ID”Required
The ID of the Firefox extension to add. Extension IDs are email-like strings (e.g., [email protected]) or GUIDs with curly braces (e.g., {446900e4-71c2-419f-a6a7-df9c091e268b}). Find the ID at about:support under Extensions.
Installation Mode
Section titled “Installation Mode”Required — Default: Force Installed
Controls how the extension is handled. Allowed: users can install it. Blocked: users cannot install it and it is removed if already present. Force Installed: installs automatically, users cannot disable or remove it. Normal Installed: installs automatically, users can disable it. Allowed values: Allowed, Blocked, Force Installed, Normal Installed.
Install URL
Section titled “Install URL”Optional
The URL of the XPI file to install. Required for Force Installed and Normal Installed modes. For addons.mozilla.org use https://addons.mozilla.org/firefox/downloads/latest/ADDON_ID/latest.xpi. Also accepts file:/// paths for locally hosted XPI files.
Updates Disabled
Section titled “Updates Disabled”Optional — Default: Not Set
Choose whether automatic updates for this extension should be enabled, disabled, or left unchanged. Allowed values: Not Set, Disable Updates, Enable Updates.
Default Area
Section titled “Default Area”Optional — Default: Not Set
Where to place the extension icon by default. Not Set leaves the current placement unchanged. Allowed values: Not Set, Navbar, Menu Panel.
Private Browsing
Section titled “Private Browsing”Optional — Default: Not Set
Choose whether the extension should be enabled or disabled in private browsing, or leave unchanged. Allowed values: Not Set, Enable, Disable.
Temporarily Allow Weak Signatures
Section titled “Temporarily Allow Weak Signatures”Optional — Default: Not Set
Choose whether to allow installing extensions signed using deprecated signature algorithms, or leave unchanged. Allowed values: Not Set, Enable, Disable.
Set Global Default
Section titled “Set Global Default”Required — Default: False
Enable to configure the global ‘*’ ExtensionSettings policy block applied to all extensions without an explicit configuration.
Global Default Installation Mode
Section titled “Global Default Installation Mode”Optional — Default: Blocked
Installation mode for the global ‘*’ policy block when Set Global Default is enabled. Allowed values: Allowed, Blocked, Force Installed, Normal Installed.
Global Default Blocked Install Message
Section titled “Global Default Blocked Install Message”Optional
Optional custom message shown to users when extension installation is blocked. Applies only to the global ‘*’ block.
Global Default Restricted Domains
Section titled “Global Default Restricted Domains”Optional
Optional domains where content scripts from all extensions cannot run. Comma-separated. Applies only to the global ‘*’ block (e.g., example.com,intranet.contoso.com).
Global Default Install Sources
Section titled “Global Default Install Sources”Optional
Optional URL patterns from which extension installation is allowed. Comma-separated. Applies only to the global ‘’ block (e.g., https://yourwebsite.com/).
Global Default Allowed Types
Section titled “Global Default Allowed Types”Optional — Default: Not Configured
Optional extension package types that are allowed. Applies only to the global ‘*’ block. Select Not Configured to leave unchanged. Allowed values: Not Configured, extension, theme, dictionary, locale, sitepermission.
Remove Global Default
Section titled “Remove Global Default”Required — Default: False
Enable to remove the global ‘*’ policy block managed by this brick.
Details
Section titled “Details”- Category: Browser settings
- Brick ID:
Firefox-Add-Extension
Raw JSON definition
Section titled “Raw JSON definition”{ "category": "browserSettings", "description": "Adds or updates a Mozilla Firefox extension using the ExtensionSettings policy stored as REG_MULTI_SZ in HKLM\\SOFTWARE\\Policies\\Mozilla\\Firefox. Supports merge behavior and optional global default policy.", "developerVendor": "CapaSystems A/S", "displayName": null, "id": "Firefox-Add-Extension", "name": "Add Mozilla Firefox Extension", "parameters": [ { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "The ID of the Firefox extension to add. Extension IDs are email-like strings (e.g., [email protected]) or GUIDs with curly braces (e.g., {446900e4-71c2-419f-a6a7-df9c091e268b}). Find the ID at about:support under Extensions.", "id": "ExtensionID", "name": "Extension ID", "regExValidation": "", "required": true, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "force_installed", "name": "Force Installed" }, "description": "Controls how the extension is handled. Allowed: users can install it. Blocked: users cannot install it and it is removed if already present. Force Installed: installs automatically, users cannot disable or remove it. Normal Installed: installs automatically, users can disable it.", "id": "InstallationMode", "name": "Installation Mode", "regExValidation": "", "required": true, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "allowed", "name": "Allowed" }, { "id": "blocked", "name": "Blocked" }, { "id": "force_installed", "name": "Force Installed" }, { "id": "normal_installed", "name": "Normal Installed" } ] }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "The URL of the XPI file to install. Required for Force Installed and Normal Installed modes. For addons.mozilla.org use https://addons.mozilla.org/firefox/downloads/latest/ADDON_ID/latest.xpi. Also accepts file:/// paths for locally hosted XPI files.", "id": "InstallUrl", "name": "Install URL", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "not_set", "name": "Not Set" }, "description": "Choose whether automatic updates for this extension should be enabled, disabled, or left unchanged.", "id": "UpdatesDisabled", "name": "Updates Disabled", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "not_set", "name": "Not Set" }, { "id": "enable", "name": "Disable Updates" }, { "id": "disable", "name": "Enable Updates" } ] }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "not_set", "name": "Not Set" }, "description": "Where to place the extension icon by default. Not Set leaves the current placement unchanged.", "id": "DefaultArea", "name": "Default Area", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "not_set", "name": "Not Set" }, { "id": "navbar", "name": "Navbar" }, { "id": "menupanel", "name": "Menu Panel" } ] }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "not_set", "name": "Not Set" }, "description": "Choose whether the extension should be enabled or disabled in private browsing, or leave unchanged.", "id": "PrivateBrowsing", "name": "Private Browsing", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "not_set", "name": "Not Set" }, { "id": "enable", "name": "Enable" }, { "id": "disable", "name": "Disable" } ] }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "not_set", "name": "Not Set" }, "description": "Choose whether to allow installing extensions signed using deprecated signature algorithms, or leave unchanged.", "id": "TemporarilyAllowWeakSignatures", "name": "Temporarily Allow Weak Signatures", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "not_set", "name": "Not Set" }, { "id": "enable", "name": "Enable" }, { "id": "disable", "name": "Disable" } ] }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to configure the global '*' ExtensionSettings policy block applied to all extensions without an explicit configuration.", "id": "SetGlobalDefault", "name": "Set Global Default", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "blocked", "name": "Blocked" }, "description": "Installation mode for the global '*' policy block when Set Global Default is enabled.", "id": "GlobalDefaultInstallationMode", "name": "Global Default Installation Mode", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "allowed", "name": "Allowed" }, { "id": "blocked", "name": "Blocked" }, { "id": "force_installed", "name": "Force Installed" }, { "id": "normal_installed", "name": "Normal Installed" } ] }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional custom message shown to users when extension installation is blocked. Applies only to the global '*' block.", "id": "GlobalDefaultBlockedInstallMessage", "name": "Global Default Blocked Install Message", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional domains where content scripts from all extensions cannot run. Comma-separated. Applies only to the global '*' block (e.g., example.com,intranet.contoso.com).", "id": "GlobalDefaultRestrictedDomains", "name": "Global Default Restricted Domains", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional URL patterns from which extension installation is allowed. Comma-separated. Applies only to the global '*' block (e.g., https://yourwebsite.com/*).", "id": "GlobalDefaultInstallSources", "name": "Global Default Install Sources", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional extension package types that are allowed. Applies only to the global '*' block. Select Not Configured to leave unchanged.", "id": "GlobalDefaultAllowedTypes", "name": "Global Default Allowed Types", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" }, { "id": "extension", "name": "extension" }, { "id": "theme", "name": "theme" }, { "id": "dictionary", "name": "dictionary" }, { "id": "locale", "name": "locale" }, { "id": "sitepermission", "name": "sitepermission" } ] }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to remove the global '*' policy block managed by this brick.", "id": "RemoveGlobalDefault", "name": "Remove Global Default", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null } ], "powershell": { "base64Encoded": true, "function": "ZnVuY3Rpb2..." }, "type": "powerbrick", "version": "2026.9.1.1"}