imux · 龍imux
AI command center for macOS

CLI reference

imux ships a compatibility CLI still named icc. High-frequency families below; full socket v2 commands follow repo docs and --help.

Non-focus socket commands must not steal focus. Only explicit focus commands may activate windows/workspaces.

Install CLI

Product CLI package is iclavue (command clavue). imux also ships a compatibility binary named icc.

# Clavue product CLI (npm)
npm install -g [email protected]
clavue --version

# One-line installer (when /cli/install.sh is live)
curl -fsSL https://www.clavue.com/cli/install.sh | bash -s -- 10.12.11

# After imux.app is installed (compatibility CLI name: icc)
sudo ln -sf "/Applications/imux.app/Contents/Resources/bin/icc" /usr/local/bin/icc
icc --help

Global

icc --help
icc --version
# Tagged debug instance (isolation)
# ./scripts/reload.sh --tag my-task

Workspace / panes

icc workspace list
icc workspace new --title "agent-run"
icc pane list
icc pane split --direction right

Notifications

icc notify --title "Build" --body "finished"
icc notify --title "Test" --body "failed" --sound

Browser automation

icc browser goto https://example.com
icc browser snapshot
icc browser fill --selector "#email" --text "[email protected]"

Remote

icc ssh user@host
# Uses OpenSSH config; remote explorer after connect

Membership / device code

# Device login (browser approve)
curl -s -X POST https://www.clavue.com/api/membership/auth/device/start \
  -H "content-type: application/json" -d '{"client":"clavue-cli"}'

curl -s -X POST https://www.clavue.com/api/membership/auth/device/poll \
  -H "content-type: application/json" \
  -d '{"device_code":"$DEVICE_CODE"}'

OpenAI-compatible API

export OPENAI_BASE_URL=https://api.clavue.com/v1
export OPENAI_API_KEY=$CLAVUE_TOKEN

curl -s $OPENAI_BASE_URL/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"hi"}]}'

Official model ids: auto · clavue · clavue-2.1 · clavue-2.1-fast · clavue-2.1-pro · clavue-2.1-rev

Boost packs API

# Status
curl -s https://www.clavue.com/api/membership/boost -H "Cookie: ..."
# Check-in / invite / rush
curl -s -X POST https://www.clavue.com/api/membership/boost \
  -H "content-type: application/json" \
  -d '{"action":"checkin"}'
curl -s -X POST https://www.clavue.com/api/membership/boost \
  -H "content-type: application/json" \
  -d '{"action":"rush_grab"}'

Official MCP search (web_search)

[email protected]+: built-in official web_search. Auto/Cloud default ON; third-party default OFF. Setting officialMcp = auto | on | off (Settings → Integrations · /mcp · /config). Soft-fail never blocks coding; never writes user .mcp.json.

# Install
npm install -g [email protected]

# Settings (userSettings)
# officialMcp: auto | on | off

# Env override (when set)
export CLAVUE_OFFICIAL_MCP=1   # force on (needs membership token)
export CLAVUE_OFFICIAL_MCP=0   # force off

Headless / host dual-track (print · stream-json)

Hosts such as imux Agent Chat spawn the CLI with no TTY and closed stdin. [email protected]+ caps regular MCP connect (default 8s) so slow MCP cannot block all stream-json. --no-chrome and headless skip clavue-browser inject by default.

# Unattended print (recommended host argv)
clavue \
  -p --verbose --output-format stream-json \
  --no-session-persistence \
  --allow-dangerously-skip-permissions \
  --dangerously-skip-permissions \
  --no-chrome \
  --permission-mode bypassPermissions \
  --max-turns 8 \
  --model sonnet \
  <<'EOF'
Reply with exactly: host-ok
EOF
# Expect: system.init → assistant… → type=result, exit 0
# Env: CLAVUE_HEADLESS_MCP_BUDGET_MS=8000 (0 = wait fully)
#      CLAVUE_BROWSER_MCP=0  # hard off browser MCP

system.init fields: model (effective), model_requested (CLI), model_source, permissionMode. If --model sonnet remaps via ANTHROPIC_DEFAULT_SONNET_MODEL / settings.env, stderr prints one line. Product ids clavue-2.1* use membership Official API and may differ from local CLI routing.

Full flag table: repo docs/clavue-headless-unattended-flags.md · dual-track response docs/clavue-cli-dual-track-response-2026-07-28.md.

Errors · network · long-task resilience

API/network fails use a diagnostic card: short primary + · kind/HTTP/attempt/model + next. Retries show attempt n/m on the status bar. First-token silence force-fails at 180s by default; mid-turn (tools running) heartbeats only — does not kill long agents.

⚠ Network error · retry (HTTP 503)
· kind: network · HTTP 503 · shouldRetry: yes
· attempt: 3/10 · model: …
· next: check connection/gateway · retry · or switch model

Full matrix: Errors · network · long-task resilience. Env: CLAVUE_SILENT_FIRST_TOKEN_MS · CLAVUE_MID_TURN_STALL_MS · CLAVUE_STREAM_IDLE_TIMEOUT_MS.

See also