Skip to content

Command Line Tools

wheels deploy server exec

Run a command on every host. Filter to one host with --host=.

Invoke it through the flat alias wheels deploy exec. The nested wheels deploy server exec form is shadowed at the shell — the CLI’s picocli root owns a top-level server command and prints its help instead (#2677, fixed by the flat alias in #2690). The nested form remains only for direct callers that bypass the shell, such as MCP.

wheels deploy exec <command> [--host=<host>] [--destination=<name>] [--dry-run]
Argument / flagDescription
<command>Required positional. Shell command to run remotely. Every positional token after exec is joined into one command, so quoting is optional for simple commands — still quote anything with shell metacharacters (pipes, redirects) so your local shell does not interpret them first. Throws DeployServerCli.MissingCommand if absent — there is no --cmd= flag (the parser ignores it).
--host=<host>Limit to one host. Must match a host declared in deploy.yml — throws DeployServerCli.UnknownHost otherwise.
--destination=<name>Overlay destination config.
--dry-runPrint the command without executing.

SSHes in parallel (or to one host) and runs the command verbatim. Output is prefixed by host.

Useful for smoke-testing connectivity, reading environment details, or running one-off diagnostic commands without writing a hook.

illustrative — requires live SSH hosts
wheels deploy exec uptime
wheels deploy exec "docker ps" --host=192.0.2.10