QuoxTerminal
Native AI-powered desktop terminal for macOS and Linux.
QuoxTerminal is a native desktop terminal application with a built-in AI assistant, SSH client, and fleet management dashboard. It runs locally on macOS and Linux, built with Tauri 2.0 (Rust backend) and React 19 (frontend).
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon) | .dmg (aarch64) |
| macOS (Intel) | .dmg (x64) |
| Linux (Debian/Ubuntu) | .deb |
| Linux (universal) | .AppImage |
macOS first launch
macOS blocks apps downloaded from the internet. After dragging QuoxTerminal to Applications, open Terminal.app and run:
xattr -cr /Applications/QuoxTerminal.app
Then open QuoxTerminal normally. You only need to do this once per download.
Note: Proper Apple Developer ID signing and notarization is coming soon, which will eliminate this step entirely.
Features
Terminal
- Native PTY with xterm.js (true colour, Unicode, 256-colour)
- Multi-pane layouts: split horizontal/vertical, quad, main+side
- Workspace tabs with rename, reorder, and session persistence
- Vim-mode keybindings (optional toggle)
- Automatic shell detection (zsh, bash, fish)
- Custom themes with font, size, and opacity controls
Claude Code Mode
Toggle any terminal pane into Claude Code mode (Cmd+Shift+K or the "Claude" button in the pane header). This replaces the shell with a structured conversation UI that runs claude CLI natively:
- Streaming markdown responses with token-by-token rendering
- Rich tool call cards — Edit diffs, Bash output, file reads — each with Approve/Deny buttons
- Batch approval UI for multiple pending tool calls
- Four execution modes: Strict (confirmation-heavy), Balanced (default), Builder (high-autonomy), Audit (read-only)
- Token count, cost tracking, and context window gauge
- Trust profiles for auto-approving low-risk tool calls
- Audio notification when Claude is waiting for input
- CLAUDE.md project detection
AI Chat Sidebar
- Sidebar AI assistant powered by the Anthropic Messages API
- Terminal-aware context: the AI can see your recent output and suggest commands
- Runnable code blocks: click to execute suggestions directly in the terminal
- File change proposals with inline diffs and one-click apply
SSH
- Direct SSH connections with key or password authentication
- Bastion/jump host tunnelling
- Known hosts verification with TOFU (Trust On First Use)
- Remote PTY with resize support
Fleet Management
- Real-time fleet dashboard via Quox Collector WebSocket
- Agent status monitoring (connected, stale, dead) with CPU/memory metrics
- Click-to-connect: SSH into any fleet host from the dashboard
Safety
- Command denylist with severity levels (red/yellow/green)
- Confirmation modal before executing destructive commands
- Terminal error detection with AI-powered fix suggestions
Architecture
quox-terminal/
src/ # React 19 + TypeScript frontend
components/
terminal/ # Terminal panes, chat, SSH dialogs
claude/ # Claude Code mode UI (conversation, tool cards)
hosts/ # Fleet dashboard, host picker
settings/ # App settings panels
safety/ # Command warning modals
hooks/ # React hooks (settings, vim, fleet, safety, claude)
services/ # Business logic (context builder, fleet, exec)
config/ # Terminal themes, keybinds, modes
src-tauri/src/ # Rust backend
pty/ # Local PTY session management
ssh/ # SSH client, key manager, known hosts
ai/ # Anthropic API client + SSE streaming
claude/ # Claude CLI session, NDJSON parser, project detection
collector/ # WebSocket client for Quox Collector
safety/ # Command denylist + validator
fs/ # File operations
Tech Stack
| Layer | Technology |
|---|---|
| Shell | Tauri 2.0 + WRY webview |
| Frontend | React 19, TypeScript, Vite |
| Terminal | xterm.js 5.5 with fit, search, web-links, unicode11 addons |
| Backend | Rust (tokio async runtime) |
| PTY | portable-pty |
| SSH | russh + russh-keys |
| AI | Anthropic Messages API (reqwest + SSE streaming) |
| Claude Mode | Claude CLI (--output-format stream-json) via PTY |
| Fleet | tokio-tungstenite WebSocket client |
| Storage | tauri-plugin-store (JSON settings) |
Configuration
AI Authentication
QuoxTerminal authenticates with the Anthropic API using one of three methods (in priority order):
- Claude CLI OAuth — run
claude loginto store credentials - Manual API key — enter your key in Settings
- Environment variable — set
ANTHROPIC_API_KEY
Quox Collector (Optional)
For fleet management features, configure your Quox Collector connection in Settings:
- Collector URL — WebSocket endpoint (e.g.,
ws://localhost:9848) - Collector Token — API bearer token
Platform Support
| Platform | Status |
|---|---|
| macOS (Apple Silicon) | Supported |
| macOS (Intel) | Supported |
| Linux (x64) | Supported |
| Windows | Not supported |
Apple Distribution Plan
QuoxTerminal is currently distributed as unsigned builds via GitHub Releases. A full Apple Developer ID signing and notarization pipeline is planned:
Phase 1: Developer ID Signing + Notarization (Next)
Eliminates the macOS Gatekeeper "damaged" warning. Requires:
- Apple Developer Program ($99/year)
- Developer ID Application certificate
- Entitlements file for Tauri WebView JIT
- GitHub Actions secrets for CI signing
- Automatic notarization via
notarytool
Phase 2: DUNS Number (Optional)
Required only if enrolling as Quox Ltd (organization) instead of individual. Timeline: 2-4 weeks for DUNS assignment + Apple verification.
Phase 3: Mac App Store (Future)
The App Store requires App Sandbox, which breaks local PTY functionality. No major terminal emulator (iTerm2, Warp, Alacritty) ships on the App Store. A potential "Lite" edition with SSH-only + fleet + AI could work in the sandbox. Not planned for v0.x.
TestFlight: Skipped
TestFlight uses the same App Store sandbox pipeline. GitHub Release drafts serve as the beta channel instead.
Build from Source
Prerequisites
macOS
xcode-select --install
cd quox-terminal
npm install
npm run tauri dev # dev mode with hot-reload
npm run tauri build # production build
Linux (Debian/Ubuntu)
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
cd quox-terminal
npm install
npm run tauri dev
Source Code
github.com/quoxai/quoxterminal
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Cmd+Shift+K | Toggle Claude Code mode |
Ctrl+Shift+T | New workspace tab |
Ctrl+Shift+W | Close current tab |
Ctrl+Shift+[ / ] | Switch tabs |
Ctrl+\ | Toggle AI chat sidebar |
License
MIT