CLI Reference
The vxcli command-line interface lets you init projects, plan and deploy infrastructure, manage running services, stream logs, and invoke AI agents — all from your terminal or CI pipeline.
This page documents every command shipped in the binary, grouped by namespace. Each entry ships with multiple runnable examples in a tabbed editor.
First-look: one workflow, three views
Same flow shown as bash, the JSON it returns, and the YAML pipeline you can drop into CI.
1#!/usr/bin/env bash2# Provision a VM, deploy a FastAPI app, watch the service.3set -euo pipefail4 5vxcli auth login --device6 7vxcli vm --app api-vm --cloud aws --service ec2 \8 --region us-east-1 --instance-type t3.small \9 --key-pair-name AWSPRODKEY210 11vxcli deploy fastapi ./ \12 --host "$(vxcli vm get api-vm --field public_ip)" \13 --ssh-user ubuntu --key-pair-name AWSPRODKEY1.PEM \14 --entry app.app:app --requirements requirements.txt \15 --app-port 8000 --http-port 80 --app-name studio-backend16 17vxcli services status studio-backend \18 --host "$(vxcli vm get api-vm --field public_ip)" \19 --ssh-user ubuntu --key-pair-name AWSPRODKEY1.PEMRun this whole workflow with one command
vxcli chat — describe the deploy in natural language and the CLI emits the same script, ready to commit.
Installation
macOS / Linux (recommended)
curl -fsSL https://vxcloud.io/download/cli/install.sh | shvxcli version
Windows (PowerShell)
irm https://vxcloud.io/download/cli/install.ps1 | iexvxcli version
Pin a version / direct binary
# latest version pointer:curl -fsSL https://vxcloud.io/download/cli/stable.txt# direct download (replace <ver>/<os>/<arch>, e.g. 2026.8.14 / linux / amd64):curl -fsSL -o vxcli https://vxcloud.io/download/cli/v<ver>/vxcli_<ver>_<os>_<arch>sudo install -m 0755 vxcli /usr/local/bin/vxcli
Quick Start
# 1. Sign in (exchanges API key → JWT, picks your tenant node)vxcli auth login -u your-username -k xc_live_…# 2. Confirm the CLI resolved your tenant nodevxcli node current# ✓ Active node: node1.vxcloud.io# 3. Upload your SSH keypair to Vault (stack deploys REQUIRE this — they# don't accept --key-pair-location; only --key-pair-name from Vault).vxcli configure setup vm \--key-pair-name AWSPRODKEY1 \--pem-file ~/.ssh/aws-prod.pem# 4. Provision a VMvxcli vm --app api-vm --cloud aws --service ec2 \--region us-east-1 --instance-type t3.small --key-pair-name AWSPRODKEY2# 5. Make sure your DNS already points at the VM, then deploy with HTTPS# (single command — bootstraps Traefik on the VM + ACME via HTTP-01).vxcli deploy fastapi ./ \--host <ip> --ssh-user ubuntu --key-pair-name AWSPRODKEY1 \--entry app.app:app --requirements requirements.txt \--app-port 8000 --http-port 80 --app-name studio-backend \# 6. Manage the running servicevxcli services list --host <ip> --ssh-user ubuntu --key-pair-name AWSPRODKEY1vxcli services status studio-backend --host <ip> --ssh-user ubuntu --key-pair-name AWSPRODKEY1vxcli services restart studio-backend --host <ip> --ssh-user ubuntu --key-pair-name AWSPRODKEY1# 7. Or drop a single Docker container (HTTPS via host nginx + certbot)vxcli deploy container grafana \--image grafana/grafana:latest \--port 3000:3000 \--host <ip> --ssh-user ubuntu --key-pair-name AWSPRODKEY1 \# 8. Open the menu-driven TUI for follow-upvxcli tui
Sections
- Basics & shell integration↧ — 8 commands
- Authentication (vxcli auth)↧ — 5 commands
- Tenant node (vxcli node)↧ — 7 commands
- Configuration (vxcli configure)↧ — 6 commands
- Deploy applications (vxcli deploy)↧ — 22 commands
- Install services from the catalog (vxcli install)↧ — 4 commands
- Manage services on remote VMs (vxcli services)↧ — 18 commands
- Sessions & lifecycle (vxcli sessions, apply, pull, delete, status, import)↧ — 9 commands
- AI agents (vxcli agent)↧ — 7 commands
- AgentControl (vxcli agentcontrol)↧ — 26 commands
- Marketplace (vxcli marketplace)↧ — 9 commands
- CI/CD (vxcli cicd)↧ — 13 commands
- Network diagnostics (vxcli networks)↧ — 2 commands
- Instant Sandboxes (vxcli sandbox)↧ — 7 commands
- Autonomous scheduler (vxcli vxchrono)↧ — 7 commands
- Node-local agent runtime (vxcli vxcomputer)↧ — 4 commands
- Web crawler & deep research (vxcli webscraper)↧ — 3 commands
- Robotic control cloud (vxcli robotic)↧ — 4 commands
- SalesShift (vxcli salesshift)↧ — 24 commands
- AI chat & infra namespaces↧ — 8 commands
- Operational gotchas (read before going live)↧ — 7 commands
Basics & shell integration
About / version / completion / interactive setup. The minimal commands you’ll run before anything else on a fresh install.
Authentication (vxcli auth)
Sign in and inspect your CLI identity. Credentials are stored under ~/.vxcloud/config.json and exchanged for short-lived JWTs against the VxCloud control plane.
Tenant node (vxcli node)
Inspect and switch the tenant node the CLI talks to. Each VxCloud workspace is bound to one node (e.g. node1.vxcloud.io); every deploy and install executes there.
Configuration (vxcli configure)
Inspect and update the persistent CLI config under ~/.vxcloud/config.json. The interactive `setup` wizard walks first-time users through the same fields.
Deploy applications (vxcli deploy)
Provision an application onto a remote VM. The CLI bundles your source (or clones a repo), POSTs it to the tenant node, and the node SSHs into the target VM to build, run, and front the app with nginx (or Traefik in SSL mode). All subcommands share the SSH flag set and the SSL flag set. HTTPS modes — `deploy container --enable-ssl` installs host systemd nginx + certbot in front of the first --port; `deploy <stack> --enable-ssl` (fastapi/react/nextjs/django/golang/...) bootstraps the shared `vxcloud-traefik` container which fronts the docker-compose stack on :443 with a Let's Encrypt cert. Both require the domain's A record to already point at --host. Stack deploys also require the keypair to be uploaded to Vault first (`vxcli configure setup vm --pem-file ./mykey.pem --key-pair-name MYKEY`).
Install services from the catalog (vxcli install)
Install a known service from the embedded catalog (Postgres, Grafana, Ollama, Kafka, …) or run a custom install script / docker-compose stack. The catalog ships inside the binary — no repo clone needed.
Manage services on remote VMs (vxcli services)
The lifecycle plane: start / stop / restart / status / logs / remove a Docker container, plus host-level ops (reboot, cleanup, diagnostics) under `vxcli services vm`. Sibling to install (which CREATES) and deploy (which DEPLOYS).
Sessions & lifecycle (vxcli sessions, apply, pull, delete, status, import)
A deploy/install creates a session — a tracked, replayable, inspectable unit of work. These commands list, replay, fetch, and tear down those sessions.
AI agents (vxcli agent)
AI agents for git, DevOps, and infrastructure operations. Tools are deterministic; reasoning is delegated to the model when an LLM is present.
AgentControl (vxcli agentcontrol)
UI parity for /dashboard/?tab=agentcontrol — every action the web dashboard exposes (Models, Datasets, Training, Pipelines, Fine-tuning, Embeddings, Knowledge, Tools, MCP, Evals, Programming, Web Assets, Deployments) is reachable from the CLI. Auto-injects X-Tenant-ID from your JWT; override with `--tenant <id>`. Use `--data/-d <json|@file>` for POST/PUT/PATCH bodies.
Marketplace (vxcli marketplace)
Browse and provision marketplace agents (FastAPI agents like prompt_agent / web_scraper_agent / research_deep_agent), models (embedding/retrieval like basic_model_chromadb / basic_model_faiss), and Terraform solutions (turnkey infra modules like terraform_aws_eks_enterprise, terraform_gcp_cloudrun, terraform_azure_three_tier_application). Aliases: `vxcli mp`.
CI/CD (vxcli cicd)
Manage CI/CD pipelines, builds, Git-provider connections, and per-pipeline env vars. Pipelines back onto GitHub Actions (workflow_dispatch), so `trigger` issues a real GitHub workflow run when wired to a GitHub repo.
Network diagnostics (vxcli networks)
Run a network diagnostic / security-audit script (DNS, bandwidth, ports, security audit) locally or over SSH on a remote host. The catalog is embedded in the binary.
Instant Sandboxes (vxcli sandbox)
Ephemeral dev environments — disposable Docker-in-Docker sandboxes you can SSH into, deploy to, then throw away. Useful for trying a deploy script without touching a real cloud VM. Each sandbox is reachable over a per-user nginx proxy.
Autonomous scheduler (vxcli vxchrono)
VxChrono is the per-tenant goal executor + cron scheduler. Define missions (a goal + a model + an optional cron) and the tenant node drives them — single-shot, on-cron, or until-success.
Node-local agent runtime (vxcli vxcomputer)
VXCOMPUTER is the per-tenant-node, file-backed agent control plane — policies, audit log, gateway for agent → tool calls. No external DB; everything lives on the node. Use these commands to inspect/configure the runtime before running agents.
Web crawler & deep research (vxcli webscraper)
Goroutine-powered web crawler, multi-engine search (Google/Yahoo/Bing/DuckDuckGo/Wikipedia/Yellow Pages), and an LLM-orchestrated "deep research" mode that fans seeds out, summarises pages, and produces a single answer. Ships as part of vxcli; backed by the webscraper agent on the tenant node (Ollama is the default LLM provider).
Robotic control cloud (vxcli robotic)
Register robots and fleets, push commands, and stream telemetry. The control plane is multi-tenant; each robot is paired to a tenant by short code or QR.
SalesShift (vxcli salesshift)
The SalesShift product surface: tracked email, dashboard stats, the tenant node email worker, and the global prospect pool. Aliases: `vxcli ss`, `vxcli sales`. Auth is whatever `vxcli auth login` stored — an `Authorization: Bearer <jwt>` when an access token is present, otherwise `X-API-Key` — so there is nothing extra to configure. Every leads command honours `--output text|json|yaml`; email, stats and worker always print text. HTTP timeout is 90s. Twenty-one of the entries below are commands; the last three are reference notes covering the shared `--output` flag, exit codes, and what to do when the group is missing. Between them they reach 21 of SalesShift's 363 API operations — deals, sequences, quotes, contracts, invoices, calendar, deliverability and messaging have no command, so use the REST API for those.
AI chat & infra namespaces
AI chat plus the infrastructure namespaces — docker, vm, kubernetes, serverless, storage, network. Each opens further subcommands; this section lists the entry points.
Operational gotchas (read before going live)
Real failure modes observed in production deploys. Most of these are one-line fixes once you know them — but they're non-obvious and the error messages can mislead.
Authentication note: --key-pair-name vs --key-pair-location
Every command that SSHes to a target VM accepts either:
--key-pair-name <name>— the tenant node resolves the SSH key from your workspace Vault. The key never leaves the server.--key-pair-location <path>— read a local PEM (e.g.~/.ssh/id_rsaor./mykey.pem) and attach it to the deploy request asprivate_key_pem. Path resolution honors~; permissions tighter than 0600 are warned. Key is uploaded over TLS.
You must set at least one of the two; passing both keeps the deploy backwards-compatible while the server-side support for private_key_pem rolls out.
Was this page helpful?