Chrome 150 Permanently Kills Manifest V2 and Classic uBlock Origin on June 30
On June 30, Chrome 150 strips out the last bit of Manifest V2 and classic uBlock Origin stops working for good. Here's what changes, why MV3 weakens blocking, and what your real options are.
If you open Chrome every day with classic uBlock Origin holding back the flood of ads and trackers, the countdown has already started: on June 30, Chrome 150 strips the last remnant of Manifest V2 out of the browser's code, and the extension simply stops working — no toggle, no flag, no workaround.
This isn't a surprise announcement. It's the final step of a transition Google has been rolling out in slices for nearly two years, precisely to avoid a single loud headline. But the cumulative effect lands now, and it hits hardest the people who take privacy seriously.
What exactly changes on June 30
Manifest V2 is the old specification Chrome extensions were built on. Manifest V3 (MV3) is the replacement, mandatory for new extensions for some time now. The difference that matters for blockers comes down to a single API.
The timeline, to see where we are:
- Late 2024 — full uBlock Origin is pulled from the Chrome Web Store for incompatibility with MV3.
- March 31, 2025 — Google disables MV2 extensions by default across all channels; a settings toggle still let users re-enable them temporarily.
- July 2025 (Chrome 138) — MV2 is permanently disabled and the toggle disappears.
- June 30, 2026 (Chrome 150) — the last MV2 override flag is deleted from the Chromium source. The workarounds are gone.
In practice, if you were keeping uBlock Origin alive through some trick — an old Chrome build, an enterprise policy, a hidden flag — that window closes. After 150, the extension stays permanently disabled on the stable channel.
Why MV3 weakens blocking
The underlying technical change is swapping the webRequest API (in blocking mode) for declarativeNetRequest.
With blocking webRequest, the extension saw every network request in real time and decided, on the spot, whether to allow, block, or modify it. That was actual code running, with its own logic, able to react to an ad trick that appeared five minutes ago.
declarativeNetRequest flips the model. The extension hands the browser a list of static rules declared in advance, and Chrome itself applies them. The extension no longer sees the traffic or decides in real time. That brings three concrete limitations:
- Static rules with a cap. There's a limit on how many blocking rules can be active. Large (and modern) filter lists hit that ceiling.
- No dynamic adaptation. The extension can't react to a new tracker domain or a new ad technique without shipping an update and passing Chrome Web Store review.
- Weakened cosmetic filtering. Much of uBlock Origin's effectiveness against modern ads came from hiding and removing page elements dynamically — exactly the kind of operation the declarative model restricts.
Google argues that MV3 improves performance, privacy, and security by removing extensions' broad access to traffic. The argument isn't empty. But the side effect is that the most-used tool for blocking ads and trackers loses its teeth — and the company that defines the API is also the largest ad seller in the world. That conflict of interest is what keeps the debate alive.
Your options from here
There's no single answer. There are trade-offs, and which one to pick depends on how much blocking you need and how much you're willing to change your habits.
uBlock Origin Lite (MV3, stays on Chrome)
uBO Lite is the official MV3 version, built by the same author. It keeps working on Chrome after 150. The price: it supports only a fraction of classic uBO's filter lists and doesn't deliver the full dynamic and cosmetic filtering. For ordinary browsing it stops most ads. For the hard cases — YouTube, sites with sophisticated ad delivery — you'll notice the difference. Independent estimates put MV3 blockers at letting through somewhere between 10% and 30% more ads and trackers than the same blocker running with full API access.
Firefox (keeps full uBlock Origin)
Firefox adopted MV3, but with a decisive difference: it still supports blocking webRequest and declarativeNetRequest. The result is that full uBlock Origin runs at full capability on Firefox. If blocking is a non-negotiable priority for you, switching browsers is today the most robust option.
Brave (native blocking, no extension)
Brave is Chromium-based, but it built its own blocking engine — Shields — directly into the browser, outside the extension framework. That means it depends on neither MV2 nor MV3. It blocks ads and trackers by default, with nothing to install.
Out-of-browser blocking (DNS / Pi-hole)
If you want coverage across every device in the house, a DNS-level blocker — Pi-hole, NextDNS, AdGuard Home — filters requests before they even reach the browser. It doesn't replace in-page cosmetic filtering, but it's completely browser-independent and also protects phones and smart TVs.
What to do before June 30
A short, direct checklist:
- Check whether you still depend on classic uBO. In
chrome://extensions, see if uBlock Origin shows up as disabled or flagged as MV2. If so, it isn't coming back. - Decide your strategy. Maximum blocking without changing machines → Firefox. Stay on Chrome with "good enough" blocking → uBO Lite. Whole-house coverage → DNS.
- Export your rules. If you had custom filters or personal lists in classic uBO, export them before you lose access — open the uBO dashboard and save your dynamic filters.
- If you manage a corporate fleet, know that the enterprise policies that extended MV2 also expire. Plan the migration of internal extensions to MV3 before the update.
It helps to understand that blocking filters are, at their core, patterns: domains, URL paths, and expressions that match unwanted requests. Anyone who writes or audits static filter lists — whether for a uBO Lite rule or a DNS config — spends a good chunk of time testing patterns and regular expressions to make sure they match exactly what they should, with no side effects. For that, a Regex Tester helps validate an expression against real examples before you add it to the list — useful both for checking a new filter and for understanding why a rule is blocking (or letting through) something it shouldn't.
The MV3 conversation is, in the end, about who controls what goes in and out of your browser — the same kind of tension between convenience and control that shows up on other tech fronts, as we discussed in the Claude Fable 5 case.
The takeaway
The end of Manifest V2 isn't the end of ad blocking — it's the end of an era in which the most powerful blocker ran on the most popular browser without friction. After June 30, keeping privacy at the level you got used to requires a conscious choice: switch browsers, accept a weaker version, or move blocking outside the browser. None of those options is automatic, which is exactly why it's worth deciding now, before the update decides for you.
- 01 Claude Fable 5: The Benchmark Everyone's Citing and the Data Policy That Actually Changes Your Contract Claude Fable 5 ships with 80.3% on SWE-Bench Pro. What few are reading: the new 30-day retention policy that affects enterprise contracts with zero-retention agreements.
- 02 OpenAI and Anthropic File for IPO: What Changes for Developers Building on Their APIs Two AI labs going public in the same week isn't just a markets story. It's the moment the company powering your LLM starts answering to shareholders — and stops answering only to you.