Safeguard
Security Guides•

Which extension policy wins in Chrome, Edge and Firefox?

Chrome and Edge let ExtensionSettings override older install lists, and force-install beats the blocklist. Firefox uses its own modes. A short cheat sheet.

Safeguard Security Team
3 min read

In Chrome and Edge, the ExtensionSettings policy can override the older install lists, and force-install beats the blocklist. Firefox has its own ExtensionSettings with four modes. If two settings disagree, check which policy is newer and which one is documented to win before you assume anything.

What each vendor documents

Chrome. The ExtensionSettings definition says the policy can override per-extension configuration from legacy policies, and that a per-ID setting from the force, allow or block lists will inherit only the installation mode, with details in the policy text. The ExtensionInstallForcelist definition says it supersedes ExtensionInstallBlocklist.

Edge. Microsoft states that ExtensionSettings can overwrite other policies you have set, including ExtensionAllowedTypes, ExtensionInstallBlocklist, ExtensionInstallForcelist, ExtensionInstallSources and ExtensionInstallAllowlist. Force-installing also overwrites any enabled blocklist.

Firefox. Mozilla's ExtensionSettings uses per-ID entries with an installation mode, plus a * default. In *, only allowed or blocked are accepted.

Side by side

TopicChromeEdgeFirefox
Per-extension settings policyExtensionSettingsExtensionSettingsExtensionSettings
Modesblocked, allowed, force_installed, normal_installed, removedSame family of fields, see Microsoft's referenceallowed, blocked, force_installed, normal_installed
Force beats blocklistYes, per the force-list definitionYes, per MicrosoftNot applicable, modes are per ID
Can override legacy listsYesYes, per MicrosoftNot applicable
Custom blocked messageblocked_install_messageCheck the reference guideblocked_install_message

We did not confirm every Edge field name, so use Microsoft's reference guide for the exact list.

How to avoid surprises

  1. Pick one primary policy. Manage extensions through ExtensionSettings and avoid mixing in the legacy lists, unless you have a reason.
  2. Search for duplicates. If an ID appears in two places, resolve it.
  3. Test the outcome. On a pilot machine, open the browser's policy page and the extensions page to see what was applied.
  4. Record the winner. If you must keep an exception, write down which policy is meant to apply.
  5. Retest after upgrades. Browser releases change behavior, as shown by the version-specific notes in the definitions.

Where precedence bites

  • A forced extension that you also listed as blocked still installs in Chrome and Edge.
  • A rule written in the legacy allow list may be overridden by the newer settings policy.
  • A wildcard default in ExtensionSettings affects every extension not otherwise listed.

For the modes in more depth, see Chrome ExtensionSettings installation modes and managing Firefox extensions with policy.

A test you can run in ten minutes

Pick one harmless extension. Add it to an allow entry and a block entry in a test group, then open the browser's policy page and the extensions page. Note what the browser reports and whether the extension is usable. Repeat with a force entry and a block entry. Save the screenshots. You now have evidence of how your browser version resolves conflicts, which is better than relying on memory of documentation that may have changed.

Quick check

Does a blocklist entry stop a force-installed extension?

No. In both Chrome and Edge the force-install setting takes precedence over the blocklist.

Should I use both the legacy lists and ExtensionSettings?

It is simpler not to. Mixing them makes it harder to explain what applies. Pick one and migrate.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.