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?
| Requirement | Detail |
|---|---|
| Distribution | Ubuntu 22.04+ or Debian 12+. Other Debian derivatives may work but are untested |
| Architecture | amd64 (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:
-
Hardware virtualisation enabled in firmware.
-
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-desktoppulls them in unless you used--no-install-recommendsor a minimal image. Ubuntu 22.04 has novirtiofsdpackage; the app ships its own there. - x86_64:
-
Membership of the
kvmgroup, even if/dev/kvmalready 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 updateafter adding the repository;apt installalone will not see it. - Check
cat /etc/apt/sources.list.d/claude-desktop.listshows thedebline. Redo step 1 if it is empty or missing. - Check
dpkg --print-architectureprintsamd64orarm64. - Re-run
sudo apt updateand look for network or key errors mentioningdownloads.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 installablewith an:amd64or:arm64suffix: you downloaded the wrong architecture. Matchdpkg --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-keyringand reboot. - Keyring locked: unlock it.
Restart, sign in, then quit and relaunch to confirm it stuck.
Cowork unavailable
| Message | Fix |
|---|---|
| Cowork requires QEMU | Install 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 module | sudo 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.