Skip to content

Building from Source

Build AgentMux from source on Windows, macOS, or Linux. AgentMux is built on Tauri v2 with a 100% Rust backend.

ToolVersionPurpose
Node.jsv22 LTSFrontend build
Rust1.77+Backend + Tauri
TaskLatestBuild orchestration
Terminal window
xcode-select --install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. Install Rust from rustup.rs
  2. Install Visual Studio Build Tools — select “Desktop development with C++”
  3. WebView2 is pre-installed on Windows 10/11
Terminal window
sudo apt install zip libwebkit2gtk-4.1-dev \
build-essential curl wget file libssl-dev \
libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Terminal window
# macOS
brew install go-task/tap/go-task
# Linux
sudo snap install task --classic
# Windows (PowerShell)
winget install Task.Task
Terminal window
git clone https://github.com/agentmuxai/agentmux.git
cd agentmux
npm install
Terminal window
task dev

This starts the Tauri app in development mode with:

  • Frontend hot reload (SolidJS HMR via Vite)
  • Tauri auto-rebuild on Rust changes
  • DevTools available (Ctrl+Shift+I / Cmd+Option+I)

Always use task dev for development — never launch binaries from target/ directly.

ChangedAction
Frontend (TypeScript/SolidJS)Auto-reloads
Tauri shell (src-tauri/src/)Auto-rebuilds, process restarts
Rust backend (agentmuxsrv-rs/)Run task build:backend, then restart task dev
Shell helper (wsh-rs/)Run task build:wsh, then restart task dev
CommandDescription
task devDevelopment mode with hot reload
task quickdevFast dev (skips wsh build)
task build:backendBuild Rust backend (agentmuxsrv-rs + wsh-rs)
task build:frontendBuild frontend only
task packageProduction installer for current platform
task package:macosmacOS .app + .dmg
task package:portableWindows portable ZIP
task package:portable:linuxLinux AppImage
task testRun tests (vitest)
task cleanClean build artifacts
task storybookRun Storybook for UI components
agentmux/
├── src-tauri/ # Tauri v2 shell (Rust)
├── agentmuxsrv-rs/ # Rust async backend (Tokio + Axum + SQLite)
├── wsh-rs/ # Shell integration binary (Rust)
├── frontend/ # SolidJS + TypeScript (Vite)
├── schema/ # JSON schema definitions
├── docs/ # Architecture docs and specs
└── Taskfile.yml # Build task definitions
ComponentSizePurpose
agentmux~14 MBTauri app (Rust + WebView)
agentmuxsrv-rs~4 MBAsync backend server
wsh~1.1 MBShell integration binary
Total~19 MBAll components
Frontend (SolidJS)
↕ Tauri IPC
Tauri Shell (src-tauri)
↕ WebSocket / JSON-RPC 2.0
agentmuxsrv-rs (backend)
↕ WebSocket / wshrpc
wsh-rs (remote hosts)

Open DevTools: Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS).

Terminal window
# Development
tail -f ~/.agentmux-dev/agentmux.log
# Production
tail -f ~/.agentmux/agentmux.log

Appear in the terminal where task dev is running.

Rebuild and verify:

Terminal window
task build:backend
ls -lh src-tauri/binaries/

Install platform dependencies (see Prerequisites above).

Check port 1420 (Vite dev server). Clear and reinstall if needed:

Terminal window
rm -rf node_modules package-lock.json
npm install
task dev

Handled automatically by the build pipeline. If needed manually:

Terminal window
cp -r schema dist/schema