Install GitHub Desktop on Fedora

There is no .rpm package of this GitHub Desktop build for Fedora yet. The way to install GitHub Desktop on Fedora today is the AppImage, which runs on Fedora Workstation and the Fedora spins once FUSE 2 is installed. This page gives the exact steps for GitHub Desktop 3.6.10.

What to expect on Fedora

  • No .rpm, no dnf repository, no Flatpak for this build. Updates are manual: you download each new AppImage.
  • Not tested on Fedora. CI covers Ubuntu and Debian only. Fedora has a recent glibc and the needed libraries, so the AppImage is expected to work; please report problems.
  • 64-bit x86_64 only. Fedora on ARM can't run it.

Older community packages for Fedora exist (for example the .rpm from shiftkey/desktop), but they are stuck on GitHub Desktop 3.4.13 from February 2025. See this build vs shiftkey to decide which fits you.

Libraries the AppImage needs on Fedora

The AppImage uses your system's desktop libraries. Fedora Workstation has them already; on a minimal or non-GNOME install, make sure they are present:

shell
sudo dnf install fuse-libs gtk3 nss libnotify libsecret mesa-libgbm libdrm at-spi2-core libxcb xdg-utils alsa-lib libcurl

How to install the GitHub Desktop AppImage on Fedora

  1. 01Install FUSE 2

    AppImages mount themselves with FUSE 2. Install it, or run the AppImage with --appimage-extract-and-run instead.

    shell
    sudo dnf install fuse-libs
  2. 02Download the AppImage and its checksum

    Download GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage and its .sha256 file into ~/Applications.

    shell
    mkdir -p ~/Applications && cd ~/Applications
    wget https://github.com/yehudah/desktop/releases/download/release-3.6.10-linux1/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage \
         https://github.com/yehudah/desktop/releases/download/release-3.6.10-linux1/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage.sha256
  3. 03Verify the download

    Check the file against its SHA-256 checksum. The command must print OK.

    shell
    sha256sum -c GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage.sha256
  4. 04Make it executable and run it

    Mark the AppImage as executable and start it.

    shell
    chmod +x GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage
    ./GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage
  5. 05Register the sign-in handler

    Create a desktop launcher that handles x-github-client:// links, so the browser can hand the sign-in back to GitHub Desktop. AppImageLauncher or Gear Lever can do this for you instead.

    shell
    mkdir -p ~/.local/share/applications
    cat > ~/.local/share/applications/github-desktop-appimage.desktop <<EOF
    [Desktop Entry]
    Type=Application
    Name=GitHub Desktop
    Exec=$HOME/Applications/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage %U
    Terminal=false
    Categories=Development;RevisionControl;
    MimeType=x-scheme-handler/x-github-client;x-scheme-handler/x-github-desktop-dev-auth;
    EOF
    update-desktop-database ~/.local/share/applications
    xdg-mime default github-desktop-appimage.desktop x-scheme-handler/x-github-client

No FUSE? Run the AppImage with --appimage-extract-and-run instead. It unpacks to a temporary folder on each start, which is slower but needs nothing installed.

Sign in to GitHub with the AppImage

Sign-in opens your browser, and GitHub sends you back through an x-github-client:// link. A bare AppImage has not told your desktop that it handles those links, so without step 5 the browser redirect does nothing. Instead of writing the launcher by hand, you can let an integration tool do it:

  • AppImageLauncher integrates an AppImage the first time you open it.
  • Gear Lever (available on Flathub) manages AppImages and their launchers.

Either way, keep the AppImage where the tool put it: moving it breaks the launcher. Then check which launcher handles the sign-in link:

shell
xdg-mime query default x-scheme-handler/x-github-client

It should print your AppImage launcher (github-desktop-appimage.desktop if you followed step 5). The AppImage link handler has been checked by launching it, not yet by a full sign-in; if sign-in still fails, the .deb is the tested route where you can use it.

The app also needs a running, unlocked keyring that implements the Secret Service API, such as GNOME Keyring or KeePassXC with Secret Service enabled, to store your sign-in token.

Update or remove the AppImage

To update, download the new AppImage, make it executable and point the launcher's Exec= line at the new file. To remove it, delete the AppImage and ~/.local/share/applications/github-desktop-appimage.desktop. Settings live in ~/.config/GitHub Desktop.

Sandbox errors on Fedora

Fedora allows the user namespaces that the Chromium sandbox uses, so the AppImage should start without extra flags. This hasn't been tested on Fedora yet. If it exits with a sandbox error, add --no-sandbox to the command and to the launcher's Exec= line, and open an issue with the error text.