How to Downgrade Flatpak Packages in Linux

One of the lesser-known features of Flatpak packaging is that it allows you to downgrade installed applications. Here's how to use it.
Warp Terminal

Technically, minor or point release updates are released to solve issues. But things may get worse when some updates break your current workflow.

Whether a Flatpak package or Snap, everything breaks at some point when there is an issue. Being a sandboxed packaging solution, it may not affect the entire system, but if you encounter a bug that makes your app experience worse, you may regret the update.

For example, the previous update of Black Box was bundled with certain bugs, and I could not select text! Developers have solved this issue now, but until they did not, I downgraded that specific package to make things work.

So, if you want to downgrade a specific app installed as a Flatpak, you can follow this guide.

Downgrade Flatpak packages in Linux

Unlike installing Flatpaks, you need sudo privileges to downgrade Flatpak packages.

Here are the steps below:

1. Get the Application ID of the Package

The first step is to find the Application ID of the package you want to downgrade. You can easily find it by listing the installed packages:

flatpak list --app
find flatpak package id in linux

Note down the application ID of the package you want to downgrade.

Here, I am going to downgrade the Black Box, so my application ID will be com.raggesilver.BlackBox.

2. List previous releases and get the commit code

Once you get the application ID, youโ€™d need to list the previous releases.

You can easily do this by following the given command syntax:

flatpak remote-info --log flathub <Application ID>
find previous releases in flatpak

Once you find the preferred previous release, copy the commit code as shown above.

3. Downgrade the Flatpack package

Once you follow the first two steps, you should have the following:

  • Application ID of the package.
  • Commit code of preferred older release.

Now, you have to put them in the following command:

flatpak update --commit=<commit_code> <Application ID>

As Iโ€™m downgrading Black Box to the previous release, Iโ€™ll be using the following command:

flatpak update --commit=c4ef3f4be655cbe2559451a9ef5977ab28139c54bb5adbd7db812f3482bd0db5 com.raggesilver.BlackBox
downgrade flatpak package in linux
Using sudo is not necessary if the flatpaks were installed at user level

And thatโ€™s it!

To check whether you have successfully downgraded the package, you can list the packages that need to be updated (considering everything else is up-to-date). It should include the name of the package that you have recently downgraded:

flatpak update
downgrade flatpak package

And as you can see, the Black Box is outdated and needs to be updated, meaning the package has been downgraded successfully!

Flatpak Apps Look Out of Place? Hereโ€™s How to Apply GTK Themes on Flatpak Applications
One of the reasons why some users avoid installing Flatpak apps is that most Flatpak apps donโ€™t change their appearance as per the current system theme. This makes the applications look out of place in your otherwise beautiful setup. The official way to apply GTK themes to Flatpak apps

Wrapping Up

In this quick tutorial, I explained how you downgrade Flatpak packages, and I hope you find this helpful.

And if you have any queries or suggestions, let me know in the comments.

About the author
Sagar Sharma

Sagar Sharma

A software engineer who loves to write about his experience with Linux. While reviving my crashed system, you can find me reading literature, manga, or watering my plants.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world


Great! Youโ€™ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.