Claude Desktop for Debian-based Linux distributions
  • Shell 87.5%
  • JavaScript 10.3%
  • Python 2.2%
Find a file
aaddrick 0efd0b21f1 docs: add daa25209 to contributors for cowork platform gate analysis
Co-Authored-By: Claude <claude@anthropic.com>
2026-02-25 06:16:05 -05:00
.claude fix: resolve shellcheck and codespell CI failures 2026-02-16 11:53:12 -05:00
.github fix: detect wrapper-only releases by checking immediate predecessor 2026-02-24 08:07:15 -05:00
docs docs: restructure README into focused docs 2026-02-16 19:45:40 -05:00
scripts style: simplify guard and event listener registration 2026-02-19 13:30:55 -05:00
.codespellrc Add rudimentary codespell config 2025-04-03 10:41:13 -04:00
.gitignore chore: add cdd-code-simplifier plugin for bash scripts 2026-01-22 20:57:16 -05:00
build.sh style: update stale comment to match new anchor text 2026-02-25 06:06:15 -05:00
CLAUDE.md docs: add contributor credit guidelines to CLAUDE.md 2026-02-08 14:34:42 -05:00
LICENSE-APACHE Initial commit: Claude Desktop for Debian-based Linux distributions 2024-12-26 11:08:01 -05:00
LICENSE-MIT Initial commit: Claude Desktop for Debian-based Linux distributions 2024-12-26 11:08:01 -05:00
README.md docs: add daa25209 to contributors for cowork platform gate analysis 2026-02-25 06:16:05 -05:00
STYLEGUIDE.md feat: add Claude Code hooks and /simplify skill for code quality 2026-01-25 03:02:38 -05:00

Claude Desktop for Linux

This project provides build scripts to run Claude Desktop natively on Linux systems. It repackages the official Windows application for Linux distributions, producing .deb packages (Debian/Ubuntu), .rpm packages (Fedora/RHEL), distribution-agnostic AppImages, and an AUR package for Arch Linux.

Note: This is an unofficial build script. For official support, please visit Anthropic's website. For issues with the build script or Linux implementation, please open an issue in this repository.


⚠️ EXPERIMENTAL: Cowork Mode Support Cowork mode is enabled by default in this build. It uses the same TypeScript VM client as Windows, communicating over a Unix domain socket to a local service daemon. To use it, start a Cowork session from the Claude Desktop UI. Important: Cowork mode on Linux currently runs Claude Code directly on the host with no VM isolation. Unlike macOS/Windows, there is no sandbox—Claude has access to your entire home directory. VM-based isolation (QEMU/KVM) is actively being developed. Use Cowork mode only if you understand the security implications.


Features

  • Native Linux Support: Run Claude Desktop without virtualization or Wine
  • MCP Support: Full Model Context Protocol integration Configuration file location: ~/.config/Claude/claude_desktop_config.json
  • System Integration:
    • Global hotkey support (Ctrl+Alt+Space) - works on X11 and Wayland (via XWayland)
    • System tray integration
    • Desktop environment integration

Screenshots

Claude Desktop running on Linux

Global hotkey popup

Installation

Add the repository for automatic updates via apt:

# Add the GPG key
curl -fsSL https://aaddrick.github.io/claude-desktop-debian/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg

# Add the repository
echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://aaddrick.github.io/claude-desktop-debian stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

# Update and install
sudo apt update
sudo apt install claude-desktop

Future updates will be installed automatically with your regular system updates (sudo apt upgrade).

Add the repository for automatic updates via dnf:

# Add the repository
sudo curl -fsSL https://aaddrick.github.io/claude-desktop-debian/rpm/claude-desktop.repo -o /etc/yum.repos.d/claude-desktop.repo

# Install
sudo dnf install claude-desktop

Future updates will be installed automatically with your regular system updates (sudo dnf upgrade).

Using AUR (Arch Linux)

The claude-desktop-appimage package is available on the AUR and is automatically updated with each release.

# Using yay
yay -S claude-desktop-appimage

# Or using paru
paru -S claude-desktop-appimage

The AUR package installs the AppImage build of Claude Desktop.

Using Pre-built Releases

Download the latest .deb, .rpm, or .AppImage from the Releases page.

Building from Source

See docs/BUILDING.md for detailed build instructions.

Configuration

Model Context Protocol settings are stored in:

~/.config/Claude/claude_desktop_config.json

For additional configuration options including environment variables and Wayland support, see docs/CONFIGURATION.md.

Troubleshooting

For troubleshooting common issues, uninstallation instructions, and log locations, see docs/TROUBLESHOOTING.md.

Acknowledgments

This project was inspired by k3d3's claude-desktop-linux-flake and their Reddit post about running Claude Desktop natively on Linux.

Special thanks to:

  • k3d3 for the original NixOS implementation and native bindings insights
  • emsi for the title bar fix and alternative implementation approach
  • leobuskin for the Playwright-based URL resolution approach
  • yarikoptic for codespell support and shellcheck compliance
  • IamGianluca for build dependency check improvements
  • ing03201 for IBus/Fcitx5 input method support
  • ajescudero for pinning @electron/asar for Node compatibility
  • delorenj for Wayland compatibility support
  • Regen-forest for suggesting Gear Lever as AppImageLauncher replacement
  • niekvugteveen for fixing Debian packaging permissions
  • speleoalex for native window decorations support
  • imaginalnika for moving logs to ~/.cache/
  • richardspicer for the menu bar visibility fix on Linux
  • jacobfrantz1 for Claude Desktop code preview support and quick window submit fix
  • janfrederik for the --exe flag to use a local installer
  • MrEdwards007 for discovering the OAuth token cache fix
  • lizthegrey for version update contributions
  • mathys-lopinto for the AUR package and automated deployment
  • pkuijpers for root cause analysis of the RPM repo GPG signing issue
  • dlepold for identifying the tray icon variable name bug with a working fix
  • Voork1144 for detailed analysis of the tray icon minifier bug, root-cause analysis of the Chromium layout cache bug, and the direct child setBounds() fix approach
  • milog1994 for Linux UX improvements including popup detection, functional stubs, and Wayland compositor support
  • jarrodcolburn for passwordless sudo support in container/CI environments
  • chukfinley for experimental Cowork mode support on Linux
  • IliyaBrook for fixing the platform patch for Claude Desktop >= 1.1.3541 arm64 refactor
  • MichaelMKenny for diagnosing the $-prefixed electron variable bug with root cause analysis and workaround
  • daa25209 for detailed root cause analysis of the cowork platform gate crash and patch script

For NixOS users, please refer to k3d3's repository for a Nix-specific implementation.

Sponsorship

Anthropic doesn't publish release notes for Claude Desktop. Each release here includes AI-generated notes that analyze code changes between versions. I wrote up how that process works if you're curious: Generating Real Release Notes from Minified Electron Apps.

The analysis runs against Claude's API. Costs vary a lot depending on how big the update is. Recent releases have run between $3.36 and $76.16 per release.

If this project is useful to you, consider sponsoring on GitHub to help cover those costs.

License

The build scripts in this repository are dual-licensed under:

The Claude Desktop application itself is subject to Anthropic's Consumer Terms.

Contributing

Contributions are welcome! By submitting a contribution, you agree to license it under the same dual-license terms as this project.