Skip to content

Instantly share code, notes, and snippets.

@ishad0w
Created November 17, 2024 02:59
Show Gist options
  • Save ishad0w/9ae183447fedb669ed02338e9357dcc4 to your computer and use it in GitHub Desktop.
Save ishad0w/9ae183447fedb669ed02338e9357dcc4 to your computer and use it in GitHub Desktop.
macOS how to Enable Manifest V2 extensions for another year (until June 2025)

Arc

defaults write company.thebrowser.Browser.plist ExtensionManifestV2Availability -int 2

Chrome

defaults write com.google.Chrome.plist ExtensionManifestV2Availability -int 2

Chrome Beta

defaults write com.google.Chrome.beta.plist ExtensionManifestV2Availability -int 2

Chrome Dev

defaults write com.google.Chrome.dev.plist ExtensionManifestV2Availability -int 2

Brave

defaults write com.brave.Browser.plist ExtensionManifestV2Availability -int 2

Brave Beta

defaults write com.brave.Browser.beta.plist ExtensionManifestV2Availability -int 2

Edge

defaults write com.microsoft.Edge.plist ExtensionManifestV2Availability -int 2

Edge Beta

defaults write com.microsoft.Edge.Beta.plist ExtensionManifestV2Availability -int 2

Vivaldi

defaults write com.vivaldi.Vivaldi.plist ExtensionManifestV2Availability -int 2
@zackheil
Copy link

zackheil commented Apr 9, 2025

This appears to not work anymore ahead of the June enforcement. Tried with Arc without success.

@ishad0w
Copy link
Author

ishad0w commented Apr 10, 2025

@zackheil Yes, unfortunately that's true.

@yusufsiregar44
Copy link

yusufsiregar44 commented Apr 16, 2025

@zackheil did you try removing and re-adding the affected extensions?

It works for me with bypass-paywall-clean on Arc Version 1.89.0 (60953).

@zackheil
Copy link

Looks like Arc went back to not enforcing it? I got rid of that in the plist and ublock started working again on its own. Version 1.91.0 (61725) / Chromium Engine Version 135.0.7049.96

@blakegearin
Copy link

Didn't work with Chromium either. I tried com.google.Chrome.plist as well as com.google.Chromium.plist and org.chromium.Chromium.plist

@binhnguyen99391
Copy link

binhnguyen99391 commented Jul 13, 2025

πŸ“Œ How to apply ExtensionManifestV2Availability policy in Chrome (macOS, user-level)

This guide shows how to configure Chrome on macOS to enable Manifest V2 extensions on level mandatory using a .mobileconfig profile, applied to current user only.


βœ… 1. Create the .mobileconfig file

Save the following content into a file named ChromePolicy_user.mobileconfig:

▢️ Click to expand the file content
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadType</key>
      <string>com.google.Chrome</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>PayloadIdentifier</key>
      <string>com.example.chrome.extensionv2.user</string>
      <key>PayloadUUID</key>
      <string>11111111-aaaa-bbbb-cccc-111111111111</string>
      <key>PayloadEnabled</key>
      <true/>
      <key>PayloadDisplayName</key>
      <string>Chrome Extension Manifest V2 Block</string>
      <key>ExtensionManifestV2Availability</key>
      <integer>2</integer>
    </dict>
  </array>
  <key>PayloadType</key>
  <string>Configuration</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
  <key>PayloadIdentifier</key>
  <string>com.example.chrome.config.user</string>
  <key>PayloadUUID</key>
  <string>22222222-bbbb-cccc-dddd-222222222222</string>
  <key>PayloadDisplayName</key>
  <string>Chrome User Policy Config</string>
  <key>PayloadOrganization</key>
  <string>YourOrg</string>
  <key>PayloadDescription</key>
  <string>Force Chrome to block Manifest V2 extensions</string>
  <key>PayloadScope</key>
  <string>User</string>
</dict>
</plist>

πŸ› οΈ 2. Install the profile

Note: profiles install is deprecated in macOS Ventura and above.

  • Open Finder and double-click the ChromePolicy_user.mobileconfig file
  • macOS will open System Settings β†’ Profiles
  • Click Install

This will apply the policy only to the current user, not system-wide.


πŸ” 3. Verify in Chrome

  • Open Chrome
  • Go to: chrome://policy
  • Click "Reload policies"
  • You should see:
"ExtensionManifestV2Availability": {
  "level": "mandatory",
  "scope": "user",
  "source": "platform",
  "value": 2
}

❌ 4. To uninstall the profile

Terminal:

profiles remove -identifier com.example.chrome.config.user

@egorvinogradov
Copy link

@binhnguyen99391 Worked for me. Thank you!

@blakegearin
Copy link

This guide shows how to configure Chrome on macOS to block Manifest V2 extensions

Unless I'm misinterpreting, this is the exact opposite topic of this thread.

@binhnguyen99391
Copy link

@blakegearin Sorry, my mistake, I've corrected it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment