Skip to content

Repository files navigation

Claude Desktop for Linux

Claude Desktop Build & Release Website Reddit Pacman repo APT repo RPM repo AppImage Nix flake

Anthropic's official Claude Desktop Linux build, repackaged for Arch, Fedora/RHEL, NixOS and AppImage (plus our own .deb), with Linux-only extras on top: Computer Use, custom themes, multiple profiles, Quick Entry, and more under Settings → Extra.

Everything else - Chat, Cowork, Claude Code, Browser Tools, 3P inference - is the official upstream build. On Ubuntu 22.04+ / Debian 12+ you can also install Anthropic's official .deb directly; use this project for the other distros or for the extras.

Quick install

Distro Command
Arch / Manjaro yay -S claude-desktop-extra (AUR; no AUR helper: signed pacman repo)
Debian / Ubuntu curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install.sh | sudo bash && sudo apt install claude-desktop-extra
Fedora / RHEL curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-rpm.sh | sudo bash && sudo dnf install claude-desktop-extra
NixOS / Nix nix run github:patrickjaja/claude-desktop-extra
Any distro AppImage from the latest release

Updates arrive through your package manager. x86_64 and aarch64 are supported everywhere except Nix (x86_64 only). Cowork (the agent VM) is optional and needs QEMU/KVM, see Cowork setup. Details per distro:

Arch Linux / Manjaro (AUR or pacman repository)
yay -S claude-desktop-extra              # or: paru -S claude-desktop-extra / Manjaro: pamac build claude-desktop-extra

Updates arrive with yay -Syu. The PKGBUILD is readable on the AUR before you build: it downloads the prebuilt, SHA256-pinned release tarball and repackages it (no compiling). CI updates it on every release; x86_64 and aarch64.

Without an AUR helper: signed pacman repository. The same package, prebuilt and GPG-signed, updated by sudo pacman -Syu:

curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-pacman.sh | sudo bash   # repo + signing key, once
sudo pacman -Syu claude-desktop-extra

Optional deps (not installed automatically): QEMU/KVM for Cowork (setup), nodejs (system MCP servers), sqlite (project detection), gjs (GNOME search provider), claude-code.

Manual pacman.conf setup (without the install script)

Append to /etc/pacman.conf (aarch64: section [claude-desktop-extra-aarch64], same Server):

[claude-desktop-extra]
SigLevel = Required DatabaseRequired
Server = https://github.com/patrickjaja/claude-desktop-extra/releases/latest/download
curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/gpg-key.asc -o /tmp/claude-desktop-extra.asc
gpg --show-keys --with-fingerprint /tmp/claude-desktop-extra.asc
# Must print: 825A 7D15 D78B ABE4 5646  D5DF 3824 09F5 9790 8867 - stop here if it does not.
sudo pacman-key --init            # needed on fresh keyrings, containers and chroots
sudo pacman-key --add /tmp/claude-desktop-extra.asc
sudo pacman-key --lsign-key 825A7D15D78BABE45646D5DF382409F597908867
sudo pacman -Syu claude-desktop-extra
Build with makepkg (no third-party repository)
mkdir claude-desktop-extra && cd claude-desktop-extra
base=https://github.com/patrickjaja/claude-desktop-extra/releases/latest/download
curl -fsSL -O "$base/PKGBUILD" -O "$base/claude-desktop-extra.install"
makepkg -si

Debian / Ubuntu (APT Repository)

Requires Ubuntu 22.04+ / Debian 12+ (glibc 2.34+).

curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install.sh | sudo bash   # repo, once
sudo apt install claude-desktop-extra

It replaces Anthropic's own claude-desktop package if installed (same files). Cowork packages come in as Recommends; only the kvm group step remains (Cowork setup).

Without the repo: wget https://github.com/patrickjaja/claude-desktop-extra/releases/latest/download/claude-desktop-extra_2.9939.4-3_amd64.deb && sudo dpkg -i claude-desktop-extra_*_amd64.deb

Fedora / RHEL (DNF Repository)
curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-rpm.sh | sudo bash   # repo, once
sudo dnf install claude-desktop-extra

Cowork packages come in as weak deps; only the kvm group step remains (Cowork setup).

Without the repo: wget https://github.com/patrickjaja/claude-desktop-extra/releases/latest/download/claude-desktop-extra-2.9939.4-3.x86_64.rpm && sudo dnf install ./claude-desktop-extra-*.x86_64.rpm

NixOS / Nix

Try it with nix run github:patrickjaja/claude-desktop-extra, install with nix profile install github:patrickjaja/claude-desktop-extra. Flake: add inputs.claude-desktop.url = "github:patrickjaja/claude-desktop-extra"; and put inputs.claude-desktop.packages.x86_64-linux.default in environment.systemPackages. Update with nix flake update. "Start at login" and profile shortcuts run through the package wrapper, so they survive a garbage collection.

Cowork tools (qemu, virtiofsd, OVMF) are baked into the closure (.override { qemu = null; } drops them). Host steps: users.users.<you>.extraGroups = [ "kvm" ]; and, outside GNOME, services.gnome.gnome-keyring.enable = true; to keep sign-in. The GNOME/KDE Computer Use bridges need an override on NixOS, see Computer Use dependencies.

AppImage (Any Distro)

Works on standard and immutable distros (Bazzite, Silverblue/Kinoite, SteamOS, Universal Blue). The claude:// handler for sign-in registers itself on first launch.

wget https://github.com/patrickjaja/claude-desktop-extra/releases/latest/download/Claude_Desktop-2.9939.4-x86_64.AppImage
chmod +x Claude_Desktop-*-x86_64.AppImage && ./Claude_Desktop-*-x86_64.AppImage

Delta updates: appimageupdatetool Claude_Desktop-*.AppImage. Works with AppImageLauncher and Gear Lever. For Cowork, install QEMU + UEFI firmware + virtiofsd from your distro (Cowork setup).

From Source

Clone the repo and run ./scripts/build-local.sh --install. No automatic updates; pull and rebuild.

ARM64 / aarch64 (Raspberry Pi 5, NVIDIA DGX Spark, Jetson, etc.)

.deb, .rpm, pacman and AppImage packages exist for arm64; the repos pick the right architecture. Install as above. Cowork on ARM boards: notes.

Migrating from claude-desktop-bin

The package replaces itself on the next regular upgrade, and your config is migrated on first launch. Only an old [claude-desktop-bin] section in /etc/pacman.conf needs replacing with the Arch stanza above.

Cowork setup (needs /dev/kvm) - optional, every install path

Cowork and Dispatch run on the official native VM backend bundled in the package. The host needs QEMU + UEFI firmware + virtiofsd and access to /dev/kvm: join the kvm group once (sudo usermod -aG kvm "$USER", then log out and in). Per-distro commands and troubleshooting: docs/cowork.md.

Verifying the repository signing key (APT, DNF and pacman)
Key:         Claude Desktop Linux (claude-desktop-bin repo signing key) <patrickjajaa@gmail.com>
Type:        RSA 4096
Fingerprint: 825A 7D15 D78B ABE4 5646  D5DF 3824 09F5 9790 8867

Check it with curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/gpg-key.asc | gpg --show-keys --with-fingerprint.

The "Extra" Settings

Settings → Extra holds everything this project adds: Themes, Community Features (opt-in switches such as Files quick open, panel tabs, diff view modes), Anthropic Features (every upstream feature flag as a switch) and Deployment (1P/3P switch and the full third-party inference config, no sudo needed).

The Extra section in Claude's Settings

Computer Use

Desktop automation (screenshot, click, type, scroll, teach mode) - not part of the official Linux build. Bundled bridges cover X11, XWayland, Sway / Hyprland / Niri, GNOME Wayland (PipeWire >= 1.0.5) and KDE Plasma 6.6+, with nothing to install. Details: docs/computer-use.md, per-session matrix: dependencies.

Custom Themes

97 dual light/dark palettes (Catppuccin, Nord, Gruvbox, gaming themes, ...). Press Ctrl+Shift+T to pick one live. Theme files reload live, so matugen, pywal or wallust can recolor the app from your wallpaper. Guide: docs/themes.md, gallery: themes/PALETTES.md.

Mario theme - dark

Multiple Profiles

Run several instances side by side, each with its own account and fully isolated state: claude-desktop --create-profile=work, then launch claude-desktop-work. Details: docs/profiles.md.

Quick Entry

Global hotkey popup (Ctrl+Alt+Space) on the monitor under your cursor. Works as installed on KDE; on other desktops bind claude-desktop --toggle to a key. Per-desktop setup: docs/quick-entry.md.

Third-Party / Enterprise Inference

Run on Bedrock, Vertex AI, Azure AI Foundry or any Anthropic-compatible gateway, without a claude.ai login. Configure it in Settings → Extra → Deployment, or fleet-wide via /etc/claude-desktop/managed-settings.json. Linux guide: docs/third-party-inference.md.

Feature Flag Overrides (advanced)

Override Anthropic's server-side feature flags in ~/.config/Claude/claude-desktop-extra.jsonc, or flip them in Settings → Extra → Anthropic Features. Details: docs/feature-flags.md.

Patches

We patch the official app.asar at repackage time: patches/community/ (10 patches, opt-in features), patches/core/ (7, infrastructure) and patches/linux/ (34, Linux fixes). A patch that stops matching fails the build, and a patch is removed once upstream ships the behavior. Catalog: docs/patches.md.

Command-line flags

claude-desktop --help lists them (--profile=NAME, --toggle, --diagnose, --1p / --3p, ...). Reference: docs/command-line.md. Environment variables (e.g. CLAUDE_DISABLE_GPU=1 or CLAUDE_GPU_BACKEND=angle-gl for a white screen or GPU crash): docs/environment-variables.md.

Troubleshooting

Logs are in ~/.config/Claude/logs/ (3P mode: ~/.config/Claude-3p/logs/, named profiles: ~/.config/Claude-<profile>/logs/). Common problems and known limitations: docs/troubleshooting.md.

Reporting a bug: attach the output of these two commands to your issue. Linux setups differ a lot, and this is what makes a report diagnosable:

claude-desktop --diagnose > diagnose.txt
cp ~/.config/Claude/logs/claude-patches.log .   # 3P mode: ~/.config/Claude-3p/logs/claude-patches.log

Development

git clone https://github.com/patrickjaja/claude-desktop-extra.git && cd claude-desktop-extra
./scripts/build-local.sh

To add a feature, write one patch following Adding your own feature, then open a PR. AGENTS.md has the project rules; the bundled skills are optional helpers for Claude Code.

See Also

  • tweakcc - a CLI tool for customizing Claude Code (system prompts, themes, UI). Same patching-JS-to-make-it-yours energy. Thanks to the Piebald team.
  • agent-skills - production-grade engineering skills for AI coding agents; the maintainer uses them to spec, plan and build changes here.

Legal Notice

This is an unofficial community project for educational and research purposes. Claude Desktop is proprietary software owned by Anthropic PBC. This repository contains only build scripts and patches - not the Claude Desktop application itself; the upstream binary is downloaded directly from Anthropic during the build. This project is not affiliated with, endorsed by, or sponsored by Anthropic. "Claude" is a trademark of Anthropic PBC.


Built with ❤️ for the Linux community

About

Unofficial Linux packages for Claude Desktop AI assistant with automated updates.

Topics

Resources

Stars

657 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages