Skip to Content
DocsConnectOne-shot execution

One-shot execution

cmdop connect exec runs a single command on a machine and returns its output, without opening an interactive terminal. It times out after 30 seconds unless you raise it with -t, and it is scoped to this host today — it resolves targets through the relay running here, so it is not a cross-host or CI execution API.

Run one command without opening an interactive terminal:

cmdop connect exec <machine> -- uptime

Everything after -- is the command for the target; the separator keeps its flags from being read as Cmdop’s.

The timeout defaults to 30 seconds

cmdop connect exec <machine> -t 120 -- ./long-running-task.sh

-t / --timeout takes a number of seconds and defaults to 30. Anything that can run longer than half a minute needs an explicit value, or it will be cut off.

Scope: this host

cmdop connect exec resolves its target through the relay running on this host, using its local operator session. It has no path to another machine’s public relay door, so a machine reachable only that way is not a valid target for this command today. Do not build a cross-host or CI execution contract on it.

Because it runs as a local operator session, an armed connection PIN on the target is not part of this path.

For work on another reachable machine, use interactive attach; for a task you want another machine’s agent to carry out, use cmdop fleet <machine> — see CLI machine chat.

Common questions

Can I use cmdop connect exec as a remote CI runner?

No. cmdop connect exec is a local operator path scoped to this host’s relay and a short command timeout. Do not build a cross-host CI contract on it. For agent-operated remote work, use cmdop fleet <machine> or the MCP fleet tools.

How do I run one command through an AI assistant on another machine?

Register Cmdop’s MCP server with Claude Code or Codex, ask the assistant to list machines, then target one online machine with a bounded command. The MCP path uses fleet access; cmdop connect exec is not the same cross-host tool.

What if the command takes longer than 30 seconds?

Pass an explicit timeout with -t / --timeout, or use a different workflow for long-running work. The default timeout is intentionally short so a one-shot command does not turn into an unbounded terminal session.

Last updated on