Your company here — click to reach over 10,000 unique daily visitors

gnome-extensions - Man Page

Command line tool for managing GNOME extensions

Examples (TL;DR)


gnome-extensions help [COMMAND]

gnome-extensions version

gnome-extensions enable UUID

gnome-extensions disable UUID

gnome-extensions reset UUID

gnome-extensions info UUID

gnome-extensions show UUID

gnome-extensions list [OPTION...]

gnome-extensions prefs UUID

gnome-extensions create [OPTION...]

gnome-extensions pack [OPTION...]

gnome-extensions install [OPTION...] PACK

gnome-extensions uninstall UUID


gnome-extensions is a utility that makes some common GNOME extensions operations available on the command line.

Common Options

All commands except for help and version handle the following options:

--quiet,  -q

Do not print error messages


help [COMMAND]

Displays a short synopsis of the available commands or provides detailed help on a specific command.


Prints the program version.

enable UUID

Enables the extension identified by UUID.

The command will not detect any errors from the extension itself, use the info command to confirm that the extension state is ACTIVE.

If the extension is already enabled, the command will do nothing.

disable UUID

Disables the extension identified by UUID.

If the extension is not enabled, the command will do nothing.

reset UUID

Reset the extension identified by UUID.

The extension will be disabled in GNOME, but may be enabled by other sessions like GNOME Classic.

info UUID

Show details of the extension identified by UUID, including name, description and state.

show UUID

Synonym of info.

list [OPTION...]

Displays a list of installed extensions.



Include extensions installed in the user’s $HOME


Include extensions installed in the system


Include enabled extensions


Include disabled extensions


Only include extensions in active state


Only include extensions in inactive state


Only include extensions with preferences


Only include extensions with pending updates

-d, --details

Show some extra information for each extension

prefs UUID

Open the preference dialog of the extension identified by UUID.

create [OPTION...]

Creates a new extension from a template.



Set the user-visible name in the extension’s metadata to NAME


Set the description in the extension’s metadata to DESC


Set the unique extension ID in the metadata to UUID


Set the gettext domain used by the extension


Set the GSettings schema used by the extension


Use TEMPLATE as base for the new extension


Include a prefs.js template

-i, --interactive

Prompt for any extension metadata that hasn’t been provided on the command line


Creates an extension bundle that is suitable for publishing.

The bundle will always include the required files extension.js and metadata.json, as well as any of the optional stylesheet.css, stylesheet-dark.css, stylesheet-light.css or prefs.js if found. Each additional source that should be included must be specified with --extra-source.

If the extension includes one or more GSettings schemas, they can either be placed in a schemas/ folder to be picked up automatically, or be specified with --schema.

Similarily, translations are included automatically when they are located in a po/ folder, otherwise the --podir option can be used to point to the correct directory. If no gettext domain is provided on the command line, the value of the gettext-domain metadata field is used if it exists, and the extension UUID if not.

All files are searched in SOURCE-DIRECTORY if specified, or the current directory otherwise.



Additional source to include in the bundle


A GSettings schema that should be compiled and included


A directory with translations that should be compiled and included


The gettext domain to use for translations

-f, --force

Overwrite an existing pack

-o, --out-dir=DIRECTORY

The directory where the pack should be created

install [OPTION...] PACK

Installs an extension from the bundle PACK.

The command unpacks the extension files and moves them to the expected location in the user’s $HOME, so that it will be loaded in the next session.

It is mainly intended for testing, not as a replacement for the extension website. As extensions have privileged access to the user’s session, it is advised to never load extensions from untrusted sources without carefully reviewing their content.



Override an existing extension

uninstall UUID

Uninstalls the extension identified by UUID.

Exit Status

On success 0 is returned, a non-zero failure code otherwise.


The tool is part of the gnome-shell project, and bugs should be reported in its issue tracker at https://gitlab.gnome.org/GNOME/gnome-shell/issues.