Flatpak Cheatsheet
Updating
| Command |
Description |
flatpak update |
Refresh metadata and update all installed flatpaks |
flatpak update <app-id> |
Update a specific app |
flatpak list --updates |
List apps with available updates (like apt list --upgradeable) |
Unlike apt, flatpak update combines the metadata refresh and upgrade into one step — no separate "update the list" command needed.
Installing
| Command |
Description |
flatpak install <remote> <app-id> |
Install an app from a remote (e.g. flatpak install flathub org.gimp.GIMP) |
flatpak install --reinstall <app-id> |
Reinstall an app |
flatpak install <app-id> --or-update |
Install if not present, update if already installed |
Removing
| Command |
Description |
flatpak uninstall <app-id> |
Remove an app |
flatpak uninstall --unused |
Remove unused runtimes and dependencies (like apt autoremove) |
flatpak uninstall --all |
Remove all installed flatpaks |
Note on purging: Flatpak stores user data separately at ~/.var/app/<app-id>/. To fully purge an app's data, manually delete that folder after uninstalling.
Listing & Searching
| Command |
Description |
flatpak list |
List all installed apps and runtimes |
flatpak list --app |
List installed apps only (excludes runtimes) |
flatpak list --runtime |
List installed runtimes only |
flatpak search <name> |
Search for apps across configured remotes |
flatpak remote-ls |
List all apps available from configured remotes |
flatpak remote-ls --updates |
List all available updates from remotes |
Info & Details
| Command |
Description |
flatpak info <app-id> |
Show details about an installed app |
flatpak info --show-permissions <app-id> |
Show sandbox permissions for an app |
flatpak history |
Show install/update/uninstall history |
Remotes (Package Sources)
| Command |
Description |
flatpak remotes |
List configured remotes |
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo |
Add the Flathub remote |
flatpak remote-delete <remote> |
Remove a remote |
flatpak remote-modify <remote> |
Modify a remote's settings |
flatpak remote-info <remote> <app-id> |
Show info about an app from a specific remote |
Running Apps
| Command |
Description |
flatpak run <app-id> |
Run an installed app |
flatpak run --branch=<branch> <app-id> |
Run a specific branch/version of an app |
flatpak run --command=bash <app-id> |
Open a shell inside the app's sandbox (useful for debugging) |
Permissions & Overrides
| Command |
Description |
flatpak override <app-id> --<permission> |
Grant a permission override to an app |
flatpak override <app-id> --filesystem=home |
Grant access to the home directory |
flatpak override <app-id> --nofilesystem=home |
Revoke home directory access |
flatpak override --user <app-id> --env=VAR=value |
Set an environment variable for an app |
flatpak override --reset <app-id> |
Reset all overrides for an app |
Use --user for per-user overrides, or omit for system-wide (requires sudo).
Rollbacks & Pinning
| Command |
Description |
flatpak update --commit=<commit-hash> <app-id> |
Roll back to a specific commit |
flatpak mask <app-id> |
Pin/mask an app to prevent it from being updated |
flatpak mask --remove <app-id> |
Unpin an app to allow updates again |
Maintenance & Cleanup
| Command |
Description |
flatpak uninstall --unused |
Remove unused runtimes (run periodically to reclaim disk space) |
flatpak repair |
Repair the local flatpak installation |
flatpak repair --user |
Repair the user installation |
Useful Flags
| Flag |
Description |
--user |
Apply command to the user installation (no sudo needed) |
--system |
Apply command to the system installation |
--assumeyes / -y |
Auto-confirm prompts |
--verbose / -v |
Show verbose output |
--noninteractive |
Disable all prompts (useful in scripts) |
Common App ID Examples
| App |
App ID |
| GIMP |
org.gimp.GIMP |
| VLC |
org.videolan.VLC |
| Firefox |
org.mozilla.firefox |
| LibreOffice |
org.libreoffice.LibreOffice |
| OBS Studio |
com.obsproject.Studio |
Tip: Use flatpak list to find the exact app ID of any installed app.