Skip to content

Instantly share code, notes, and snippets.

@ishad0w
Created November 17, 2024 02:59
Show Gist options
  • Select an option

  • Save ishad0w/9ae183447fedb669ed02338e9357dcc4 to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown

zackheil commented Apr 9, 2025

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

@ishad0w
Copy link
Copy Markdown
Author

ishad0w commented Apr 10, 2025

@zackheil Yes, unfortunately that's true.

@yusufsiregar44
Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

@binhnguyen99391 Worked for me. Thank you!

@blakegearin
Copy link
Copy Markdown

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
Copy Markdown

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

@mikal
Copy link
Copy Markdown

mikal commented Aug 2, 2025

@binhnguyen99391 Thanks for your awesome codes! Does this work for Chrome v139 on Mac Ventura? I tried to add the profile but couldn't Verify in Chrome in the step3.

@frozenpandaman
Copy link
Copy Markdown

@binhnguyen99391's solution worked for me last month but no longer as of today :(

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