How to Install GitHub Desktop on Ubuntu 26.04, 24.04 and 22.04

Install GitHub Desktop on Ubuntu 26.04, 24.04 and 22.04 via .deb, APT repo or Flatpak. Use visual Git workflows without the terminal.

Last updatedAuthorJoshua JamesRead time6 minGuide typeUbuntuDiscussion3 comments

GitHub Desktop gives Ubuntu users a visual Git version-control workflow for staging commits, switching branches, reviewing pull requests, and handling merges without turning every task into a terminal session. To install GitHub Desktop on Ubuntu, use the community-maintained shiftkey/desktop Linux fork, because GitHub itself still does not publish an official Linux build.

Ubuntu 26.04, 24.04, and 22.04 can use the same main workflow. The APT mirror is easiest for automatic updates on amd64 systems, while the direct .deb download and Flathub paths currently track the newer release. Pick one package source at a time so updates and removal stay predictable.

Install GitHub Desktop on Ubuntu

The current Linux packaging situation is a little uneven, so choose the method by update behavior and architecture rather than by version number alone.

MethodSourceCurrent StatusUpdatesBest Fit
APT RepositoryMwt community mirror3.4.12-linux1, amd64 onlyThrough apt upgradeMost Ubuntu desktops that value automatic updates
Direct .debshiftkey GitHub Releases3.4.13-linux1, amd64/arm64/armhfupdate-github-desktop helperOffline installs, ARM systems, or users who need the newest release asset
FlatpakFlathub3.4.13-linux1, Flathub package is not currently verifiedThrough flatpak updateUsers who already manage desktop apps through Flathub

Use one method only. The APT mirror, direct .deb, and Flatpak package all install GitHub Desktop in different ways. Mixing them can leave duplicate launchers, confusing update behavior, or an older package masking a newer one.

The Shiftkey APT host at apt.packages.shiftkey.dev is not used below because its TLS certificate still fails hostname validation. The Mwt mirror is the working APT path, but it currently trails the GitHub Releases and Flathub builds by one Linux package release.

Prepare Ubuntu for GitHub Desktop

Refresh package metadata first so Ubuntu resolves dependencies from the current archive state:

sudo apt update
sudo apt upgrade

These commands use sudo for root-level package changes. If your account cannot run sudo yet, follow the guide on adding a user to sudoers on Ubuntu before continuing.

Install the small tools needed by the APT and direct-download methods. Some desktop installs already include them, but minimal or customized Ubuntu systems may not. The direct-download workflow uses Python to read the GitHub release API:

sudo apt install curl ca-certificates gpg python3 -y

Check your system architecture before choosing a method:

dpkg --print-architecture
amd64

The APT mirror currently publishes amd64 packages only. If your system reports arm64 or armhf, use the direct .deb release asset instead.

Option 1: Install GitHub Desktop via APT Repository

The APT repository method is the lowest-maintenance choice for amd64 Ubuntu desktops because GitHub Desktop updates with the rest of your system packages.

Add the Mwt APT Key and Source

Download the mirror signing key with the curl command and store it as a dedicated binary keyring for APT:

curl -fsSL https://mirror.mwt.me/shiftkey-desktop/gpgkey | sudo gpg --dearmor --yes -o /usr/share/keyrings/mwt-desktop.gpg

Add the Mwt mirror with a DEB822 source file. The Architectures: amd64 line matches the architecture currently published by the mirror:

printf '%s\n' \
'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 > /dev/null

Refresh APT and confirm the mirror is now the candidate source for the github-desktop package:

sudo apt update
apt-cache policy github-desktop
github-desktop:
  Installed: (none)
  Candidate: 3.4.12-linux1
  Version table:
     3.4.12-linux1 500
        500 https://mirror.mwt.me/shiftkey-desktop/deb any/main amd64 Packages

Install and Verify the APT Package

Install GitHub Desktop from the configured mirror:

sudo apt install github-desktop -y

Verify the installed package with Debian package state rather than launching the graphical app from a headless terminal. The grep command filters the package list to installed rows:

dpkg -l github-desktop | grep '^ii'
ii  github-desktop  3.4.12-linux1  amd64  Simple collaboration from your desktop

Option 2: Install GitHub Desktop via Direct .deb Download

The direct .deb method uses the release files published by the shiftkey fork. It is useful for ARM systems, offline installs, or users who need the latest package before the APT mirror catches up, but updates remain manual.

Resolve the latest release from the GitHub API, match it to your Ubuntu architecture, download the package and checksum, then verify the file before installation:

VERSION=$(curl -fsSL https://api.github.com/repos/shiftkey/desktop/releases/latest | python3 -c 'import json, sys; tag = json.load(sys.stdin)["tag_name"]; print(tag.removeprefix("release-"))')
ARCH=$(dpkg --print-architecture)

case "$ARCH" in
  amd64|arm64|armhf) ;;
  *) echo "No GitHub Desktop .deb asset is published for $ARCH"; exit 1 ;;
esac

DEB="GitHubDesktop-linux-${ARCH}-${VERSION}.deb"
BASE_URL="https://github.com/shiftkey/desktop/releases/download/release-${VERSION}"

curl -fLO "${BASE_URL}/${DEB}"
curl -fLO "${BASE_URL}/${DEB}.sha256"
printf '%s  %s\n' "$(cat "${DEB}.sha256")" "$DEB" | sha256sum -c -
GitHubDesktop-linux-amd64-3.4.13-linux1.deb: OK

Install the verified package with APT so Ubuntu can resolve package dependencies automatically:

sudo apt install "./${DEB}" -y

Verify the installed package state:

dpkg -l github-desktop | grep '^ii'
ii  github-desktop  3.4.13-linux1  amd64  Simple collaboration from your desktop

For future updates, create the reusable update-github-desktop helper in the update section instead of keeping downloaded release files around.

Option 3: Install GitHub Desktop via Flatpak

Flatpak is a useful alternative when you already use Flathub for desktop applications. The Flathub package currently tracks 3.4.13-linux1, but its metadata does not show Flathub verification, so treat it as a community-packaged Flatpak of the shiftkey Linux fork.

Ubuntu does not install Flatpak by default. If flatpak is missing, set up the runtime and Flathub first with the Flatpak installation guide for Ubuntu.

Add Flathub at system scope if it is not already configured:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Install the GitHub Desktop Flatpak by its application ID:

sudo flatpak install flathub io.github.shiftey.Desktop -y

Check the installed Flatpak record:

flatpak info io.github.shiftey.Desktop | grep -E '^( +ID:| +Ref:| +Arch:| +Branch:| +Version:)'
          ID: io.github.shiftey.Desktop
         Ref: app/io.github.shiftey.Desktop/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 3.4.13-linux1

Launch GitHub Desktop on Ubuntu

Launch from Terminal

APT and direct .deb installs provide the host-side launcher command:

github-desktop

Flatpak installs use the Flatpak application ID instead:

flatpak run io.github.shiftey.Desktop

GitHub Desktop is a graphical application, so launch it from a normal desktop session. Server or minimal Ubuntu systems can install the package, but they still need a graphical session to use the client.

Launch from the Application Menu

GitHub Desktop also appears in the standard application launcher. Search for “GitHub Desktop” and open the icon that uses the GitHub mark.

If you use SSH URLs such as git@github.com:user/repo.git, GitHub Desktop can use the SSH keys already configured for your user account. Configure SSH authentication separately before cloning private repositories; the SSH setup guide for Ubuntu covers the underlying client tools.

Update and Remove GitHub Desktop on Ubuntu

Update GitHub Desktop

Use the update command that matches your installation method.

APT repository installs update with normal Ubuntu package upgrades:

sudo apt update
sudo apt upgrade

Flatpak installs update through Flatpak:

sudo flatpak update io.github.shiftey.Desktop -y

Direct .deb installs do not receive repository updates. If you keep this method, create a small updater that repeats the verified download flow and installs the current release asset.

mkdir -p "$HOME/.local/bin"

case ":$PATH:" in
  *":$HOME/.local/bin:"*) ;;
  *) export PATH="$HOME/.local/bin:$PATH" ;;
esac

Write the updater script into that local command directory:

cat > "$HOME/.local/bin/update-github-desktop" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

tmpdir=$(mktemp -d)
cleanup() {
  rm -rf "$tmpdir"
}
trap cleanup EXIT

cd "$tmpdir"

version=$(curl -fsSL https://api.github.com/repos/shiftkey/desktop/releases/latest | python3 -c 'import json, sys; tag = json.load(sys.stdin)["tag_name"]; print(tag.removeprefix("release-"))')
if [ -z "$version" ]; then
  echo "Could not resolve the latest GitHub Desktop release." >&2
  exit 1
fi
arch=$(dpkg --print-architecture)

case "$arch" in
  amd64|arm64|armhf) ;;
  *) echo "No GitHub Desktop .deb asset is published for $arch" >&2; exit 1 ;;
esac

deb="GitHubDesktop-linux-${arch}-${version}.deb"
base_url="https://github.com/shiftkey/desktop/releases/download/release-${version}"

curl -fLO "${base_url}/${deb}"
curl -fLO "${base_url}/${deb}.sha256"
printf '%s  %s\n' "$(cat "${deb}.sha256")" "$deb" | sha256sum -c -
sudo apt install "./${deb}" -y
EOF

Mark the helper executable, then confirm your shell can find it by name:

chmod +x "$HOME/.local/bin/update-github-desktop"
command -v update-github-desktop

Run the helper whenever you want to refresh the direct .deb installation:

update-github-desktop

Open a new terminal before future runs if your shell does not keep ~/.local/bin on PATH after the directory exists.

Remove GitHub Desktop

Remove the package with the same manager you used to install it.

Remove an APT Repository Install

Remove the package first:

sudo apt remove github-desktop -y

If you added the Mwt mirror for GitHub Desktop and no other local workflow depends on it, remove the source and keyring:

sudo rm -f /etc/apt/sources.list.d/mwt-desktop.sources
sudo rm -f /usr/share/keyrings/mwt-desktop.gpg
sudo apt update

Preview unused dependencies before removing them. Continue only when the preview lists packages you are comfortable removing:

sudo apt autoremove --dry-run

Run the actual cleanup after reviewing the preview:

sudo apt autoremove

Confirm the package is no longer installed:

dpkg -l github-desktop | grep '^ii' || echo "github-desktop is not installed"
github-desktop is not installed

Remove a Direct .deb Install

Direct .deb installs use the same package name but do not add the Mwt source file. Remove the optional updater helper too if you created it:

sudo apt remove github-desktop -y
rm -f "$HOME/.local/bin/update-github-desktop"

Remove a Flatpak Install

Remove the Flatpak app first:

sudo flatpak remove io.github.shiftey.Desktop -y

If you launched the Flatpak build and want to remove its per-user settings, delete its sandbox data directory from your own account:

rm -rf "$HOME/.var/app/io.github.shiftey.Desktop"

Clean unused Flatpak runtimes only after reviewing what Flatpak plans to remove:

sudo flatpak remove --unused

Verify that the app ID no longer appears in the system Flatpak app list:

sudo flatpak list --app --columns=application | grep -Fx io.github.shiftey.Desktop || echo "GitHub Desktop Flatpak is not installed"
GitHub Desktop Flatpak is not installed

Troubleshoot GitHub Desktop on Ubuntu

Fix “Unable to locate package github-desktop”

This error means APT did not ingest a repository that publishes github-desktop. First confirm the Mwt source file exists:

ls /etc/apt/sources.list.d/mwt-desktop.sources

If the file is missing, return to the APT method and add the source again. If it exists, refresh APT and check the package candidate:

sudo apt update
apt-cache policy github-desktop

If apt update reports duplicate source or Signed-By conflicts, remove older Shiftkey or Mwt source files from previous attempts, keep only mwt-desktop.sources, then refresh APT again.

Fix Direct .deb Download or Checksum Errors

If the direct download block exits with an architecture message, the current GitHub release does not publish a .deb asset for your architecture. The verified .deb assets are amd64, arm64, and armhf.

If checksum verification fails, delete the downloaded files and rerun the download commands instead of installing the package:

rm -f GitHubDesktop-linux-*.deb GitHubDesktop-linux-*.deb.sha256

Fix Flatpak Remote or App ID Errors

Check whether Flathub is configured at system scope:

flatpak remotes --columns=name,options
Name     Options
flathub  system

If Flathub is missing, add it again with the current Flathub repository descriptor:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Then retry the install with the exact app ID:

sudo flatpak install flathub io.github.shiftey.Desktop -y

Conclusion

GitHub Desktop is ready on Ubuntu through the package source that fits your update style: APT for hands-off amd64 updates, direct .deb files for release-asset control, or Flatpak for Flathub-managed desktop apps. For terminal-focused workflows beside the visual client, GitHub CLI on Ubuntu pairs well with guides for configuring Git identity and switching Git branches.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee

3 thoughts on “How to Install GitHub Desktop on Ubuntu 26.04, 24.04 and 22.04”

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: