# 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.

Source: https://docs.capaone.com/capaone/application-manager/powerbricks/add-mozilla-firefox-extension/  
Product: CapaOne — a separate CapaSystems product; do not apply this page to any other.

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

#### Extension ID
*Required*

The ID of the Firefox extension to add. Extension IDs are email-like strings (e.g., `uBlock0@raymondhill.net`) or GUIDs with curly braces (e.g., `{446900e4-71c2-419f-a6a7-df9c091e268b}`). Find the ID at about:support under Extensions.

#### 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
*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
*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
*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
*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
*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
*Required* — Default: `False`

Enable to configure the global '*' ExtensionSettings policy block applied to all extensions without an explicit configuration.

#### 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
*Optional*

Optional custom message shown to users when extension installation is blocked. Applies only to the global '*' block.

#### 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
*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
*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
*Required* — Default: `False`

Enable to remove the global '*' policy block managed by this brick.

## Details

- **Category:** Browser settings
- **Brick ID:** `Firefox-Add-Extension`

## Raw JSON definition

**JSON**

```json
{
  "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., uBlock0@raymondhill.net) 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"
}
```
