Is there a way to make permissions mandatory in Manifest v3?

I wanted to update my add-on to Manifest 3, and it requires host permissions to an API. I’m currently testing the add-on by adding it in about:debugging, and every time I add it I have to go to manage extension and enable the API host permissions.

I noticed that in manage extension, it lists my API permissions under “optional permissions”. Is there anyway to make this permission not optional, so I don’t have to toggle it every time? I’m also concerned that forcing the user to go to manage extensions and turn on permissions will hamper the user experience.

I see that the Permissions API is a thing, but it seems like an unnecessary hassle to check each permission and have custom messages to the user about permissions, etc. I just want things to be simple like in Manifest v2.

Not yet, follow this bug for updates:

For now, it’s completely fine to stay at MV2 in Firefox, there is no deadline and compatibility with the new MV3 API is great in Firefox.

1 Like

Thanks for the response. I do hope Firefox decides to go the Chrome route and offer both mandatory and optional permissions, it just makes more sense.

I wanted to upgrade to Manifest v3 for more forward compatibility (especially if I port to Chromium browsers), but maybe I’ll stick to v2 for now.

1 Like

I’ve migrated only few of my many extensions to MV3 (only simple one that don’t use host or activeTab permission).
So most of my extensions still uses MV2 in Firefox and MV3 in Chrome and it works great.

Apart from the manifest file, most of the code is completely the same. Even new things like “declarativeNetRequest” works in MV2 now.
It looks like Firefox is trying to keep MV2 compatibility with the new MV3, so that’s great for us developers :slight_smile:.