Your ad blocker changed: the Manifest V3 story
On 31 August 2026 Google removed the last Manifest V2 extensions, including the full uBlock Origin, from the Chrome Web Store. Here's what changed, what it limits, and what your options are.
· 7 min read
If your ad blocker stopped working, or quietly got worse, you're not imagining it. The rules changed underneath it.
What a manifest is
Every browser extension ships with a file called manifest.json. It's the extension's
declaration of itself: its name, its version, what permissions it wants, and which browser
capabilities it uses. The manifest version is which edition of the rulebook the extension is
written against — what it's allowed to ask for, and how.
Manifest V2 was the rulebook for over a decade. Manifest V3 replaced it. The change matters because of one specific capability that went away.
The timeline
- 2018–2019 — Google publishes the first Manifest V3 proposals. Developers of content
blockers immediately object to the removal of blocking
webRequest. - 2020–2024 — Repeated delays. Manifest V3 becomes mandatory for new submissions, then for updates, while existing V2 extensions keep working.
- 2025 — Chrome begins disabling Manifest V2 extensions. Users see their blocker switched off, often with a prompt suggesting a replacement.
- Chrome 139 — Manifest V2 support is gone from the browser entirely. Extensions still installed on Chrome 138 or earlier survive, but stop receiving updates.
- 31 August 2026 — The remaining Manifest V2 extensions, including the full uBlock Origin, are removed from the Chrome Web Store. Version 1.74 was the last stable uBO release to reach it.
If you installed uBlock Origin before the cutoff and stayed on an old Chrome, you technically still have it — unpatched, unupdatable, and unable to be reinstalled if it's ever removed. That is not a plan.
What Manifest V3 actually limits
This is where the discussion usually goes wrong in both directions. MV3 is neither the end of ad blocking nor a harmless bit of housekeeping.
Under MV2, an extension could use blocking webRequest: the browser handed it each network
request before it happened, ran the extension's own code, and did whatever the extension decided.
Arbitrary logic, at the moment of the request.
Under MV3, that's replaced by declarativeNetRequest. The extension registers its rules in
advance and the browser does the matching. The extension never sees the individual request and
never makes the decision.
The practical consequences:
- Rule caps. An extension can only register so many rules, with a further cap on dynamic ones added at runtime. Large community filter lists used to run to hundreds of thousands of entries.
- No decisions based on what's happening. A rule can say "block this URL pattern". It cannot say "block this if the response looks like a tracker" or "if this script tries that".
- Slower responses to new tricks. Under MV2, a filter list update fixed things immediately. Under MV3, some changes need an extension update and a store review.
What still works: blocking by URL pattern, hiding elements with CSS, and the large majority of ordinary ad and tracker blocking. Most people's day-to-day experience of a good MV3 blocker is fine. It's the adversarial edge — sites that actively fight blockers, and newly-invented tracking techniques — where the ceiling is real.
The argument
Google's case: performance, security, and privacy. Extensions with blocking webRequest can read
every request you make, including sensitive ones, and a slow or malicious extension sits directly
in the path of every page load. Declarative rules can't spy on traffic and can't stall it.
That case is not nonsense. A compromised extension with blocking webRequest is genuinely
dangerous, and extensions do get sold to new owners who add surveillance to them.
The counter-argument: Google's revenue is overwhelmingly advertising, and it is writing the rules for the software that removes advertising. Even if every engineering justification is offered in good faith, the company deciding how capable ad blockers may be is the company that sells the ads. Critics also note that the limits fall hardest on exactly the blocking that works best, while the stated security benefits could have been pursued with narrower permissions.
Both things are true at once: there were real problems with blocking webRequest, and the
solution happened to constrain a category of software that costs Google money. You don't have to
pick a villain to notice the conflict of interest.
Your options today
uBlock Origin Lite — the MV3 version from the same developer, still in the Chrome Web Store. Deliberately simpler: it does less per-site fiddling and has no dynamic filtering. For most people, most of the time, it's good. It is not the same tool.
Firefox — still supports the full uBlock Origin with blocking webRequest. Mozilla
implemented MV3 while keeping the capability. If your blocking matters more than anything else,
this is the straightforward answer.
Brave — Chromium-based, with blocking built into the browser rather than delegated to an extension, so it isn't bound by the extension rulebook in the same way.
Safari — its own extension system and its own limits, which is a different article.
There is no option that is both "stay in Chrome" and "keep exactly what you had". That trade is gone.
Why we're building for Manifest V3 from day one
We could have written an MV2 extension. It would have been more capable on paper and dead on arrival.
Can I Throw This? is being built MV3-native: declarative rules where they fit, and effort spent on the part MV3 doesn't restrict at all — reading the page in front of you.
That's worth being precise about, because it's the strategic bet behind this whole project. MV3 limits what an extension may do to network requests. It does not limit an extension's ability to look at the page you're already on and tell you what it's doing to you. A countdown timer that resets on reload, a reject button buried a layer deeper than accept, a clipboard that filled itself — all of that is visible in the page, on your device, with no network interception required.
So the ceiling MV3 imposes on blocking doesn't apply to the thing we think matters most. We'd rather build the part that can't be legislated away by a rulebook change, and be honest that blocking under MV3 has limits nobody can engineer around.