Quickstart
This quickstart takes one machine from nothing to working in five steps: install
Cmdop with curl -fsSL https://install.cmdop.com | sh, join it to a fleet with
cmdop join <join-key>, open its door, connect a platform API key, and start a
durable conversation. You need a fleet join key from the relay you are joining.
That install is the whole thing. The agent, the relay and the browser console are one binary — there is no database server, cache or second service to stand up beside it.
1. Install Cmdop
On the machine that will perform the work:
curl -fsSL https://install.cmdop.com | sh
cmdop versionOn Windows, download cmdop.exe from
https://install.cmdop.com/cli/latest/cmdop-windows-x64.exe and put it on your
PATH. Full detail, including a no-sudo prefix and the macOS .pkg follow-up,
is in Install the CLI.
2. Join and start the machine
Run the join command with the key supplied by your fleet owner:
cmdop join <join-key>Joining starts the background agent unless you pass --no-agent. Check its
connection state with:
cmdop statusIf the machine is stopped, start it with cmdop start.
On a brand-new machine, the first launch runs a short guided setup instead: it
asks whether this machine should connect to an existing relay (paste the
join key) or create one here, then hands you to your door. It
runs once; re-run it any time with cmdop onboard. The commands on this page
are the equivalent scriptable path.
3. Open your door
Run cmdop with no arguments. What opens depends on where you run it:
| Where you run it | What cmdop opens |
|---|---|
| A desktop (GUI) computer | The web console in your browser |
| A headless server, or over SSH | The terminal chat |
cmdop open always targets the browser console — it starts the local relay if
necessary and prints the address when it cannot open a browser. cmdop chat
always forces the terminal chat, on any host.
4. Connect your CMDOP account
The first time you open the web console, the relay resolves browser authentication, then checks for an inference key. If none is present, a Connect your CMDOP account step blocks the product shell until you paste a platform API key or complete the account handoff. You can replace the key later under Settings → AI Providers.
This is a separate credential from your join key — see Security model.
5. Give the work its context
Select the machine and start a conversation. Choose a Project Root before the first turn when the task belongs to a repository, then choose CMDOP, Claude Code, or Codex as the execution engine for the conversation. Ask for the result in plain language and return to the conversation when you need to continue.
Claude Code and Codex are locally installed external CLIs. CMDOP uses their existing local sign-in; it does not manage their credentials.
In the terminal, the same loop is cmdop chat for an interactive session, or
cmdop chat -p "..." for one answer without the full interface.
Common questions
Can I use the quickstart on a headless server?
Yes. Install the binary, join the fleet, and run cmdop from the server. On a
headless host, Cmdop opens terminal chat instead of a browser. For service setup
and server-specific recovery, use
Run a headless server.
Does the first machine need an inbound port?
No. The joined machine dials out to its relay. It can come online from behind NAT or a firewall without port forwarding or a VPN, as long as outbound HTTPS to the relay is allowed. For the assistant workflow, see Let an AI agent reach a machine behind NAT.