Skip to content

nitin88/claude-desktop-debian

 
 

Repository files navigation

Claude Desktop for Linux

This project provides build scripts to run Claude Desktop natively on Linux systems. It repackages the official Windows application for multiple Linux distributions, producing:

  • .deb packages for Debian/Ubuntu-based systems
  • .rpm packages for Fedora/RHEL-based systems
  • AppImages for universal Linux support

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.

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:
    • X11 Global hotkey support (Ctrl+Alt+Space)
    • System tray integration
    • Desktop environment integration

Screenshots

Claude Desktop running on Linux

Global hotkey popup

System tray menu on KDE

Installation

Using Pre-built Releases

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

Building from Source

Prerequisites

Supported Distributions:

  • Debian/Ubuntu-based: Debian, Ubuntu, Linux Mint, MX Linux, etc.
  • Fedora/RHEL-based: Fedora, RHEL, CentOS, Rocky Linux, AlmaLinux, etc.

Dependencies:

The build script will automatically check for and install missing dependencies. If you prefer to install them manually:

Debian/Ubuntu (click to expand)
sudo apt update
sudo apt install -y p7zip-full wget icoutils imagemagick nodejs npm dpkg-dev
Fedora/RHEL (click to expand)
sudo dnf install -y p7zip p7zip-plugins wget icoutils ImageMagick nodejs npm rpm-build

Build Instructions

# Clone the repository
git clone https://github.com/aaddrick/claude-desktop-debian.git
cd claude-desktop-debian

# Build a .deb package (default on Debian/Ubuntu)
./build.sh --build deb

# Build an .rpm package (for Fedora/RHEL)
./build.sh --build rpm

# Build an AppImage (universal)
./build.sh --build appimage

# Build with custom options
./build.sh --build deb --clean no  # Keep intermediate files

See also: RPM_BUILD_GUIDE.md for detailed RPM package build instructions.

Installing the Built Package

For .deb packages (Debian/Ubuntu):

sudo apt install ./claude-desktop_VERSION_ARCHITECTURE.deb

# Or using dpkg:
sudo dpkg -i ./claude-desktop_VERSION_ARCHITECTURE.deb
# If you encounter dependency issues:
sudo apt --fix-broken install

For .rpm packages (Fedora/RHEL):

sudo dnf install ./claude-desktop-VERSION-RELEASE.ARCH.rpm

# Or using rpm:
sudo rpm -ivh ./claude-desktop-VERSION-RELEASE.ARCH.rpm

# On RHEL/CentOS, you may need to use yum:
sudo yum install ./claude-desktop-VERSION-RELEASE.ARCH.rpm

For AppImages:

# Make executable
chmod +x ./claude-desktop-*.AppImage

# Run directly
./claude-desktop-*.AppImage

# Or integrate with your system using Gear Lever

Note: AppImage login requires proper desktop integration. Use Gear Lever or manually install the provided .desktop file to ~/.local/share/applications/.

Automatic Updates: AppImages downloaded from GitHub releases include embedded update information and work seamlessly with Gear Lever for automatic updates. Locally-built AppImages can be manually configured for updates in Gear Lever.

Configuration

MCP Configuration

Model Context Protocol settings are stored in:

~/.config/Claude/claude_desktop_config.json

Application Logs

Runtime logs are available at:

$HOME/claude-desktop-launcher.log

Uninstallation

For .deb packages:

# Remove package
sudo apt remove claude-desktop
# Or: sudo dpkg -r claude-desktop

# Remove package and configuration
sudo apt purge claude-desktop
# Or: sudo dpkg -P claude-desktop

For .rpm packages:

# Remove package
sudo dnf remove claude-desktop
# Or: sudo rpm -e claude-desktop

# On RHEL/CentOS:
sudo yum remove claude-desktop

For AppImages:

  1. Delete the .AppImage file
  2. Remove the .desktop file from ~/.local/share/applications/
  3. If using Gear Lever, use its uninstall option

Remove user configuration (both formats):

rm -rf ~/.config/Claude

Troubleshooting

Window Scaling Issues

If the window doesn't scale correctly on first launch:

  1. Right-click the Claude Desktop tray icon
  2. Select "Quit" (do not force quit)
  3. Restart the application

This allows the application to save display settings properly.

AppImage Sandbox Warning

AppImages run with --no-sandbox due to electron's chrome-sandbox requiring root privileges for unprivileged namespace creation. This is a known limitation of AppImage format with Electron applications.

For enhanced security, consider:

  • Using the .deb package instead
  • Running the AppImage within a separate sandbox (e.g., bubblewrap)
  • Using Gear Lever's integrated AppImage management for better isolation

Technical Details

How It Works

Claude Desktop is an Electron application distributed for Windows. This project:

  1. Downloads the official Windows installer
  2. Extracts application resources
  3. Replaces Windows-specific native modules with Linux-compatible implementations
  4. Repackages as:
    • Debian package (.deb): Standard package for Debian/Ubuntu systems with full integration
    • RPM package (.rpm): Standard package for Fedora/RHEL systems with full integration
    • AppImage: Portable, self-contained executable for universal Linux support

Build Process

The build script (build.sh) handles:

  • Dependency checking and installation
  • Resource extraction from Windows installer
  • Icon processing for Linux desktop standards
  • Native module replacement
  • Package generation based on selected format

Updating for New Releases

The script automatically detects system architecture and downloads the appropriate version. If Claude Desktop's download URLs change, update the CLAUDE_DOWNLOAD_URL variables in build.sh.

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

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

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.

About

Claude Desktop for Debian-based Linux distributions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%