Get started

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

PlatformFile
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:

bash
xattr -cr /Applications/QuoxTerminal.app

Then open QuoxTerminal normally. You only need to do this once per download.

i

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

LayerTechnology
ShellTauri 2.0 + WRY webview
FrontendReact 19, TypeScript, Vite
Terminalxterm.js 5.5 with fit, search, web-links, unicode11 addons
BackendRust (tokio async runtime)
PTYportable-pty
SSHrussh + russh-keys
AIAnthropic Messages API (reqwest + SSE streaming)
Claude ModeClaude CLI (--output-format stream-json) via PTY
Fleettokio-tungstenite WebSocket client
Storagetauri-plugin-store (JSON settings)

Configuration

AI Authentication

QuoxTerminal authenticates with the Anthropic API using one of three methods (in priority order):

  1. Claude CLI OAuth — run claude login to store credentials
  2. Manual API key — enter your key in Settings
  3. 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

PlatformStatus
macOS (Apple Silicon)Supported
macOS (Intel)Supported
Linux (x64)Supported
WindowsNot 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

bash
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)

bash
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

ShortcutAction
Cmd+Shift+KToggle Claude Code mode
Ctrl+Shift+TNew workspace tab
Ctrl+Shift+WClose current tab
Ctrl+Shift+[ / ]Switch tabs
Ctrl+\Toggle AI chat sidebar

License

MIT