CMDOP CLI Overview
One binary, three primary surfaces: an AI chat agent, attachment to remote machines over the cmdop relay, and a long-lived daemon that keeps this host registered as ONLINE.
If you only ever run one command, run cmdop agent start. That is what keeps this machine reachable from the desktop, other machines, and the web cabinet.
Install
Three install paths. Right after installing, run cmdop doctor to verify PATH, login, and agent status.
# macOS / Linux (recommended)
curl -sSL cmdop.com/install.sh | bash
# Windows (PowerShell)
iwr -useb cmdop.com/install.ps1 | iex
# Homebrew
brew install cmdop/tap/cmdopOn desktop platforms the binary is bundled inside the cmdop desktop app and exposed via a cmdop symlink on first launch. Both surfaces drive the same Go core.
What cmdop does with no subcommand
Bare cmdop opens interactive AI chat — the same code path as cmdop chat. In a TTY you get the Bubble Tea TUI; outside a TTY you get line-based output. --resume <session-id> resumes the last persisted session.
cmdop # AI chat (TUI)
cmdop chat --model @code # explicit chat with model override
cmdop --resume 0193e2c1-7a8f-7b33-8c01 # resume previous session--resume is a root flag — it works on bare cmdop --resume=..., not only on cmdop chat.
Three primary surfaces
The CLI exposes three things:
- Chat agent (default) —
cmdop/cmdop chat, optionally targeted at a specific machine or anchored to a Board issue. - Remote machine attachment —
cmdop connect,cmdop terminal,cmdop connect exec. Replaces SSH for cmdop-managed hosts. - The daemon —
cmdop agent startkeeps this host registered with the relay so it appears online to other machines, the desktop, and the cabinet.
The desktop client is the same Go core wrapped in a GUI — pick whichever fits the moment.
Core commands
| Command | What it does |
|---|---|
cmdop | Interactive AI chat (alias for cmdop chat) |
cmdop login | OAuth sign-in — workspace-scoped tokens |
cmdop register | First-time machine registration (foreground) |
cmdop agent start | Run the daemon in the background |
cmdop agent status | Verdict: ONLINE / DEGRADED / STARTING |
cmdop connect vps-audi | Attach to a remote machine |
cmdop connect exec vps-audi -- uptime | One-shot remote command |
cmdop chat --machine vps-audi | Chat targeted at a specific machine |
cmdop run code-review src/ | Single-shot skill |
cmdop skills list | Browse installed skills |
cmdop issue list | Board backlog |
cmdop permissions list | Remote-agent permission rules |
cmdop doctor | Verify install health |
Global flags
| Flag | Values | Description |
|---|---|---|
--debug | — | Verbose logging |
--log-level | debug / info / warn / error | Log verbosity (env: CMDOP_LOG_LEVEL) |
--log-format | json / console | Log format |
--resume | session-id | Resume a previous TUI chat session |
--mode | dev / prod | Switch token + endpoint scope |
--workspace | name | Override active workspace for one invocation |
Configure
cmdop config # interactive settings TUI
cmdop config show # print current config
cmdop config get permissions.enabled
cmdop config set permissions.enabled trueConfig lives at ~/.cmdop/config.yaml. Per-mode tokens are stored separately:
~/.cmdop/token_prod.json— production scope~/.cmdop/token_dev.json— developer scope~/.cmdop/permissions.yaml— remote-agent permission rules
Switching modes (cmdop mode toggle) writes to a different token file. The active workspace is per-mode — switching mode may show a different machine list.