clawops

Installation

Install the CLI and verify your machine before provisioning anything.

Requirements

Node.js22 or newer
Target hostUbuntu, Debian or RHEL-family Linux, reachable over SSH
Cloud credentialsOnly for cloud providers: via your existing CLI profiles

clawops never stores cloud credentials. It reads the profiles you already have: AWS_PROFILE, gcloud ADC, AZURE_CLIENT_ID and friends.

Install

npm install -g @clawops/cli

Verify

doctor checks the things that break a deploy at the worst moment. Node version, SSH key and known_hosts readability, cloud credentials per configured stack, and the supported OpenClaw range.

clawops doctor

Run it against a deployed stack to include remote health:

clawops doctor --stack production

That form also reports which OpenClaw version the gateway is actually running, which can differ from the requested version when a stack was created with a moving tag.

Before a cloud deploy

Two things have to be true before Pulumi can run at all, and doctor checks both:

clawops doctor --provider aws     # or gcp, azure: with or without a stack

The Pulumi CLI. clawops installs it into ~/.clawops/.pulumi-cli the first time it needs one, announcing the one-time download, and uses a compatible pulumi already on your PATH instead when there is one. Your PATH is never edited.

A state bucket. Pulumi reads and writes its state there on every operation, so it has to exist before a deploy starts. Clawops cannot create it on the way past. clawops init names one after your account, and clawops setup offers to create it with versioning on and public access blocked.

doctor --provider also checks the account-level things that otherwise fail partway through a deploy: enabled APIs on GCP, registered resource providers on Azure, and whether the machine size you asked for is offered in your region.

A check it could not make says so

Some checks need a read permission that no other clawops operation requires. When a check cannot be performed, doctor reports it as a warning naming the error rather than as a pass or a failure.

On this page