GNOME Shell extensions are a fantastic way to customize and extend the functionality of your GNOME desktop environment. However, GNOME enforces a version check, meaning that if an extension isn’t explicitly marked as compatible with your current GNOME Shell version, it won’t be loaded. This can be frustrating if you know an extension works fine, or if you’re developing an extension and want to test it easily.

Recently the forge extension stopped working on GNOME 48, but it still works well even if it’s marked as incompatible. So, to enable forge again we need to disable this version check. Be aware that this comes with risks, as incompatible extensions can cause instability. Proceed with caution and understand that you’re disabling a safety mechanism.

Disabling the Version Check

The easiest way to disable the version check is to use the gsettings command-line tool. Open a terminal and run the following command:

gsettings set org.gnome.shell disable-extension-version-validation "true"

Explanation:

  • gsettings: This is the command-line tool for interacting with GNOME’s settings database (dconf).
  • set: This tells gsettings that we want to change a setting.
  • org.gnome.shell: This is the “schema” (or category) for GNOME Shell settings.
  • disable-extension-version-validation: This is the specific key (setting) we want to modify.
  • "true": This sets the value of the key to true, which disables the version check. The value have to be inside quotes.

After running this command, you’ll need to restart GNOME Shell for the changes to take effect. You can do this by pressing Alt + F2, typing r, and pressing Enter. Alternatively, you can log out and log back in.

Re-enabling the Version Check

To re-enable the version check (which is recommended for long-term stability), run the following command:

gsettings set org.gnome.shell disable-extension-version-validation "false"

Or you can reset to the system default value:

gsettings reset org.gnome.shell disable-extension-version-validation

Again, you’ll need to restart GNOME Shell (Alt+F2, r, Enter) or log out/in for the change to take effect.

It is possible edit the file ~/.local/share/gnome-shell/extensions/<extension-uuid>/metadata.json I do not recommend this way, because you will need to do it for every extention.

Important Considerations

  • Risk of Instability: Disabling the version check can lead to GNOME Shell crashes or unexpected behavior if an extension is truly incompatible. Always back up your system or have a way to revert changes if something goes wrong.
  • Extension Updates: If you disable the version check, you’ll need to be extra careful when updating extensions. An update might introduce incompatibilities that you wouldn’t have been warned about.
  • Development: This setting is particularly useful for extension developers who need to test their extensions on different GNOME Shell versions.
  • Security: Keep in mind that a malicious or poorly written extension could potentially compromise your system. Only install extensions from trusted sources.

By following these steps, you can gain more control over your GNOME Shell extensions, but remember to prioritize system stability.