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.
| 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-extraUpdates 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-extraOptional 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/downloadcurl -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-extraBuild 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 -siDebian / 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-extraIt 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-extraCowork 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.AppImageDelta 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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.loggit clone https://github.com/patrickjaja/claude-desktop-extra.git && cd claude-desktop-extra
./scripts/build-local.shTo 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.
- 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.
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

