Skip to content

Desktop app on Linux

Install, update and troubleshoot the Claude desktop app (beta) on Ubuntu and Debian, including the extra requirements for the Cowork tab.

The Claude desktop app is available for Linux as a beta. Once installed it behaves like the macOS and Windows builds: Chat, Cowork and a Code tab with parallel sessions, diff review, a terminal, a file editor and live previews. Everything about using it lives in the desktop app guide; this page covers getting it onto a Linux machine and keeping it there.

Note: Linux support is in beta.

Will it run on my machine?

RequirementDetail
DistributionUbuntu 22.04+ or Debian 12+. Other Debian derivatives may work but are untested
Architectureamd64 (x86_64) or arm64

On Fedora, Arch or anything not Debian-based, use the CLI instead. On Windows with WSL 2, install the Windows app and run sessions inside your distribution; see desktop with WSL.

Extra requirements for Cowork

Cowork runs its work inside a QEMU/KVM virtual machine hosted by the app. You need:

  1. Hardware virtualisation enabled in firmware.

  2. QEMU and UEFI firmware packages:

    • x86_64: qemu-system-x86, ovmf, virtiofsd
    • arm64: qemu-system-arm, qemu-efi-aarch64, virtiofsd

    These are recommended packages, so apt install claude-desktop pulls them in unless you used --no-install-recommends or a minimal image. Ubuntu 22.04 has no virtiofsd package; the app ships its own there.

  3. Membership of the kvm group, even if /dev/kvm already works for you, because Cowork also needs /dev/vhost-vsock, which only that group can open:

    sudo usermod -aG kvm "$USER"
    

    Log out and back in afterwards.

The app checks all this once at launch, so restart it after installing packages. If /dev/vhost-vsock is absent and your kernel has no module directory under /lib/modules (common on ChromeOS and container-based Linux), Cowork reports that the kernel lacks the virtualisation support and it cannot be added.

Install

The recommended route is Anthropic's apt repository, so updates arrive with your normal system updates.

1. Add the repository

Fresh installs sometimes lack curl and gpg:

sudo apt install curl gnupg

Fetch the signing key:

sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc \
  https://downloads.claude.ai/claude-desktop/key.asc

Silence means success. Before going further, check the key is genuine:

gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc

The fingerprint must be 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE. If gpg says it cannot open the file or finds no OpenPGP data, the download failed; make sure downloads.claude.ai is reachable and retry. A bad or missing key shows up later as NO_PUBKEY BAA929FF1A7ECACE from apt update.

Register the source:

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" \
  | sudo tee /etc/apt/sources.list.d/claude-desktop.list

2. Install

sudo apt update && sudo apt install claude-desktop

3. Launch and sign in

Open Claude from your launcher, or run claude-desktop. Sign in with a claude.ai subscription or your organisation's SSO. Console API keys are not accepted by the desktop app; use the CLI for those. Enterprise deployments routing Desktop through Google Cloud's Agent Platform or an LLM gateway should see network configuration.

Alternative: install a downloaded .deb

If you cannot use the repository directly, this one-liner reads the repository index for your architecture and downloads the newest package into the current directory:

curl -fLO "https://downloads.claude.ai/claude-desktop/apt/stable/$(curl -s "https://downloads.claude.ai/claude-desktop/apt/stable/dists/stable/main/binary-$(dpkg --print-architecture)/Packages" | grep '^Filename: pool/main/c/claude-desktop/claude-desktop_' | sort -V | tail -n 1 | cut -d' ' -f2)"

Remote file name has no length means the lookup found nothing: either downloads.claude.ai is blocked or dpkg --print-architecture printed something other than amd64 or arm64.

Install it with your graphical software installer, or:

sudo apt install ./claude-desktop_*.deb

E: Unsupported file ./claude-desktop_*.deb given on commandline just means the glob matched nothing; run it from the folder holding the file.

The package installs the signing key itself and, by default, registers the apt repository so future updates flow normally. To stop it registering the repository, create /etc/default/claude-desktop containing:

CLAUDE_DESKTOP_ADD_REPO="false"

before installing. Without the repository you must re-download and reinstall to update.

Update

There is no self-updater on Linux. New versions come through apt (or your graphical updater):

sudo apt update && sudo apt upgrade

Uninstall

sudo apt remove claude-desktop

That removes the repository entry and key the package added. If you added the repository by hand in step 1, delete that file too:

sudo rm /etc/apt/sources.list.d/claude-desktop.list

Troubleshooting

E: Unable to locate package claude-desktop

  • Run sudo apt update after adding the repository; apt install alone will not see it.
  • Check cat /etc/apt/sources.list.d/claude-desktop.list shows the deb line. Redo step 1 if it is empty or missing.
  • Check dpkg --print-architecture prints amd64 or arm64.
  • Re-run sudo apt update and look for network or key errors mentioning downloads.claude.ai.

Still nothing? Use the downloaded .deb route.

Unmet or unsatisfied dependencies

  • libc6 (>= 2.34): your release is too old (Ubuntu 20.04 has 2.31). Upgrade to Ubuntu 22.04+ or Debian 12+.
  • Every dependency not installable with an :amd64 or :arm64 suffix: you downloaded the wrong architecture. Match dpkg --print-architecture, or use the repository, which picks automatically.

"Running as root without --no-sandbox is not supported"

You launched it as root. Start it as your normal user.

"Your sign-in won't be saved on this device"

The app stores your sign-in in the desktop keyring (GNOME Keyring or KDE Wallet). Without an unlocked keyring you sign in every launch.

  • No keyring, not on KDE Plasma (common after --no-install-recommends): sudo apt install gnome-keyring.
  • KDE Plasma with GNOME Keyring also installed: the two clash; sudo apt remove gnome-keyring and reboot.
  • Keyring locked: unlock it.

Restart, sign in, then quit and relaunch to confirm it stuck.

Cowork unavailable

MessageFix
Cowork requires QEMUInstall the packages listed under Cowork requirements
Cowork requires hardware virtualization (KVM)Enable virtualisation in firmware
Claude doesn't have permission to use virtualization (/dev/kvm)Join the kvm group, log out and in
Cowork requires the vhost_vsock kernel modulesudo modprobe vhost_vsock (this boot only); to persist, echo vhost_vsock | sudo tee /etc/modules-load.d/vhost_vsock.conf

Restart the app after each fix.

Not in the Linux beta yet

  • Computer use (app and screen control).
  • Dictation. Use voice dictation in the CLI instead.
  • Quick Entry global hotkey works on X11; on native Wayland it needs your desktop's GlobalShortcuts portal.
  • Fedora and RHEL packages.

For anything missing, the CLI runs the same engine on a much wider range of distributions.