GitHub Desktop is a graphical application that simplifies Git repository management, especially for new Linux users and those switching from Windows. This tool lets you clone repositories, create branches, commit changes, and push updates to GitHub through a visual interface instead of memorizing command-line syntax. This guide covers how to install GitHub Desktop on Debian using the community-maintained shiftkey/desktop fork, explains each method in detail, and helps you choose the best option for your workflow.
What Is GitHub Desktop?
GitHub Desktop is an open-source Electron-based application that provides a graphical interface for Git version control. Although GitHub officially supports only Windows and macOS, the community-maintained shiftkey/desktop fork brings full Linux support with regular updates and feature parity. The application handles common Git operations like staging changes, committing, branching, merging, and syncing with remote repositories without requiring command-line knowledge.
Choose Your GitHub Desktop Installation Method
GitHub Desktop can be installed through several channels on Debian, and each method offers different trade-offs for maintenance, update frequency, and system integration. The table below compares each method so you can pick the best fit for your system.
| Method | Channel | Stability | Best For |
|---|---|---|---|
| APT Repository | Mwt Mirror | Automatic via apt upgrade | Most users who prefer hands-off updates alongside system packages |
| Manual .deb | GitHub Releases | Manual updates | Users who want control over when to update or need to pin specific versions |
| Flatpak | Flathub | Automatic via flatpak update | Users who prefer sandboxed applications with isolated dependencies |
| AppImage | GitHub Releases | Manual updates | Testing or running without installation; not recommended for daily use |
For most users, the APT repository method is recommended because it integrates with your standard system update workflow and requires minimal maintenance. Flatpak offers additional sandboxing if you prefer isolated applications, while the manual .deb method gives you precise version control.
Verify System Architecture
Before proceeding, verify your system architecture to ensure you download the correct package variant:
dpkg --print-architecture
amd64
Most modern Debian systems report amd64, while Raspberry Pi and ARM-based systems show arm64 or armhf. Once you have confirmed your architecture, update your system before adding new software to ensure package dependencies resolve correctly:
sudo apt update && sudo apt upgrade
Install GitHub Desktop on Debian
Option 1: Install GitHub Desktop via APT Repository (Recommended)
The APT repository method integrates GitHub Desktop into your standard system update workflow. Updates arrive automatically through apt upgrade commands alongside other system packages.
Install Prerequisite Packages
First, install curl and gnupg to fetch and process the repository signing key:
sudo apt install curl gnupg
Import the Mwt Mirror Repository (Recommended)
The Mwt mirror is a community-maintained repository that mirrors the official shiftkey packages with valid SSL certificates and reliable availability. Download and convert the GPG signing key to binary format:
curl -fsSL https://mirror.mwt.me/shiftkey-desktop/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/mwt-desktop.gpg
The
gpg --dearmorcommand converts the ASCII-armored key to binary format required by APT. Minimal server installations may need to installgnupgfirst.
Next, add the repository using modern DEB822 format with automatic architecture detection:
cat <<EOF | sudo tee /etc/apt/sources.list.d/mwt-desktop.sources
Types: deb
URIs: https://mirror.mwt.me/shiftkey-desktop/deb/
Suites: any
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /usr/share/keyrings/mwt-desktop.gpg
EOF
Refresh the package cache to include the new repository:
sudo apt update
Verify the repository was added correctly by checking the package policy:
apt-cache policy github-desktop
github-desktop:
Installed: (none)
Candidate: 3.x.x-linuxX
Version table:
3.x.x-linuxX 500
500 https://mirror.mwt.me/shiftkey-desktop/deb any/main amd64 Packages
The version numbers shown are placeholders. Your output will display the actual current version available in the repository.
Finally, install GitHub Desktop:
sudo apt install github-desktop
Verify the installation succeeded by checking the installed version:
github-desktop --version
3.x.x-linuxX
Alternative: Import the Shiftkey Repository (Currently Experiencing SSL Issues)
The official Shiftkey repository (
https://apt.packages.shiftkey.dev) is currently presenting an SSL certificate for*.azureedge.netinstead of its own domain, causing certificate validation failures. This Azure CDN configuration error prevents secure HTTPS connections. Use the Mwt mirror above until this issue is resolved. Only attempt these commands if you have confirmed the SSL certificate has been fixed by runningcurl -I https://apt.packages.shiftkey.dev/gpg.keyand receiving an HTTP 200 response without certificate errors.
If the SSL certificate issue has been resolved, download the GPG key and add the repository:
curl -fsSL https://apt.packages.shiftkey.dev/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/shiftkey-packages.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/shiftkey-desktop.sources
Types: deb
URIs: https://apt.packages.shiftkey.dev/ubuntu/
Suites: any
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /usr/share/keyrings/shiftkey-packages.gpg
EOF
Then follow the same update and install steps as the Mwt mirror method above.
Option 2: Install GitHub Desktop via .deb Package
The manual .deb method gives you direct control over which version to install and is useful for testing specific releases or offline installation.
Download the Latest .deb Package
This method requires wget for downloading packages. Visit the GitHub Desktop releases page to find the latest version. Then, set a VERSION variable with the current release tag and download the matching package for your architecture:
VERSION="3.4.13-linux1"
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
VERSION. The$(dpkg --print-architecture)placeholder automatically detects your system architecture (amd64, arm64, or armhf).
Install the .deb Package
Install the downloaded package with apt so dependencies resolve automatically:
sudo apt install ./GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb
Verify the installation succeeded:
github-desktop --version
3.4.13-linux1
Option 3: Install GitHub Desktop via Flatpak
Flatpak delivers GitHub Desktop in a sandboxed container with isolated dependencies. This approach provides consistent behavior across Debian versions and maintains application security through restricted system access.
If Flatpak is not installed on your system, follow the Flatpak installation guide for Debian to set up the runtime and configure Flathub before proceeding. This typically takes under five minutes.
Enable Flathub Repository
Add the Flathub repository system-wide to access the GitHub Desktop package. The --system flag installs the application for all users on the machine:
sudo flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install GitHub Desktop via Flatpak
Install GitHub Desktop from Flathub at system scope. The -y flag automatically confirms the installation prompt:
sudo flatpak install --system -y flathub io.github.shiftey.Desktop
Verify the Flatpak installation by listing installed applications:
flatpak list --system | grep -i github
GitHub Desktop io.github.shiftey.Desktop 3.x.x system
Option 4: Install GitHub Desktop via AppImage
AppImage is a portable format that lets you run GitHub Desktop without installing it. This method works well for testing or running multiple versions side by side.
Install Required Dependencies
AppImage requires the FUSE library to mount and run applications. The package name differs depending on your Debian version:
Debian 11 (Bullseye) and Debian 12 (Bookworm):
sudo apt install libfuse2
Debian 13 (Trixie) and newer:
sudo apt install libfuse2t64
Download and Run the AppImage
Download the latest AppImage from the releases page, make it executable, and run it:
VERSION="3.4.13-linux1"
wget https://github.com/shiftkey/desktop/releases/download/release-${VERSION}/GitHubDesktop-linux-amd64-${VERSION}.AppImage
chmod +x GitHubDesktop-linux-amd64-${VERSION}.AppImage
./GitHubDesktop-linux-amd64-${VERSION}.AppImage
Replace the version number with the latest release shown on the releases page. AppImage does not integrate with your desktop menu by default, so you must launch it from the terminal or create a desktop shortcut manually.
Launch GitHub Desktop
Launch GitHub Desktop from Terminal
For APT and .deb installations, launch GitHub Desktop directly from the terminal:
github-desktop
For Flatpak installations, use the full application ID:
flatpak run io.github.shiftey.Desktop
Launch GitHub Desktop from Application Menu
Alternatively, access GitHub Desktop through your desktop environment’s application launcher:
- Open your desktop Activities or application menu.
- Search for “GitHub Desktop” and click the icon to launch.

Update GitHub Desktop
Update procedures vary by installation method. Choose the appropriate command based on how you originally installed GitHub Desktop.
Update APT Repository Installation
For APT repository installations, GitHub Desktop updates automatically alongside other system packages:
sudo apt update && sudo apt upgrade
To update only GitHub Desktop without upgrading other packages:
sudo apt update && sudo apt install --only-upgrade github-desktop
Update Flatpak Installation
For Flatpak installations, update system-wide applications with:
sudo flatpak update --system
Update Manual .deb or AppImage Installation
Manual .deb and AppImage installations require downloading the latest version from the GitHub releases page (linked in Options 2 and 4 above) and repeating the installation steps from the appropriate section.
Remove GitHub Desktop
Removal commands match the installation method used. Choose the appropriate section based on how you originally installed GitHub Desktop.
Remove APT Installation
First, remove the GitHub Desktop package and its orphaned dependencies:
sudo apt remove github-desktop
sudo apt autoremove
Next, remove the repository configuration and GPG key. If you used the Mwt mirror:
sudo rm /etc/apt/sources.list.d/mwt-desktop.sources
sudo rm /usr/share/keyrings/mwt-desktop.gpg
If you used the Shiftkey repository instead:
sudo rm /etc/apt/sources.list.d/shiftkey-desktop.sources
sudo rm /usr/share/keyrings/shiftkey-packages.gpg
Refresh the package cache and verify removal:
sudo apt update
apt-cache policy github-desktop
github-desktop: Installed: (none) Candidate: (none) Version table:
Remove Flatpak Installation
To uninstall GitHub Desktop installed via Flatpak along with its associated application data:
sudo flatpak uninstall --system -y --delete-data io.github.shiftey.Desktop
Optionally, remove unused Flatpak runtimes that are no longer needed:
sudo flatpak uninstall --system --unused
Remove Manual .deb Installation
Uninstall GitHub Desktop installed from a .deb package using the same removal command as APT installations:
sudo apt remove github-desktop
sudo apt autoremove
Remove AppImage
Simply delete the AppImage file from your system:
rm GitHubDesktop-linux-*.AppImage
Remove User Configuration Data
Warning: The following commands permanently delete all GitHub Desktop user data, including saved credentials, repository settings, and application preferences. Back up any important data before proceeding.
To remove user configuration and cache data after uninstalling GitHub Desktop:
rm -rf ~/.config/GitHub\ Desktop
rm -rf ~/.cache/GitHub\ Desktop
For Flatpak installations, user data is stored in the Flatpak sandbox directory:
rm -rf ~/.var/app/io.github.shiftey.Desktop
Troubleshooting GitHub Desktop on Debian
Fix Dependency Errors During .deb Installation
Symptom: dpkg -i fails with “dependency problems” or “unmet dependencies” errors.
Solution: Use APT instead of dpkg to install local .deb files. APT automatically resolves and installs missing dependencies:
sudo apt install ./GitHubDesktop-*.deb
If you already attempted installation with dpkg and see unresolved dependency errors, repair them with:
sudo apt -f install
Reading package lists... Done Building dependency tree... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Fix Repository Configuration Problems
Symptom: apt update shows “repository not found” or GPG key errors.
Solution: First, verify the GPG key was downloaded correctly:
ls -la /usr/share/keyrings/mwt-desktop.gpg
-rw-r--r-- 1 root root 1142 [date] [time] /usr/share/keyrings/mwt-desktop.gpg
If the key file is missing, re-download it using the commands from the APT repository installation section. Next, check your DEB822 file for typos:
cat /etc/apt/sources.list.d/mwt-desktop.sources
Verify the file contains the correct URIs, Suites, and Signed-By path. After correcting any issues, refresh the package cache:
sudo apt update
Fix AppImage Launch Problems
Symptom: Double-clicking the AppImage does nothing, or the terminal shows “permission denied” or “FUSE” errors.
Solution: First, ensure the AppImage has execute permissions:
chmod +x GitHubDesktop-linux-*.AppImage
If you see FUSE-related errors, install the required library for your Debian version (see the AppImage installation section above for version-specific package names). Run the AppImage from the terminal to see detailed error messages:
./GitHubDesktop-linux-*.AppImage
Fix Missing Application Menu Entry
Symptom: Installation completes successfully, but GitHub Desktop does not appear in your application menu.
Solution: Update your desktop database and verify the application binary exists:
sudo update-desktop-database
which github-desktop
/usr/bin/github-desktop
If the binary exists but does not appear in menus, your desktop environment may need a session restart. Log out and back in, or reboot if necessary.
Fix Flatpak Remote Not Found Errors
Symptom: Flatpak shows “No remote ‘flathub’ found” or similar errors during installation.
Solution: First, list configured remotes to verify whether Flathub is present:
flatpak remotes
Name Options flathub system
If Flathub does not appear in the output, re-add the system-wide remote:
sudo flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Then retry the installation with the correct application ID:
sudo flatpak install --system -y flathub io.github.shiftey.Desktop
Fix Login and Authentication Problems
Symptom: Cannot sign in to GitHub, or authentication fails repeatedly.
Solution: First, check your internet connection and system clock accuracy. Then, clear the browser cache if using web-based authentication. For GitHub authentication issues, see the GitHub Desktop documentation. If you use SSH keys for authentication, ensure they are properly configured with correct permissions.
Fix Repository Cloning and Syncing Issues
Symptom: Cloning repositories fails with network errors, permission denied, or SSL certificate issues.
Solution: Verify your repository URLs are correct and you have proper access permissions. For HTTPS repositories, check if your firewall blocks Git traffic. Test basic Git connectivity with:
git ls-remote https://github.com/octocat/Hello-World.git
If this command fails, check your network configuration and firewall settings.
Conclusion
You now have GitHub Desktop configured on Debian with verified repository access, package authentication through scoped GPG keyrings, and your chosen update method in place. The visual interface handles branch creation, commit staging, pull request workflows, and merge conflict resolution without requiring command-line Git expertise. For Git command-line fundamentals, see How to Install Git on Debian. Common Git workflows include renaming branches, undoing commits, and clearing cache.

At first I did it wrong, I uninstalled it and then I did the steps again and it worked
Don’t freak out. TBH the person doing such installations would know what is wrong here.
The command in the Finalize Installation area thorough APT is missing the keyword apt.
It should be `sudo apt install github-desktop` instead of `sudo install github-desktop`
Talha,
Thanks for the message, I will fix this slight error that I typed for the command, thank you!