October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk8 min

Chrome will soon disable old Manifest V2 extensions

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Chrome is tightening support for older extensions built with Manifest V2. Google’s deprecation plan is designed to phase out MV2 patterns and require extensions to move to Manifest V3 so they work reliably in modern Chrome.

If you rely on an extension (as a user) or publish extensions (as a developer), you need to verify compatibility now. The sooner you confirm your extension’s manifest version and behavior, the fewer surprises you’ll face when Chrome stops loading MV2.

As an Amazon Associate I earn from qualifying purchases.

This guide covers what changes, how to check your extension, and exactly how to migrate MV2 code paths that commonly break—especially background scripts and networking interception.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What Manifest V2 extensions are and why Chrome is moving away from them

Manifest V2 is an earlier Chrome extension architecture that many popular extensions still use. The main difference you’ll notice during migration is how Chrome runs your background logic and how it allows network-related capabilities.

Manifest V3 changes the execution model and pushes extensions toward more predictable, event-driven behavior, plus safer network controls. In practice, MV2 extensions may be disabled when Chrome reaches its scheduled enforcement points.

What “disabled soon” looks like in practice

When Chrome disables MV2, affected extensions typically stop functioning in one of these ways:

  • The extension is shown as disabled and can’t be re-enabled without updating to MV3.
  • The extension loads but key features don’t trigger because background logic isn’t running (a common MV2-to-MV3 mismatch).
  • Network features fail due to removed or restricted APIs (especially patterns built around chrome.webRequest blocking).

Even if your extension still appears installed, the underlying MV2 capability set may no longer be allowed, which effectively “breaks” the extension’s purpose.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to check whether your extension is Manifest V2

You can confirm a Chrome extension’s manifest version quickly. This matters because it’s the fastest way to decide whether you need an update (users) or a migration (developers).

Check in Chrome UI

For installed extensions:

  1. Open Chrome and go to chrome://extensions.
  2. Find your extension in the list.
  3. Click Details.
  4. Look for the manifest version line. If it says Manifest V2, you’re on MV2.

Check the manifest.json directly (developer workflow)

If you have the source code or packaged folder, check manifest.json:

  1. Open manifest.json from the extension project.
  2. Find the manifest_version field.
  3. If it’s 2, you’re using MV2. If it’s 3, you’re on MV3.

Example MV3 skeleton:

{ "manifest_version": 3, "name": "My Extension", "version": "1.0.0"

}

If you’re a Chrome extension user: what to do now

You don’t need to code to reduce risk, but you do need to take a few actions before MV2 disablement hits your browser.

1) Identify which extensions are MV2

Open chrome://extensions and sort your attention toward extensions labeled Manifest V2. If you manage multiple machines, check them all.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2) Update immediately if an MV3 version exists

Extensions distributed through the Chrome Web Store often publish MV3 updates. If you see an update prompt or a new version in the Chrome Web Store listing, install it.

3) Watch for functional regression after updating

Even MV2-to-MV3 updates can change behavior. After an update, verify critical workflows (e.g., button actions, content scripts, and any network-based features like ad blocking or trackers removal).

4) If an extension stops: report and switch

If your MV2 extension disappears or is disabled, leave a note for the developer in the Chrome Web Store listing (support link, issue tracker, or contact email if provided). Meanwhile, use alternatives (see the later section) so you don’t lose critical tooling.

If you’re an extension developer: migrate to Manifest V3

Migration is not just a version number change. MV3 changes how Chrome executes background logic and how it permits network interception. The fastest path is a targeted refactor of your MV2-specific architecture.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 1: Confirm your current extension manifest

Open manifest.json and inventory what you use:

  • background.scripts (MV2) vs background.service_worker (MV3)
  • permissions and host_permissions
  • Any use of webRequest, blocking, or request modification patterns
  • Any persistent event pages (persistent: true)

Step 2: Move background scripts to a service worker

In MV2, many extensions relied on a background page that stayed alive. MV3 uses a service worker, which starts and stops based on events.

Typical MV3 background config:

{ "manifest_version": 3, "background": { "service_worker": "service-worker.js" }

}

Migration impact: code that assumed long-running background state (in-memory variables) may need persistence via storage (for example, chrome.storage) or a rehydration strategy.

Step 3: Replace unsupported APIs and patterns

Some MV2 APIs and behaviors aren’t available the same way in MV3. The goal is to remove hard dependencies on MV2-only capabilities.

Common migration targets:

  • Persistent background logic (replace with event-driven patterns)
  • Blocking network hooks (rework using MV3 network controls)
  • Overly broad permissions (tighten to the minimum MV3 will allow)

Step 4: Migrate networking features (webRequest, blocking, rules)

If your extension modifies or blocks requests using chrome.webRequest with blocking, MV3 will require changes. In many cases, the replacement path is declarativeNetRequest.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

High-level approach:

  1. Convert request logic into a set of declarative rules.
  2. Use chrome.declarativeNetRequest.updateDynamicRules() (for dynamic sets) or static rules in the manifest.
  3. Verify rule matching with the extension’s real traffic patterns.

Concrete example shape (simplified):

chrome.declarativeNetRequest.updateDynamicRules({ removeRuleIds: [1], addRules: [{ id: 2, priority: 1, action: { type: "block" }, condition: { urlFilter: "ads", resourceTypes: ["script"] } }]

});

Even small differences in matching can change outcomes, so treat this as a functional migration, not a mechanical rewrite.

Step 5: Validate permissions and host permissions

MV3 splits permission concepts more clearly. If your extension currently uses broad MV2 permissions, you may need to re-scope.

Action checklist:

  1. Review every entry in permissions.
  2. Move URL-specific access into host_permissions where appropriate.
  3. Remove unused permissions to reduce review friction and runtime errors.

A common failure mode: your extension compiles fine but silently loses access because the new manifest doesn’t grant the exact permission or host match.

Step 6: Update build, packaging, and versioning

Migration often touches files that your build pipeline outputs (service worker name, bundler config, content script paths). Make sure your packaging updates match the manifest.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Also update version metadata in manifest.json so Chrome Web Store publishes the MV3 build cleanly.

Testing checklist before shipping to Chrome Web Store

Before publishing an MV3 version, verify behavior with a structured test pass. MV3 failures are often subtle: a service worker that doesn’t start, a rule set that doesn’t match, or a permission mismatch.

Local verification

  1. Open chrome://extensions.
  2. Enable Developer mode.
  3. Click Load unpacked and select your built MV3 folder.
  4. Test core flows (install, button click, content script injection points, and network-blocking behavior).

Console and logs

Use DevTools to catch MV3-specific issues:

  • Check the extension service worker console for startup errors.
  • Inspect content script execution in the target pages.
  • Look for permission errors that typically mention missing access or blocked API usage.

Performance sanity check

Service workers can feel different from a persistent background page. Avoid patterns that depend on continuous timers or long-lived in-memory state.

Troubleshooting common migration failures

If your MV3 build doesn’t behave like the MV2 version, don’t guess. Identify the failing layer (manifest config, background/service worker, permissions, or network rules).

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Extension loads but features don’t run

Most often, the service worker isn’t receiving the event you think it is, or your listener registration moved or stopped.

  • Verify event wiring in service-worker.js (e.g., startup, installation, command listeners).
  • Confirm the correct file path is referenced in background.service_worker.
  • Recheck that your action handlers match MV3 patterns for chrome.action vs older UI hooks.

Permissions errors in the console

When permissions don’t match what you call, Chrome will block access.

  • Inspect missing or mismatched entries in permissions and host_permissions.
  • Remove unused permissions only after you confirm required behavior works.
  • Rebuild after manifest edits—stale builds can keep old paths alive.

Service worker won’t start

Service workers start on demand. If nothing triggers them, your extension may appear “dead.”

  • Check for syntax/runtime errors in the service worker file.
  • Confirm the service worker is reachable (file included in the package output).
  • Make sure you aren’t relying on a persistent background lifecycle.

Rules don’t apply (declarativeNetRequest)

Rule-based systems fail quietly when conditions don’t match.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Validate urlFilter patterns against real URLs from your test environment.
  • Confirm resourceTypes match what the page actually requests.
  • Ensure you’re not removing the wrong rule IDs when updating dynamic rules.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

User alternatives if an extension stops working

If a must-have tool becomes disabled, you usually have three paths: switch to an MV3 update of the same extension, find a compatible alternative, or move the feature to a different layer (built-in browser settings, separate tools, or user scripts).

  • Same developer MV3 update: preferred if you need continuity and settings transfer.
  • Alternative MV3 extension: look for the same feature class (ad blocking, password management, page capture) and verify MV3 support via chrome://extensions.
  • Built-in Chrome features: for privacy/network controls, check Chrome’s settings first so you don’t depend entirely on a third-party extension.

If the extension had a licensing or team workflow angle, contact the vendor; some do provide migration support or replacement options.

FAQ: Manifest V2 disablement and Chrome extension survival

Will my MV2 extension be automatically updated to MV3?

No guarantee. Some extensions will publish MV3 updates; others won’t. Check the extension’s version and manifest status in chrome://extensions.

Can I just change manifest_version from 2 to 3 and keep everything else?

Usually not. MV3 changes runtime behavior (notably service worker background) and often requires rewrites for network interception.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why do networking extensions break first?

Many MV2 network features used blocking hooks and request modification patterns that MV3 controls differently. MV3 often expects declarative rule definitions instead of imperative interception.

What’s the fastest migration path for a complex MV2 extension?

Start by migrating architecture (service worker), then convert your network features to declarativeNetRequest, and finally verify permissions/host permissions. Keep a parallel MV2 branch for comparison while you validate behavior.

How can I confirm an MV3 build is actually working before publishing?

Use chrome://extensions with Load unpacked, inspect the service worker console, and run real test scenarios that trigger background events and any network behavior.

Bottom Line

Chrome disabling old Manifest V2 extensions won’t be a subtle change—MV2-compatible extensions will either stop working or be forced off unless updated. If you’re a user, check chrome://extensions now and update any available MV3 releases. If you’re a developer, plan a real MV3 migration focused on the service worker model and any webRequest blocking logic.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Approach the migration like a product release: audit the manifest, refactor the architecture, replace network interception with MV3-friendly rules, then test with realistic browsing traffic before you ship.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.