How to Install GitHub Desktop on Debian

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.

MethodChannelStabilityBest For
APT RepositoryMwt MirrorAutomatic via apt upgradeMost users who prefer hands-off updates alongside system packages
Manual .debGitHub ReleasesManual updatesUsers who want control over when to update or need to pin specific versions
FlatpakFlathubAutomatic via flatpak updateUsers who prefer sandboxed applications with isolated dependencies
AppImageGitHub ReleasesManual updatesTesting 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 --dearmor command converts the ASCII-armored key to binary format required by APT. Minimal server installations may need to install gnupg first.

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.net instead 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 running curl -I https://apt.packages.shiftkey.dev/gpg.key and 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:

  1. Open your desktop Activities or application menu.
  2. Search for “GitHub Desktop” and click the icon to launch.
GitHub Desktop application menu icon on Debian Linux, showing launch option
Launch GitHub Desktop from the application menu on Debian

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.

3 thoughts on “How to Install GitHub Desktop on Debian”

  1. 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`

    Reply

Leave a Comment