5 minute read

Chrome extensions broke because Chrome stopped running the older Manifest V2 (MV2) format, and some extensions could not be rebuilt the way Manifest V3 (MV3) requires. Chrome’s timeline says Chrome 138 disabled MV2 extensions for all users on July 24, 2025, MV2 extensions cease to function for anyone on Chrome 139 or later, and the Web Store removed all remaining MV2 extensions on August 31, 2026. Below is what MV3 changed and why ad blockers were hit hardest.

Checked October 16, 2026 against Chrome’s own pages and press reports. The Brave and Edge details were re-checked on October 21, 2026.


What Chrome says MV3 changed

Chrome’s overview of Manifest V3 lists three main changes. Its stated goal is to improve the privacy, security and performance of extensions.

  • Service workers instead of a long-lived background page. MV2 extensions had a background page that took up resources even when the extension was not running. In MV3, the background context runs only when needed. Code that depended on a persistent page has to be reworked, and Chrome’s migration guide covers how.
  • No remotely hosted code. An extension can only execute JavaScript that is included in its package, and that package is subject to Chrome Web Store review. Chrome says remote code presented security risks by allowing unreviewed code to run.
  • A different way to modify network requests. Chrome deprecated the blocking version of the webRequest API, which required extensions to proxy all network traffic and came at a performance and privacy cost. The declarativeNetRequest API is what Chrome calls a safer alternative for many use cases.

Chrome’s page also mentions support for promise-based methods among the other changes.


Why ad blockers were hit hardest

The third change is the one that matters for ad blockers. Under the old API an extension could inspect each request and decide what to do with it. Under declarativeNetRequest, the extension hands Chrome a set of rules in advance and the browser applies them.

Chrome describes this as safer. The blocker makers describe it as a restriction, and both statements match their sources:

  • The uBlock Origin Lite FAQ says features such as dynamic filtering cannot be supported under MV3, because declarativeNetRequest cannot apply rules according to the page you are on. It adds that building dynamic filtering on webRequest would wake the extension’s service worker constantly and defeat the point of the Lite version. That is why the original uBlock Origin could not simply be updated.
  • AdGuard’s 2022 blog post about its first MV3 prototype says the syntax of declarative rules severely limits what an extension can do. It also reports the rule limits Chrome set at that time: at least 30,000 static rules guaranteed per extension, 330,000 across a user’s extensions, and 5,000 dynamic rules. Chrome may have changed those numbers since.
  • eyeo, which makes Adblock Plus, says Chrome enforces limits on rulesets and on static and dynamic rules, and that its engineers had to work around them. See eyeo’s MV3 write-up.

MV2 versus MV3 at a glance

  Manifest V2 Manifest V3
Background code Long-lived background page Service worker that runs only when needed
Remote code Allowed Not allowed. Only code in the package runs
Network requests Blocking webRequest listeners declarativeNetRequest rules
API style Callback-based Promise-based methods supported

How we got here

Chrome stopped accepting new public MV2 extensions in January 2022 and began the phase-out in June 2024. It disabled MV2 extensions by default for all users on March 31, 2025, and disabled them everywhere with Chrome 138. Android Authority and 9to5Google report that Chrome also stripped a loophole that had let users re-enable older extensions in mid-2026. Chrome’s own timeline does not list that step. Our hub page has the full table.

If an extension works in Chrome today, it is running on MV3, because Chrome 139 and later do not run MV2 extensions. Extensions installed on Chrome 138 or earlier keep running but cannot update or be reinstalled, according to Chrome.


Other browsers

Mozilla says it keeps MV2 alongside MV3 and continues to support the blocking webRequest API, so the full uBlock Origin runs on Firefox. Brave says on its blog that it hosts uBlock Origin and other MV2 extensions on its own servers, and Microsoft says Edge began moving users off MV2 in August 2026, aiming to finish the consumer transition by the end of 2026, per its Edge blog. For setting up uBlock Origin’s advanced mode in Firefox, see What to Use Instead of uMatrix in 2026.


For developers

Chrome’s migration overview and checklist are the reference. A GoogleChromeLabs Extension Manifest Converter exists on GitHub, but its repository says it uses search-and-replace changes, does not fully automate the work, and is not an official Google product. It was archived on April 19, 2026 and is read-only.


Questions readers ask

Why did my Chrome extensions stop working? Chrome stopped running the older Manifest V2 format, and some extensions could not be rebuilt the way Manifest V3 requires. Chrome says MV2 extensions cease to function for anyone on Chrome 139 or later.

Can I still install a Manifest V2 extension from the Chrome Web Store? No. Chrome’s timeline says the Web Store removed all remaining MV2 extensions on August 31, 2026.

Can I turn MV2 extensions back on? Chrome says users could no longer turn them back on after Chrome 138 disabled them everywhere. Android Authority and 9to5Google report that Chrome also removed a loophole in mid-2026, a step Chrome’s own timeline does not list.

Why were ad blockers hit hardest? Under the old API an extension could inspect each request. Under declarativeNetRequest the extension hands Chrome rules in advance, and the uBlock Origin Lite FAQ says features such as dynamic filtering cannot be supported that way.

Which browsers still run the full uBlock Origin? Mozilla says Firefox keeps MV2 alongside MV3 and supports the blocking webRequest API. Brave says it hosts uBlock Origin and other MV2 extensions on its own servers. Microsoft says Edge began moving users off MV2 in August 2026.


Update log

  • October 16, 2026: checked against Chrome’s pages and press reports.
  • October 21, 2026: the Brave and Edge details were re-checked.
  • November 3, 2026: added the readers’ questions above. No facts were changed.

For replacements, see Best Manifest V3 Alternatives for Older Chrome Extensions. To check whether an extension is on MV2, see How to Check If a Chrome Extension Uses Manifest V2.


Sources: