in Thunderbird, I can go to Add-ons manager, search for extension, and click on Add to Thunderbird to install it.

But I have multiple Thunderbird profiles, and installing every extension in every profile is tedious.

Is there a way to download the extension file, unpack it somewhere (presumably in /usr) so that all clients, all users, all profiles can see it as available and use it?

I foundsimilar question here but that does not seem to work any longer in newer versions of Thunderbird. The paths are definitely different.

I am using Thunderbird 68.2.2 on Debian Buster.

As an example, here is an extension that I would liketo install globally: No Message Pane Sort

I have tried installing that extension from Add-ons manager, and it works. So it is definitely compatible with my version of Thunderbird.

However, when I tried to unpack the file in /usr/share/xul-ext/nomessagepanesort/, other clients (other thunderbird profiles) don't see it.

1 Answer 1


You'll still need to find the ID of the extension, but you can find it by extracting the manifest.json file from the .xpi package. Then you can either read it by eye, or using any JSON tool, for example:

$ jq .applications.gecko.id </tmp/manifest.json

Once you know the ID, you can place the XPI file into <your Thunderbird installation directory>/distribution/extensions/<extension ID here>.xpi. With modern versions of Thunderbird, you should find the Lightning calendar extension ({e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi) already in that directory.

From this MozillaZine KB article:

Note: Starting in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1), XPI files are no longer unpacked when extensions are installed. Instead, the XPI itself is placed in the extensions directory, and files are loaded directly out of the package. See Updating extensions for Firefox 4 for details.

For your specific example extension, after downloading the no_message_pane_sort_by_mouse-1.5-tb.xpi file, with my Thunderbird installation directory being /usr/local/thunderbird-current/:

$ unzip no_message_pane_sort_by_mouse-1.5-tb.xpi manifest.json
$ jq .applications.gecko.id <manifest.json 
$ cp no_message_pane_sort_by_mouse-1.5-tb.xpi /usr/local/thunderbird-current/distribution/extensions/nomessagepanesort@janek.org.xpi
## clean up temporary files in current working directory
$ rm no_message_pane_sort_by_mouse-1.5-tb.xpi manifest.json

And the next time Thunderbird is started, it will be automatically there as an installed extension (unless it requires further configuration, in which case the user may be prompted to configure it unless you supply the required configuration items some other way).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.