Claude Code and Codex
Register Cmdop’s fleet MCP server with a locally installed Claude Code or Codex
session by running cmdop mcp install --agent claude (or --agent codex) on an
a joined machine, then starting a new assistant session. That gives the
assistant a fleet-level interface to the machines you joined to Cmdop; it does
not add the local machine’s filesystem or shell to the assistant.
Before you start
- Install Cmdop and join this machine to a relay.
- Install Claude Code or Codex on the same machine.
- Sign in to that assistant through its own normal flow.
The registration commands configure only Cmdop’s fleet integration. They do not manage an assistant account or its credentials.
Reach a remote machine
Registering the assistant on your laptop does not make the laptop special. It gives the assistant the same fleet view that Cmdop has from that joined machine. If a server, desktop, or VM has joined the same relay and is online, the assistant can list it, ask its agent to do work, and run a bounded command there without opening an inbound port on the target.
The practical sequence is:
- Join the target machine to the relay and keep its agent online.
- Join the machine where Claude Code or Codex runs to the same relay.
- Register Cmdop’s fleet MCP server with the assistant.
- Ask the assistant to list machines before naming the target.
For a walkthrough focused on network reachability, see Let an AI agent reach a machine behind NAT. For a server workflow that does not depend on SSH, see Run an AI agent on a server without SSH.
Register one assistant
Choose the assistant you use locally, then register the fleet MCP server:
# Claude Code
cmdop mcp install --agent claude
# Codex
cmdop mcp install --agent codexClaude Code registration also runs automatically when the Cmdop daemon starts. The explicit command is useful when you want to register it now. Codex registration is an explicit opt-in.
Start a new assistant session after registration. Claude Code may instead need its plugin reload action before it recognizes the integration.
You can do the same thing from the browser: open Settings → Integrations in the machine’s web console and connect or disconnect the assistant there. That page also reports which coding agents this host is wired into.
Check registration and available tools
Use Cmdop to inspect the installed assistant registrations:
cmdop mcp statusThen inspect the exact fleet tool set supplied by your installed Cmdop version:
cmdop mcp toolsThe assistant uses the same Cmdop fleet access as the joined machine. A registration is not a guarantee that a target machine is currently reachable; the assistant will still encounter any connection requirements for the target. For the current scope of those operations, see Fleet MCP tools.
Remove the registration
Remove Cmdop’s registration when you no longer want that local assistant to use the fleet:
# Claude Code
cmdop mcp uninstall --agent claude
# Codex
cmdop mcp uninstall --agent codexConfirm the result with cmdop mcp status. Omitting --agent targets every
supported assistant Cmdop detects locally.
If registration is missing or the assistant cannot reach the fleet, begin with
cmdop mcp status, then see MCP troubleshooting.
Common questions
How do I give Claude Code access to a remote machine?
Join the remote machine to Cmdop, join the machine running Claude Code to the same relay, then register Cmdop’s fleet MCP server with Claude Code. Start a new Claude Code session, ask it to list machines, and name the remote target before asking it to run work there.
How do I give Codex access to a remote machine?
Use the same fleet path, but install the MCP registration explicitly with
cmdop mcp install --agent codex. Then start a new Codex session and ask it to
list machines before targeting one. Codex receives Cmdop’s fleet tools; it does
not receive a new account credential from Cmdop.
Why can the assistant list a machine but not run work there?
Registration proves only that the assistant can see Cmdop’s fleet tools. The target machine still has to be online, and it can still require a connection PIN. Check the target status and pass the PIN when the tool asks for it.