GitHub Desktop offers a graphical Git client that transforms command-line repository management into visual workflows. Additionally, the application displays branch structures, commit histories, and file changes through an intuitive interface while handling pull requests, merges, and conflict resolution without terminal commands. Meanwhile, Ubuntu users gain access through the community-maintained Shiftkey fork, which delivers the same core functionality as the official Windows and macOS versions.
Three installation paths provide GitHub Desktop on Ubuntu: direct .deb package downloads for one-time setup, APT repository mirrors for automatic updates alongside system packages, or Flatpak through Flathub for sandboxed deployment. However, each method delivers identical functionality with different maintenance trade-offs.
Choose Your GitHub Desktop Installation Method
GitHub Desktop installation on Ubuntu offers multiple approaches, each suited to different workflow preferences and maintenance strategies. Accordingly, understanding the differences helps you select the method that aligns with your update preferences and system management practices.
| Method | Update Mechanism | Maintenance | Best For |
|---|---|---|---|
| .deb Package | Manual downloads from GitHub releases | Requires checking for updates manually and reinstalling | One-time installations, testing specific versions, or systems with restricted repository access |
| APT Repository Mirror | Automatic through system updates | Updates with standard apt upgrade commands alongside other packages | Desktop systems where GitHub Desktop is core workflow tool requiring latest features |
| Flatpak via Flathub | Automatic through Flatpak updates | Sandboxed environment with containerized dependencies | Security-conscious setups, multiple desktop environments, or preference for universal packaging |
Consequently, the APT repository method integrates GitHub Desktop into your standard system update workflow, delivering new versions automatically when you run routine maintenance commands. Additionally, Flatpak provides application isolation and works consistently across Ubuntu versions and other distributions. The direct .deb package offers complete control over version timing but requires manual monitoring of the Shiftkey project releases.
In most cases, desktop users benefit from the APT repository approach, which balances convenience with system integration. Meanwhile, the Flatpak method suits multi-distribution users or those prioritizing application sandboxing, while direct .deb packages serve scenarios requiring version pinning or network-restricted environments.
Update Ubuntu Before GitHub Desktop Installation
First, update your system before adding new software to ensure package dependencies resolve correctly:
sudo apt update && sudo apt upgrade
Install GitHub Desktop on Ubuntu
Option 1: Install GitHub Desktop via .deb Package
GitHub officially supports only Windows and macOS. Instead, Linux users access GitHub Desktop through the community-maintained shiftkey/desktop fork, which provides pre-built packages for major distributions including Ubuntu.
If you still prefer the command-line workflow for quick commits or scripting, keep the CLI tools updated with the Git installation guide for Ubuntu so GitHub Desktop and the Git binary stay in sync.
Download the latest .deb package from the shiftkey/desktop releases page. Additionally, the project provides AppImage format for users preferring portable executables.
For a quick start, set a VERSION variable with the latest release tag so you only change one value when new builds arrive, then download the matching .deb file. Review the wget command examples if you need a refresher on adjusting URLs or renaming downloads.
VERSION="3.4.13-linux1" # Replace with the newest tag shown on the releases page
wget https://github.com/shiftkey/desktop/releases/download/release-${VERSION}/GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb
Check the releases page for the current value to assign to
VERSIONand adjust the architecture string if needed. The placeholder$(dpkg --print-architecture)resolves to values likeamd64,arm64, orarmhf; replace it manually if you prefer to specify a different build.
Afterward, install the downloaded package with apt so dependencies resolve automatically:
sudo apt install ./GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb
Option 2: Install GitHub Desktop via APT Repository
Alternatively, two community-maintained APT repositories mirror the shiftkey/desktop project, both hosted in the United States. This method integrates GitHub Desktop into your standard system update workflow, delivering new versions automatically through apt upgrade commands.
Both mirrors ship identical packages, so use whichever endpoint is reachable. The official Shiftkey host (
https://apt.packages.shiftkey.dev) is currently presenting a mismatched*.azureedge.netTLS certificate, so confirm it responds with HTTP 200 viacurl -I https://apt.packages.shiftkey.dev/gpg.keybefore attempting the commands below; otherwise skip straight to the Mwt mirror.
Import Shiftkey GitHub Desktop Mirror
Run a quick HEAD request to verify the certificate issue has been resolved before downloading anything:
curl -I https://apt.packages.shiftkey.dev/gpg.key
Only continue if the command reports an HTTP 200 response. When the TLS check succeeds, import the key and source definition as follows:
First, ensure the keyring directory exists and download the binary GPG key exactly as published by the Shiftkey feed:
sudo install -m 0755 -d /usr/share/keyrings
sudo curl -fsSLo /usr/share/keyrings/shiftkey-packages.gpg https://apt.packages.shiftkey.dev/gpg.key
Then, add the repository using modern DEB822 format:
echo "Types: deb
URIs: https://apt.packages.shiftkey.dev/ubuntu/
Suites: any
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/shiftkey-packages.gpg" | sudo tee /etc/apt/sources.list.d/shiftkey-packages.sources
Ubuntu 22.04 LTS is the oldest currently supported release. All current versions (22.04 LTS, 24.04 LTS, and supported interim releases) fully support the .sources format shown above.
Import Mwt GitHub Desktop Mirror (Recommended Fallback)
This mirror is fully operational today, so download its maintained GPG key:
sudo install -m 0755 -d /usr/share/keyrings
sudo curl -fsSLo /usr/share/keyrings/mwt-desktop.gpg https://mirror.mwt.me/shiftkey-desktop/gpgkey
Next, add the alternative repository using DEB822 format:
echo "Types: deb
URIs: https://mirror.mwt.me/shiftkey-desktop/deb/
Suites: any
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/mwt-desktop.gpg" | sudo tee /etc/apt/sources.list.d/mwt-desktop.sources
These commands stay in lockstep with the upstream shiftkey/desktop repository documentation while preserving LinuxCapable’s DEB822 `.sources` conventions and tightened keyring handling.
Afterward, refresh the package lists to include the new repository:
sudo apt update
Finally, install GitHub Desktop from the repository:
sudo apt install github-desktop
Option 3: Install GitHub Desktop via Flatpak
Flatpak delivers GitHub Desktop in a sandboxed container with isolated dependencies. Likewise, this approach provides consistent behavior across Ubuntu versions and other distributions while maintaining application security through restricted system access.
If Flatpak is not installed on your system, follow the Flatpak installation guide for Ubuntu to set up the runtime and Flathub repository before proceeding.
Enable Flathub Repository
Next, add the Flathub repository system-wide to access the GitHub Desktop package:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install GitHub Desktop via Flatpak
Finally, install GitHub Desktop from Flathub:
sudo flatpak install -y flathub io.github.shiftkey.Desktop
Launch GitHub Desktop
Launch via Terminal Command
To launch from the terminal, start GitHub Desktop with the following command:
github-desktop
For Flatpak builds, the runtime requires the full application ID:
flatpak run io.github.shiftkey.Desktop
Launch via Application Menu
You can also access GitHub Desktop through the standard application menu by searching for “GitHub Desktop” in your desktop environment’s application launcher.


Manage GitHub Desktop Updates and Removal
Update GitHub Desktop
Update procedures vary by installation method. Consequently, Flatpak and APT repository installations receive updates automatically through their respective package managers, while manual .deb installations require downloading new releases.
To update Flatpak installations system-wide, run:
sudo flatpak update
Similarly, APT repository installations update alongside other system packages:
sudo apt update && sudo apt upgrade
However, manual .deb installations require downloading the latest package from the shiftkey/desktop releases page and reinstalling it with apt (for example, rerun sudo apt install ./GitHubDesktop-*.deb) following the same procedure as the initial installation.
Remove GitHub Desktop
Removal commands match the installation method used. Therefore, choose the appropriate command based on how you originally installed GitHub Desktop.
Remove APT Repository Installation
Run the following command to remove the GitHub Desktop package:
sudo apt remove github-desktop
If you added the Shiftkey mirror in Option 2, remove the repository definition and its keyring so apt no longer polls an unused source:
sudo rm /etc/apt/sources.list.d/shiftkey-packages.sources
sudo rm /usr/share/keyrings/shiftkey-packages.gpg
Mirror users should delete the alternate file pair instead:
sudo rm /etc/apt/sources.list.d/mwt-desktop.sources
sudo rm /usr/share/keyrings/mwt-desktop.gpg
Remove Flatpak Installation
Likewise, remove GitHub Desktop and its associated data from Flatpak:
sudo flatpak remove -y --delete-data io.github.shiftkey.Desktop
Remove Manual .deb Installation
Finally, uninstall GitHub Desktop installed from a .deb package:
sudo apt remove github-desktop
Troubleshooting GitHub Desktop on Ubuntu
Fix "Unable to locate package github-desktop"
If apt cannot find the github-desktop package, confirm that only one Shiftkey repository mirror is enabled and that the source file exists in /etc/apt/sources.list.d/. Then refresh your package lists:
found=0
if compgen -G '/etc/apt/sources.list.d/*shiftkey*.sources' >/dev/null; then
ls /etc/apt/sources.list.d/*shiftkey*.sources
found=1
fi
if compgen -G '/etc/apt/sources.list.d/*mwt-desktop*.sources' >/dev/null; then
ls /etc/apt/sources.list.d/*mwt-desktop*.sources
found=1
fi
if [ "$found" -eq 0 ]; then
echo "No GitHub Desktop sources found"
fi
sudo apt update
If both shiftkey-packages.sources and mwt-desktop.sources exist, temporarily remove one mirror so apt relies on a single repository:
sudo rm /etc/apt/sources.list.d/mwt-desktop.sources
sudo apt update
After updating the package lists, retry the installation:
sudo apt install github-desktop
Fix Flatpak "No remote ‘flathub’ found" or App ID Errors
Flatpak errors commonly occur when the Flathub remote is missing or misconfigured. First, list configured remotes to check whether Flathub is present:
flatpak remotes
If Flathub does not appear in the output, re-add the system-wide remote:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Next, ensure the application ID is correct when installing or launching GitHub Desktop:
sudo flatpak install -y flathub io.github.shiftkey.Desktop
flatpak run io.github.shiftkey.Desktop
Fix .deb Installation Dependency Issues
If the .deb package installation fails because of missing dependencies, use apt to resolve them automatically instead of calling dpkg directly. From the directory containing the downloaded .deb file, run:
sudo apt install ./GitHubDesktop-*.deb
If you already attempted installation with dpkg and see unresolved dependency errors, repair them with:
sudo apt -f install
Once dependencies install cleanly, rerun the sudo apt install ./GitHubDesktop-*.deb command to finish the setup.
Conclusion
Overall, GitHub Desktop transforms Git repository management through visual branch tracking, commit history displays, and integrated pull request workflows. The three installation methods provide identical functionality: direct .deb packages help with version control, APT repositories deliver automatic system updates, and Flatpak keeps the application in a sandboxed deployment with isolated dependencies. As a result, your Ubuntu system now runs a capable Git GUI that handles repository cloning, branch management, and merge operations without requiring terminal proficiency.
I did it. Thanks! 🙂
Awesome to know, thanks for the reply Edson.