Skip to content

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.

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

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.

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.

Optional

Optional minimum extension version required before installation is accepted.

Optional — Default: Not Set

Choose whether override_update_url should be enabled, disabled, or left unchanged. Allowed values: Not Set, Enable, Disable.

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.

Optional — Default: Not Configured

Optional permissions to block for the selected extensions. Allowed values: Not Configured, tabs, history, bookmarks.

Optional — Default: Not Configured

Optional permissions to explicitly allow for the selected extensions. Allowed values: Not Configured, tabs, history, bookmarks.

Optional — Default: Not Configured

Optional host patterns the extension is not allowed to modify. Allowed values: Not Configured, *://*.facebook.com/*, *://*.youtube.com/*.

Optional — Default: Not Configured

Optional host patterns where the extension is allowed to run. Allowed values: Not Configured.

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.

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://*.

Optional

Optional custom message shown when extension installation is blocked. Maximum length is 1000 characters.

Required — Default: False

Enable to remove blocked and allowed permissions, host restrictions, allowed types, and install sources before applying new values.

Required — Default: False

Enable to remove blocked_install_message before applying a new message value.

Required — Default: False

Enable to configure the global ‘*’ ExtensionSettings policy block.

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.

Optional

Optional update URL for the global ‘*’ block.

Required — Default: False

Enable to remove the global ‘*’ policy block that this brick manages.

Required — Default: False

Enable to keep the legacy ExtensionInstallForcelist in sync for backward compatibility.

Optional — Default: https://clients2.google.com/service/update2/crx

Update URL used when writing legacy ExtensionInstallForcelist values.

  • Category: Browser settings
  • Brick ID: Chrome-Add-Extension
{
"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"
}