Skip to content

milhy545/Claude-Desktop

Repository files navigation

πŸ¦€ Claude Desktop - Tauri Edition

Lightweight, fast Linux desktop client for Claude AI - Built with Tauri (Rust + Web) instead of Electron.

⚑ Why Tauri?

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 πŸ”₯

✨ Features

  • βœ… 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+Space to open
  • βœ… Dark theme - Easy on the eyes
  • βœ… Config UI - Manage MCP servers through GUI
  • βœ… Memory efficient - Single window, no extra processes

πŸ“¦ Installation

Download Pre-built Packages

Coming soon! Check Releases for:

  • .deb (Ubuntu, Debian, Mint)
  • .AppImage (Universal Linux)
  • .rpm (Fedora, RHEL)

Build from Source

Prerequisites

# 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

Build

# 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/

Development

npm run dev

πŸ”§ Configuration

MCP Servers

Config 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

Authentication

Uses claude-cli-authentication for session management.

Session stored in: ~/.claude/

⌨️ Keyboard Shortcuts

  • Ctrl+Alt+Space - Show/focus window (global)
  • Ctrl+, - Open settings
  • Esc - Close modal/settings

πŸ’¬ Chat + Code Integration

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

πŸ—οΈ Architecture

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

🀝 Contributing

Contributions welcome! This is a community project.

  1. Fork the repo
  2. Create feature branch: git checkout -b feature/amazing
  3. Commit: git commit -m 'feat: add amazing feature'
  4. Push: git push origin feature/amazing
  5. Open PR

πŸ“„ License

MIT License - See LICENSE

πŸ™ Credits

  • Anthropic - For Claude AI
  • Tauri - For the amazing framework
  • Community - For Electron alternatives inspiration

πŸ› Known Issues

  • 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

πŸ—ΊοΈ Roadmap

  • Auto-update mechanism
  • Desktop Extensions (.mcpb) support
  • Custom themes
  • Multi-window support
  • Notification system
  • Offline mode

πŸ“ž Support


Made with πŸ¦€ Rust and ❀️ for Linux users

"ProtoΕΎe Linux uΕΎivatelΓ© si zaslouΕΎΓ­ stejnΔ› dobrΓ½ desktop klient jako Mac/Windows - ale rychlejΕ‘Γ­!"

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors