# Supported Manifest Keys

*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.

<table><thead><tr><th width="258">Manifest Key</th><th width="71" data-type="checkbox">MV2</th><th width="71" data-type="checkbox">MV3</th><th>Description</th></tr></thead><tbody><tr><td>action</td><td>false</td><td>true</td><td>A <a href="https://developer.thunderbird.net/add-ons/mailextensions/supported-ui-elements#browser-action-button">browser action is a button</a> 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.<br><br><strong>Note:</strong> This key has been renamed from <code>browser_action</code> to <code>action</code> in Manifest V3.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings#firefox_gecko_properties">applications</a></td><td>true</td><td>false</td><td><p>Deprecated. Use</p><p><code>browser_specific_settings</code></p><p>instead.</p></td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author">author</a></td><td>true</td><td>true</td><td>Defines the extension's author. If the <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/developer"><code>developer</code></a> key is supplied and it contains the <code>name</code> property, it will override the <code>author</code> key. There is no way to specify multiple authors. This is a <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localizable property</a>.</td></tr><tr><td><a href="https://developer.thunderbird.net/add-ons/mailextensions#background-page">background</a></td><td>true</td><td>true</td><td>Use the <code>background</code> 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.</td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/browserAction.html">browser_action</a></td><td>true</td><td>false</td><td>A <a href="https://developer.thunderbird.net/add-ons/mailextensions/supported-ui-elements#browser-action-button">browser action is a button</a> 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.<br><br><strong>Note:</strong> This key has been renamed from <code>browser_action</code> to <code>action</code> in Manifest V3.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a></td><td>true</td><td>true</td><td><p>Defines properties that are specific to a particular host application. Information for Thunderbird are stored in:</p><p><code>browser_specific_settings.gecko</code></p><p>More details can be found in our <a href="https://developer.thunderbird.net/add-ons/mailextensions#basic-extension-properties">hello world example</a>.</p></td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/cloudFile.html">cloud_file</a></td><td>true</td><td>true</td><td>Defines a file link provider, which can be used to upload large attachments to a server, instead of attaching them directly to the email.</td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/commands.html">commands</a></td><td>true</td><td>true</td><td>Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open a browser action popup.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></td><td>true</td><td>false</td><td>Instructs Thunderbird to load <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">content scripts</a> into web page tabs and windows, whose URL matches a given pattern.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></td><td>true</td><td>false</td><td>The default policy restricts the sources from which a content script can load <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script"><code>&#x3C;script></code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object"><code>&#x3C;object></code></a> resources, and disallows potentially unsafe practices such as the use of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval"><code>eval()</code></a>. See <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_Security_Policy#Default_content_security_policy">Default content security policy</a> to learn more about the implications of this.</td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/composeAction.html">compose_action</a></td><td>true</td><td>true</td><td>A <a href="https://developer.thunderbird.net/add-ons/mailextensions/supported-ui-elements#compose-action-button">compose action is a button</a> 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.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/default_locale">default_locale</a></td><td>true</td><td>true</td><td>This key must be present if the extension contains the <code>_locales</code> directory, and must be absent otherwise. It identifies a subdirectory of <code>_locales</code>, and this subdirectory will be used to find the default strings for your extension. See <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization">Internationalization</a>.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description">description</a></td><td>true</td><td>true</td><td>Defines a short description of the extension, intended for display in the Add-ons Manager. This is a <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localizable property</a>.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/developer">developer</a></td><td>true</td><td>true</td><td>Defines the name of the extension's developer and their homepage URL, intended for display in the add-on manager tab. The <code>name</code> and <code>url</code> properties, if present, will override the <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/author"><code>author</code></a> and <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/homepage_url"><code>homepage_url</code></a> keys, respectively. This is a <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localizable property</a>.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/dictionaries">dictionaries</a></td><td>true</td><td>true</td><td>The <code>dictionaries</code> key specifies the <code>locale_code</code> for which your extension supplies a dictionary.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url">homepage_url</a></td><td>true</td><td>true</td><td><p>URL for the extension's home page. If the <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/developer"><code>developer</code></a> key is supplied and it contains the <code>url</code> property, this will override the <code>homepage_url</code> key.</p><p>This is a <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localizable property</a>.</p></td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">icons</a></td><td>true</td><td>true</td><td>The <code>icons</code> key specifies icons for your extension. Those icons will be used to represent the extension in components such as the Add-ons Manager.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version">manifest_version</a></td><td>true</td><td>true</td><td>This key specifies the manifest version used by this extension. Supported are <code>2</code> and <code>3</code> (since Thunderbird Beta 110).</td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/messageDisplayAction.html">message_display_action</a></td><td>true</td><td>true</td><td>A <a href="https://developer.thunderbird.net/add-ons/mailextensions/supported-ui-elements#message-display-action-button">message display action is a button</a> 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.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name">name</a></td><td>true</td><td>true</td><td>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.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></td><td>true</td><td>false</td><td>Defines permissions, which should be requested dynamically (when needed) and not during install.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></td><td>true</td><td>true</td><td>Defines an <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Options_pages">options page</a> for your extension.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></td><td>true</td><td>true</td><td>This key requests <a href="https://developer.thunderbird.net/add-ons/mailextensions#permissions">special powers for your extension</a>. This key is an array of strings, and each string is a request for a permission.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers">protocol_handlers</a></td><td>true</td><td>true</td><td>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. <em>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.</em></td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/short_name">short_name</a></td><td>true</td><td>true</td><td><p>Short name for the extension. If given, this will be used in contexts where the <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/name">name</a> 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.</p><p>This is a <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localizable property</a>.</p></td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/theme.html">theme</a></td><td>true</td><td>true</td><td>This key defines a static theme to be applied to Thunderbird.</td></tr><tr><td><a href="https://webextension-api.thunderbird.net/en/mv2/theme.html">theme_experiment</a></td><td>true</td><td>true</td><td>This key enables the definition of experimental <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme"><code>theme</code></a> key properties for the Thunderbird interface. These experiments are a precursor to proposing new theme features for inclusion in Thunderbird.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></td><td>true</td><td>false</td><td>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.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version">version</a></td><td>true</td><td>true</td><td>The version of the extension, formatted as numbers and ASCII characters separated by dots. For the details of the version format, see the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version">Version format</a> page.</td></tr><tr><td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a></td><td>true</td><td>false</td><td>This key exposes selected extension resources (for example images, HTML, CSS or JavaScript) to web pages.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.thunderbird.net/add-ons/mailextensions/supported-manifest-keys.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
