Lightweight, fast Linux desktop client for Claude AI - Built with Tauri (Rust + Web) instead of Electron.
| Feature | Tauri (This project) | Electron (Official) |
|---|---|---|
| Memory (idle) | ~30-50 MB π | ~200-400 MB π |
| Binary size | ~5-8 MB π¦ | ~150 MB π¦π¦π¦ |
| Startup time | <1 second β‘ | 3-5 seconds π |
| CPU usage | Low π | High π₯ |
- β Native Linux performance - No Electron bloat
- β Chat + Code in one window - Switch between Claude Chat and Claude Code with tabs
- β MCP Server support - Full Model Context Protocol integration
- β Session authentication - Uses your Claude subscription (no API keys)
- β System tray - Quick access from taskbar
- β
Global hotkey -
Ctrl+Alt+Spaceto open - β Dark theme - Easy on the eyes
- β Config UI - Manage MCP servers through GUI
- β Memory efficient - Single window, no extra processes
Coming soon! Check Releases for:
.deb(Ubuntu, Debian, Mint).AppImage(Universal Linux).rpm(Fedora, RHEL)
# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Tauri dependencies (Ubuntu/Debian)
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
# Node.js (for frontend tooling)
# Install via nvm, apt, or snap# Clone repository
git clone https://github.com/milhy545/Claude-Desktop.git
cd Claude-Desktop
# Install frontend dependencies
npm install
# Build (choose one)
npm run build # All formats
npm run build:deb # .deb package
npm run build:appimage # .AppImage
npm run build:rpm # .rpm package
# Output: src-tauri/target/release/bundle/npm run devConfig file: ~/.config/Claude/claude_desktop_config.json
Example:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/home/user/Documents",
"/home/user/Projects"
]
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git"]
},
"sqlite": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sqlite",
"--db-path",
"/home/user/my-database.db"
]
}
}
}Edit via GUI: Open app β Settings (βοΈ) β Edit config
Uses claude-cli-authentication for session management.
Session stored in: ~/.claude/
Ctrl+Alt+Space- Show/focus window (global)Ctrl+,- Open settingsEsc- Close modal/settings
Claude Desktop includes both Claude Chat and Claude Code in one application:
Tabs Mode (default):
[π¬ Chat] [β¨οΈ Code]
β²
Click to switch
- Click Chat β Opens claude.ai (conversations)
- Click Code β Opens Claude Code (coding assistant)
- Single window, low memory usage
- Perfect for low-spec PCs
Why tabs?
- Memory efficient (only one webview active)
- No system freeze from multiple windows
- Fast switching between Chat and Code
- Ideal for all-in-one PCs
Rust Backend (Tauri)
βββ Authentication (claude CLI integration)
βββ MCP Server Manager (launch/stop npx/python/binary)
βββ Config Parser (JSON)
βββ System Integration (tray, hotkeys)
Web Frontend
βββ Embedded claude.ai (iframe)
βββ Settings UI
βββ Server management UI
Contributions welcome! This is a community project.
- Fork the repo
- Create feature branch:
git checkout -b feature/amazing - Commit:
git commit -m 'feat: add amazing feature' - Push:
git push origin feature/amazing - Open PR
MIT License - See LICENSE
- Anthropic - For Claude AI
- Tauri - For the amazing framework
- Community - For Electron alternatives inspiration
- First launch might be slow (npx downloads MCP servers)
- WebKitGTK might have some rendering quirks vs Chromium
- Some claude.ai features might not work in iframe
- Auto-update mechanism
- Desktop Extensions (.mcpb) support
- Custom themes
- Multi-window support
- Notification system
- Offline mode
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with π¦ Rust and β€οΈ for Linux users
"ProtoΕΎe Linux uΕΎivatelΓ© si zaslouΕΎΓ stejnΔ dobrΓ½ desktop klient jako Mac/Windows - ale rychlejΕ‘Γ!"