Supported Manifest Keys

Descriptions of all manifest keys supported by Thunderbird.

Several manifest keys in the following table are common to Thunderbird and Firefox and link to MDN description pages. Please be aware, that MDN is dedicated to browsers and of course to Firefox. Some information listed on MDN may not apply to Thunderbird.

The two columns MV2 and MV3 specify whether the manifest key is supported in Manifest V2 and/or Manifest V3.

Manifest KeyMV2MV3Description

action

A browser action is a button that your extension can add to Thunderbird's main mailTab toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript. Note: This key has been renamed from browser_action to action in Manifest V3.

Deprecated. Use

browser_specific_settings

instead.

Defines the extension's author. If the developer key is supplied and it contains the name property, it will override the author key. There is no way to specify multiple authors. This is a localizable property.

Use the background key to include one or more background scripts, and optionally a background page in your extension. Background scripts are loaded as soon as the extension is loaded and stay loaded until the extension is disabled or uninstalled.

A browser action is a button that your extension can add to Thunderbird's main mailTab toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript. Note: This key has been renamed from browser_action to action in Manifest V3.

Defines properties that are specific to a particular host application. Information for Thunderbird are stored in:

browser_specific_settings.gecko

More details can be found in our hello world example.

Defines a file link provider, which can be used to upload large attachments to a server, instead of attaching them directly to the email.

Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open a browser action popup.

Instructs Thunderbird to load content scripts into web page tabs and windows, whose URL matches a given pattern.

The default policy restricts the sources from which a content script can load <script> and <object> resources, and disallows potentially unsafe practices such as the use of eval(). See Default content security policy to learn more about the implications of this.

A compose action is a button that your extension can add to the toolbar of Thunderbird's message compose tabs. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.

This key must be present if the extension contains the _locales directory, and must be absent otherwise. It identifies a subdirectory of _locales, and this subdirectory will be used to find the default strings for your extension. See Internationalization.

Defines a short description of the extension, intended for display in the Add-ons Manager. This is a localizable property.

Defines the name of the extension's developer and their homepage URL, intended for display in the add-on manager tab. The name and url properties, if present, will override the author and homepage_url keys, respectively. This is a localizable property.

The dictionaries key specifies the locale_code for which your extension supplies a dictionary.

URL for the extension's home page. If the developer key is supplied and it contains the url property, this will override the homepage_url key.

This is a localizable property.

The icons key specifies icons for your extension. Those icons will be used to represent the extension in components such as the Add-ons Manager.

This key specifies the manifest version used by this extension. Supported are 2 and 3 (since Thunderbird Beta 110).

A message display action is a button that your extension can add to the toolbar of Thunderbird's message display tabs. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.

Defines the name of the extension. This is used to identify the extension in the Add-on manager and on sites like addons.thunderbird.net.

Defines permissions, which should be requested dynamically (when needed) and not during install.

Defines an options page for your extension.

This key requests special powers for your extension. This key is an array of strings, and each string is a request for a permission.

This key registers one or more web-based protocol handlers. It allows to register a website or an extension page as a handler for a particular protocol. Note: The default click handler in Thunderbird web tabs is currently not working correctly with custom defined protocol handlers. It does work in WebExtension windows.

Short name for the extension. If given, this will be used in contexts where the name field is too long. It's recommended that the short name should not exceed 12 characters. If the short name field is not included in manifest.json, then name will be used instead and may be truncated.

This is a localizable property.

This key defines a static theme to be applied to Thunderbird.

This key enables the definition of experimental theme key properties for the Thunderbird interface. These experiments are a precursor to proposing new theme features for inclusion in Thunderbird.

Instructs the browser to load a script packaged in the extension, known as the API script, this script is used to export a set of custom API methods for use in user scripts.

The version of the extension, formatted as numbers and ASCII characters separated by dots. For the details of the version format, see the Version format page.

This key enables an extension to make resources bundled with the extension (for example images, HTML, CSS or JavaScript) available to web pages.

Last updated