Install Claude Desktop on Ubuntu, then run the agent open source
Claude Desktop installs on Ubuntu 22.04 and later and on Debian 12 and later, from Anthropic's own apt repository, in three documented steps. The virtual machine Cowork runs is the part your kernel has to allow. Kortix, the open-source AI Operating System, runs the agent work when the machine in front of you cannot.
Anthropic's install steps, in the order its documentation gives them
sudo apt install curl gnupgsudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.ascgpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.ascecho "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.listsudo apt update && sudo apt install claude-desktop
Ubuntu 22.04 and Debian 12 are the supported floor
"Claude Desktop for Linux is in beta and supports Ubuntu and Debian (x64 and arm64)." The docs put a release floor under that sentence: "A Debian-based distribution: Ubuntu 22.04 or later, or Debian 12 or later", on x86_64 or arm64 (Anthropic's Linux docs). Other Debian derivatives that meet both conditions may work, and Anthropic has not tested them. Ubuntu 20.04 does not qualify, because the package needs libc6 2.34 and 20.04 ships 2.31.
Architecture catches more readers than release number. dpkg --print-architecture should print amd64 or arm64; the repository publishes nothing for other architectures, and a .deb built for the wrong one fails on dependencies with an :amd64 or :arm64 suffix in the error. Fedora, Arch and openSUSE sit outside the Debian family, and Anthropic's documented advice for them is the CLI. That route has its own page here: Claude Desktop on Arch, Fedora and NixOS.
The install, from Anthropic's apt repository
Install from the repository rather than a downloaded file, and updates arrive with the rest of the system's packages. The package is called claude-desktop. Here is what each command does and what it should print.
sudo apt install curl gnupginstalls the two tools the next steps use. Fresh Debian and Ubuntu images sometimes ship without one of them, and the key download fails withcommand not foundwhen they do.sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.ascwrites Anthropic's signing key where apt can find it. Success prints nothing. Acurl:error means the download did not complete, often because the network cannot reachdownloads.claude.ai.gpg --show-keyson that file should print the fingerprint31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE. A wrong or missing key surfaces later asNO_PUBKEY BAA929FF1A7ECACEwhen apt refreshes, so check it now.- The
echoline writes the repository entry to/etc/apt/sources.list.d/claude-desktop.list. It pinsarch=amd64,arm64and names the keyring, which keeps apt from trusting anything else.
Then sudo apt update && sudo apt install claude-desktop. Launch the app from your application launcher or as claude-desktop in a terminal, and sign in with a claude.ai subscription or your organization's SSO. API-key authentication is the CLI.
Two errors are worth knowing before you hit them. E: Unable to locate package claude-desktop means apt has not refreshed since the repository file was written; run sudo apt update and check that /etc/apt/sources.list.d/claude-desktop.list holds the deb line. If apt names unmet dependencies instead, read what it names: libc6 points at an old release, and architecture suffixes point at the wrong .deb.
The app does not update itself on Linux. sudo apt update && sudo apt upgrade is the update path, and sudo apt remove claude-desktop is the removal.
The check that decides whether Cowork starts
Cowork is the part of the app for Dispatch and longer agentic runs. On Linux it "runs those tasks in a virtual machine that the desktop app hosts with QEMU and KVM". That sentence explains most of the trouble readers report: the app is installed correctly and the host still refuses, because Cowork asks the machine for hardware it may not expose.
The app runs its checks once, at launch. Run these five yourself first and the install either ends in a working Cowork or in a clear answer about this machine, without twenty minutes spent on apt:
grep -cE 'vmx|svm' /proc/cpuinfo # above zero means the CPU exposes virtualizationls -l /dev/kvm /dev/vhost-vsock # both devices should be listedid -nG | grep -w kvm # prints kvm when you are in the groupdpkg -l qemu-system-x86 ovmf virtiofsd # arm64: qemu-system-arm qemu-efi-aarch64ls "/lib/modules/$(uname -r)" # a directory means modules can load
Firmware virtualization comes first. With it switched off in the UEFI settings, Cowork reports "Cowork requires hardware virtualization (KVM)", and nothing inside the package changes that.
The kvm group is the second. Some desktops let the logged-in person open /dev/kvm without it, and Cowork still needs /dev/vhost-vsock, "which only kvm group members can open". Join the group even when /dev/kvm already works:
sudo usermod -aG kvm $USERLog out and back in for the new group to apply, then restart the app. A shell opened before the change still carries the old groups, which is the usual reason a correct usermod appears to do nothing.
The QEMU packages come with the install, because apt install claude-desktop pulls them as recommended packages. A minimal image, or an install with --no-install-recommends, skips them, and Cowork reports "Cowork requires QEMU" and prints the command to run. Ubuntu 22.04 is a special case. It has no virtiofsd package, so the app carries its own copy there; a missing virtiofsd on 22.04 is expected.
The fifth check is the kernel. When /dev/vhost-vsock is missing and /lib/modules holds no directory for the running kernel, the app reports that the kernel does not include the virtualization support Cowork needs, and that it cannot be added by hand. That combination is common on ChromeOS and inside container-based Linux environments. The page on Cowork errors takes each message in turn and gives the fix, where a fix exists.
What the Linux build still does not do
"Computer Use is not yet available on Linux", and dictation "is also not available in this release" (download page). Chat works on every plan, including Free; Claude Code and Cowork need Pro, Max, Team or Enterprise.
Quick Entry, the global hotkey, works on X11. On native Wayland it depends on the desktop's GlobalShortcuts portal, so a session without that portal gets no hotkey. That is a property of the desktop, and the app's other windows keep working.
Sign-in is stored in the desktop keyring, such as GNOME Keyring or KDE Wallet. On a minimal image that skips recommended packages, no keyring is installed, and the app asks for a sign-in on every launch until one is. sudo apt install gnome-keyring fixes that case.
When the machine cannot pass the checks
A container image with no vsock device. A Chromebook. A work laptop whose firmware has virtualization disabled and locked. A kernel compiled without the module. Each of these installs the app and cannot start Cowork. No flag, no repackaged build and no extra package adds a device the kernel never exposes.
The other route moves the computer. One isolated sandbox per session. Each session has its own isolated machine and branch. Run it on Kortix Cloud, in your VPC, or on your own on-prem network. Self-host is free.
The laptop then needs a browser tab, or the CLI. The agent work happens on a cloud computer, so the local kernel stops being part of the question. How an agent runs on Linux walks through that setup, and the home page holds the support matrix for every distribution.
What readers ask before installing on Ubuntu
Can you install Claude Desktop on Ubuntu?
Yes. Anthropic ships a beta build of the desktop app as a .deb in its own apt repository, for Ubuntu 22.04 or later and Debian 12 or later, on x86_64 or arm64. The install is three documented steps, and the app signs in with a claude.ai subscription or your organization's SSO.
Does Claude Cowork work on Linux?
Yes, on a machine that can host the virtual machine Cowork starts. Cowork runs its tasks in a virtual machine the desktop app hosts with QEMU and KVM, so it needs hardware virtualization in firmware, /dev/kvm, /dev/vhost-vsock and membership in the kvm group. Where the kernel cannot provide those devices, Cowork reports the missing piece and stays closed.
Run the agent work where the kernel cannot say no
The route for a machine that cannot host Cowork's virtual machine, reached from a browser tab or the CLI.