Add Google Chrome Extension
Adds or updates one or more Google Chrome extensions using the ExtensionSettings policy. Supports merge behavior, global default policy, optional legacy ExtensionInstallForcelist updates, and advanced extension restrictions.
Parameters
Section titled “Parameters”Extension ID
Section titled “Extension ID”Required
The ID of the Chrome extension to add. Find the extension ID in the Chrome Web Store URL (e.g., aapocclcgogkmnckokdopfmhonfmgoek for Google Docs Offline).
Installation Mode
Section titled “Installation Mode”Required — Default: Force Installed
Controls how the extension is handled. Allowed: users can install it themselves, and it is not installed automatically. Blocked: users cannot install it, but a copy that is already installed is left on the machine. Removed: users cannot install it, and it is uninstalled if it is already present. Force Installed: it is installed automatically without asking the user, and users cannot disable or remove it. Normal Installed: it is installed automatically without asking the user, but users can disable it. Force Installed and Normal Installed require an Update URL. Allowed values: Allowed, Blocked, Force Installed, Normal Installed, Removed.
Update URL
Section titled “Update URL”Optional — Default: https://clients2.google.com/service/update2/crx
Specifies the extension update URL. For Chrome Web Store use https://clients2.google.com/service/update2/crx.
Minimum Version Required
Section titled “Minimum Version Required”Optional
Optional minimum extension version required before installation is accepted.
Override Update URL
Section titled “Override Update URL”Optional — Default: Not Set
Choose whether override_update_url should be enabled, disabled, or left unchanged. Allowed values: Not Set, Enable, Disable.
Toolbar Pin
Section titled “Toolbar Pin”Optional — Default: Not Set
Choose whether toolbar_pin should be force_pinned, default_unpinned, or left unchanged. Allowed values: Not Set, Force Pinned, Default Unpinned.
Blocked Permissions
Section titled “Blocked Permissions”Optional — Default: Not Configured
Optional permissions to block for the selected extensions. Allowed values: Not Configured, tabs, history, bookmarks.
Allowed Permissions
Section titled “Allowed Permissions”Optional — Default: Not Configured
Optional permissions to explicitly allow for the selected extensions. Allowed values: Not Configured, tabs, history, bookmarks.
Runtime Blocked Hosts
Section titled “Runtime Blocked Hosts”Optional — Default: Not Configured
Optional host patterns the extension is not allowed to modify. Allowed values: Not Configured, *://*.facebook.com/*, *://*.youtube.com/*.
Runtime Allowed Hosts
Section titled “Runtime Allowed Hosts”Optional — Default: Not Configured
Optional host patterns where the extension is allowed to run. Allowed values: Not Configured.
Allowed Types
Section titled “Allowed Types”Optional — Default: Not Configured
Optional extension package types that are allowed. Chrome’s ExtensionSettings schema only supports this on the global default (‘*’) entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID. Allowed values: Not Configured, extension, theme, hosted_app.
Install Sources
Section titled “Install Sources”Optional — Default: Not Configured
Optional install sources allowed for off-store extension packages. Chrome’s ExtensionSettings schema only supports this on the global default (‘*’) entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID. Allowed values: Not Configured, https://*/*, file://*.
Blocked Install Message
Section titled “Blocked Install Message”Optional
Optional custom message shown when extension installation is blocked. Maximum length is 1000 characters.
Clear Restriction Settings
Section titled “Clear Restriction Settings”Required — Default: False
Enable to remove blocked and allowed permissions, host restrictions, allowed types, and install sources before applying new values.
Clear Blocked Install Message
Section titled “Clear Blocked Install Message”Required — Default: False
Enable to remove blocked_install_message before applying a new message value.
Set Global Default
Section titled “Set Global Default”Required — Default: False
Enable to configure the global ‘*’ ExtensionSettings policy block.
Global Default Installation Mode
Section titled “Global Default Installation Mode”Optional — Default: Blocked
Installation mode applied to every extension that is not configured individually, used only when Set Global Default is enabled. Allowed: users can install any extension. Blocked: users cannot install extensions, but extensions that are already installed are left on the machine. Removed: users cannot install extensions, and installed ones are uninstalled. Force Installed and Normal Installed are not meaningful here, because there is no single extension to install. Blocked is the usual choice: block everything by default and add an Allowed or Force Installed entry for each extension you want to permit. Allowed values: Allowed, Blocked, Force Installed, Normal Installed, Removed.
Global Default Update URL
Section titled “Global Default Update URL”Optional
Optional update URL for the global ‘*’ block.
Remove Global Default
Section titled “Remove Global Default”Required — Default: False
Enable to remove the global ‘*’ policy block that this brick manages.
Update Legacy Forcelist
Section titled “Update Legacy Forcelist”Required — Default: False
Enable to keep the legacy ExtensionInstallForcelist in sync for backward compatibility.
Legacy Forcelist Update URL
Section titled “Legacy Forcelist Update URL”Optional — Default: https://clients2.google.com/service/update2/crx
Update URL used when writing legacy ExtensionInstallForcelist values.
Details
Section titled “Details”- Category: Browser settings
- Brick ID:
Chrome-Add-Extension
Raw JSON definition
Section titled “Raw JSON definition”{ "category": "browserSettings", "description": "Adds or updates one or more Google Chrome extensions using the ExtensionSettings policy. Supports merge behavior, global default policy, optional legacy ExtensionInstallForcelist updates, and advanced extension restrictions.", "developerVendor": "CapaSystems A/S", "displayName": null, "id": "Chrome-Add-Extension", "name": "Add Google Chrome Extension", "parameters": [ { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "The ID of the Chrome extension to add. Find the extension ID in the Chrome Web Store URL (e.g., aapocclcgogkmnckokdopfmhonfmgoek for Google Docs Offline).", "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 themselves, and it is not installed automatically. Blocked: users cannot install it, but a copy that is already installed is left on the machine. Removed: users cannot install it, and it is uninstalled if it is already present. Force Installed: it is installed automatically without asking the user, and users cannot disable or remove it. Normal Installed: it is installed automatically without asking the user, but users can disable it. Force Installed and Normal Installed require an Update URL.", "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" }, { "id": "removed", "name": "Removed" } ] }, { "allowManualInput": false, "defaultValue": "https://clients2.google.com/service/update2/crx", "defaultValueObject": null, "description": "Specifies the extension update URL. For Chrome Web Store use https://clients2.google.com/service/update2/crx.", "id": "UpdateUrl", "name": "Update URL", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional minimum extension version required before installation is accepted.", "id": "MinimumVersionRequired", "name": "Minimum Version Required", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": null, "defaultValueObject": { "id": "not_set", "name": "Not Set" }, "description": "Choose whether override_update_url should be enabled, disabled, or left unchanged.", "id": "OverrideUpdateUrl", "name": "Override Update URL", "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 toolbar_pin should be force_pinned, default_unpinned, or left unchanged.", "id": "ToolbarPin", "name": "Toolbar Pin", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "not_set", "name": "Not Set" }, { "id": "force_pinned", "name": "Force Pinned" }, { "id": "default_unpinned", "name": "Default Unpinned" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional permissions to block for the selected extensions.", "id": "BlockedPermissions", "name": "Blocked Permissions", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" }, { "id": "tabs", "name": "tabs" }, { "id": "history", "name": "history" }, { "id": "bookmarks", "name": "bookmarks" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional permissions to explicitly allow for the selected extensions.", "id": "AllowedPermissions", "name": "Allowed Permissions", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" }, { "id": "tabs", "name": "tabs" }, { "id": "history", "name": "history" }, { "id": "bookmarks", "name": "bookmarks" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional host patterns the extension is not allowed to modify.", "id": "RuntimeBlockedHosts", "name": "Runtime Blocked Hosts", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" }, { "id": "*://*.facebook.com/*", "name": "*://*.facebook.com/*" }, { "id": "*://*.youtube.com/*", "name": "*://*.youtube.com/*" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional host patterns where the extension is allowed to run.", "id": "RuntimeAllowedHosts", "name": "Runtime Allowed Hosts", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional extension package types that are allowed. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID.", "id": "AllowedTypes", "name": "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": "hosted_app", "name": "hosted_app" } ] }, { "allowManualInput": true, "defaultValue": null, "defaultValueObject": { "id": "NotConfigured", "name": "Not Configured" }, "description": "Optional install sources allowed for off-store extension packages. Chrome's ExtensionSettings schema only supports this on the global default ('*') entry, so it only takes effect when SetGlobalDefault is enabled; it is ignored for a specific ExtensionID.", "id": "InstallSources", "name": "Install Sources", "regExValidation": "", "required": false, "type": "MultiSelectComboBox", "value": null, "values": [], "valuesObject": [ { "id": "NotConfigured", "name": "Not Configured" }, { "id": "https://*/*", "name": "https://*/*" }, { "id": "file://*", "name": "file://*" } ] }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional custom message shown when extension installation is blocked. Maximum length is 1000 characters.", "id": "BlockedInstallMessage", "name": "Blocked Install Message", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to remove blocked and allowed permissions, host restrictions, allowed types, and install sources before applying new values.", "id": "ClearRestrictionSettings", "name": "Clear Restriction Settings", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to remove blocked_install_message before applying a new message value.", "id": "ClearBlockedInstallMessage", "name": "Clear Blocked Install Message", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to configure the global '*' ExtensionSettings policy block.", "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 applied to every extension that is not configured individually, used only when Set Global Default is enabled. Allowed: users can install any extension. Blocked: users cannot install extensions, but extensions that are already installed are left on the machine. Removed: users cannot install extensions, and installed ones are uninstalled. Force Installed and Normal Installed are not meaningful here, because there is no single extension to install. Blocked is the usual choice: block everything by default and add an Allowed or Force Installed entry for each extension you want to permit.", "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" }, { "id": "removed", "name": "Removed" } ] }, { "allowManualInput": false, "defaultValue": "", "defaultValueObject": null, "description": "Optional update URL for the global '*' block.", "id": "GlobalDefaultUpdateUrl", "name": "Global Default Update URL", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to remove the global '*' policy block that this brick manages.", "id": "RemoveGlobalDefault", "name": "Remove Global Default", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "False", "defaultValueObject": null, "description": "Enable to keep the legacy ExtensionInstallForcelist in sync for backward compatibility.", "id": "UpdateLegacyForcelist", "name": "Update Legacy Forcelist", "regExValidation": "", "required": true, "type": "Boolean", "value": null, "values": [], "valuesObject": null }, { "allowManualInput": false, "defaultValue": "https://clients2.google.com/service/update2/crx", "defaultValueObject": null, "description": "Update URL used when writing legacy ExtensionInstallForcelist values.", "id": "LegacyForcelistUpdateUrl", "name": "Legacy Forcelist Update URL", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null } ], "powershell": { "base64Encoded": true, "function": "ZnVuY3Rpb2..." }, "type": "powerbrick", "version": "2026.9.1.1"}