Skip to content

Installation

cmx is a single static binary with no runtime dependencies (SQLite is embedded). Everything runs locally.

Terminal window
curl -fsSL https://cmx.llm.kiwi/install.sh | bash

The installer downloads the latest release archive, verifies its SHA-256 checksum and installs the binary to ~/.local/bin/cmx.

Verify:

Terminal window
cmx version
  • A harness that can point a provider at a custom baseURL (OpenCode, Claude Code, Codex, …)
  • That’s it — no Node, no Python, no external DB
Path Purpose
~/.local/bin/cmx binary (Windows: %USERPROFILE%\.local\bin\cmx.exe)
~/.config/cmx/config.json configuration
~/.local/share/cmx/cmx.sqlite sessions, summaries, request stats
~/.local/state/cmx/ runtime state (pid, update cache, logs)

On Windows the equivalents live under %AppData%\cmx, %LocalAppData%\cmx and %LocalAppData%\cmx\state.

Terminal window
cmx stop
rm ~/.local/bin/cmx
rm -rf ~/.config/cmx ~/.local/share/cmx ~/.local/state/cmx

cmx checks for a newer release at most once every 24 hours and prints a notice when one is available. To upgrade on demand:

Terminal window
cmx upgrade # confirm, stop daemon, replace binary, restart
cmx upgrade -y # no confirmation prompt

Set CMX_NO_UPDATE_CHECK=1 to disable update checks entirely.