A BrowserSetting object that can be used to prevent websites from showing notifications using the Notifications Web API.

The Notifications API is used to display desktop notifications to the user. There are three levels of permission for notifications: allow, deny, and prompt. Users can set this permission for every site. If the user has not set a permission for a particular site, then the browser will fall back to a global permission, which defaults to prompt.

Setting browserSettings.webNotificationsDisabled to true switches the global permission to deny.

Note that this won't affect sites for which the user has set a per-site preference. For example, if the user sets to allow, and an extension then sets browserSettings.webNotificationsDisabled to true, then pages under will still be allowed to show notifications.

Setting browserSettings.webNotificationsDisabled to false switches the global default back to its default value.

Note that this setting has no effect on notifications created by extensions using the notifications API.

Browser compatibility

BCD tables only load in the browser


Toggle the setting:

async function toggleWebNotifications() {
  let current = await browser.browserSettings.webNotificationsDisabled.get({});
  console.log(`Current value: ${current.value}`);
    value: !current.value,

browser.browserAction.onClicked.addListener(() => {