Note: This is a community-maintained package and is not affiliated with Anthropic. Use at your own risk.
This unofficial AUR package brings Claude Desktop to Arch Linux natively, allowing you to use Anthropic's AI assistant with MCP servers on your Linux machine without virtualization or emulation.
This package relies on the patchy-cnb library created by k3d3 as part of the claude-desktop-linux-flake project. All credit for the technical solution goes to k3d3.
# Using yay
yay -S claude-desktop-native
# Using paru
paru -S claude-desktop-native
# Manual installation
git clone https://aur.archlinux.org/claude-desktop-native.git
cd claude-desktop-native
makepkg -si- Native Claude Desktop experience on Arch Linux
- Modified native bindings for Linux compatibility via
patchy-cnb - Preserves all functionality of the official Claude Desktop application (including MCP support)
- Seamless desktop environment integration (icons, shortcuts, etc.)
- Transparent implementation with no additional telemetry
The project works by:
- Obtaining the official Windows executable
- Extracting the application from the Windows executable
- Replacing Windows-specific native bindings with Linux-compatible alternatives
- Repackaging everything to work with the system's Electron installation
The core functionality is provided by patchy-cnb, which implements Linux versions of the claude-native-bindings that Claude Desktop expects.
After installation, files are organized as follows:
/usr/
├── bin/
│ └── claude-desktop-native
├── lib/
│ └── claude-desktop-native/
│ ├── app.asar
│ ├── app.asar.unpacked
│ │ └── node_modules
│ │ └── claude-native
│ │ └── claude-native-binding.node
│ └── resources/
│ ├── de-DE.json
│ ├── en-US.json
│ ├── en-XA.json
│ ├── en-XB.json
│ ├── es-419.json
│ ├── es-ES.json
│ ├── fr-FR.json
│ ├── hi-IN.json
│ ├── id-ID.json
│ ├── it-IT.json
│ ├── ja-JP.json
│ ├── ko-KR.json
│ ├── pt-BR.json
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── TrayIconTemplate-Dark.png
│ ├── TrayIconTemplate.png
│ ├── Tray-Win32-Dark.ico
│ ├── Tray-Win32.ico
│ ├── xx-AC.json
│ ├── xx-HA.json
│ └── xx-LS.json
└── share/
└── icons/
└── hicolor/
├── 16x16
│ └── apps/
│ └── claude.png
├── 24x24
│ └── apps/
│ └── claude.png
├── 256x256
│ └── apps/
│ └── claude.png
├── 32x32
│ └── apps/
│ └── claude.png
├── 48x48
│ └── apps/
│ └── claude.png
└── 64x64
└── apps/
└── claude.png
All libraries and resources are stored in /usr/lib/claude-desktop-native to ensure compatibility with the system's Electron installation.
All icons are stored in /usr/share/icons/hicolor for desktop environment integration.
The binary is symlinked to /usr/bin/claude-desktop-native for easy access.
- The binary is just a wrapper script that executes
exec electron /usr/lib/claude-desktop-native/app.asar "$@".
The package build follows these steps:
-
Download Phase:
- Fetches the official Windows installer (.exe)
- Fetches the patchy-cnb library source code
- Verifies checksum to ensure integrity
-
Extraction Phase:
- Uses
7zto extractClaude-Setup-x64.exe - Uses
7zto extract theAnthropicClaude-${pkgver}-full.nupkgpackage - Uses
asarto extract theapp.asarfile which contains the Electron application
- Uses
-
Patching Phase:
- Builds the
patchy-cnblibrary from source using Rust - Replaces Windows-specific
.nodenative modules with the newly compiledpatchy-cnbones - Replaces the
RIe()function of the.vite/build/index.jswith one that simply returns the absolute path of the resources folder within the applications directory
- Builds the
-
Packaging Phase:
- Organizes files into the proper directory structure
- Creates desktop integration files (icons, launchers)
- Sets up the executable wrapper to use the system's Electron
The critical part of the process is replacing Windows-native .node files with Linux-compatible alternatives:
- Windows-specific native modules (
*.node) are identified in the application - These are typically used for:
- System integration
- Clipboard operations
- Window management
- Notification handling
- The
patchy-cnblibrary provides compatible implementations of these functions for Linux - During build, the Windows
.nodefiles are replaced with the newly compiled Linux versions
MCP configuration is handled in $XDG_CONFIG_DIRS/Claude/claude_desktop_config.json.
For troubleshooting, you can:
-
Run the application from terminal to see output:
ELECTRON_ENABLE_LOGGING=1 claude-desktop-native
-
Inspect logs in:
~/.local/share/claude-desktop-native/logs/ -
Verify native binding loading by checking:
ldd /usr/share/claude-desktop-native/app.asar.unpacked/node_modules/@anthropic-ai/patchy-cnb/patchy-cnb.node
Native modules are intentionally installed without execution permissions as they are loaded directly by Node.js using dlopen(), which only requires read access.
- electron (runtime)
- cargo (make)
- icoutils (make)
- imagemagick (make)
- nodejs (make)
- npm (make)
- p7zip (make)
- rust (make)
- tar (make)
- docker (optional) – for running MCP servers
Similar community-maintained packages for other distributions:
- k3d3/claude-desktop-linux-flake - Original implementation
- aaddrick/claude-desktop-debian - Seeking new maintainer
| Issue | Solution |
|---|---|
| Blank screen on startup | Verify Electron version compatibility |
| Authentication fails | Check account credentials and internet connection |
| Missing icons | Verify the icons were installed in /usr/share/icons |
| Restart your computer or log out and back in |
For other issues, please open an issue on GitHub.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Build scripts and packaging code: Dual-licensed under MIT License and Apache License 2.0
- Claude Desktop: Proprietary software owned by Anthropic
- patchy-cnb library: Created by k3d3, dual-licensed under MIT and Apache 2.0
- k3d3 for creating patchy-cnb and the original implementation
- The Anthropic team for creating Claude
- The Arch Linux community for their package management system