Skip to content

CLI Reference

The rh command line for shell automation, CI/CD, and scripted multi-cloud operations.

The RosettaHub CLI is a single binary, rh, that exposes every public RosettaHub operation as a shell command. It's the same surface you see in the RosettaHub Console and the OpenAPI, exposed as picocli-style subcommands suitable for scripts, cron jobs, and CI/CD pipelines.

Browse the full command reference

What the CLI covers

The rh command groups follow the RosettaHub object model. The most common groups:

Group Manages
rh formation Formations: machine, pool, virtual lab, big data, HPC
rh acc Cloud accounts: lifecycle, console URLs, budgets, vouchers
rh org, rh project, rh user, rh group Organizations, projects, users, groups
rh key, rh key-pair, rh certificate RosettaHub keys, cloud key pairs, SSL certificates
rh storage, rh bucket, rh file-storage, rh volume, rh snapshot Object, file, and block storage
rh image, rh federated-image, rh container, rh ci, rh cr, rh k8s Images, containers, container registries, Kubernetes
rh ip-address, rh domain Networking and DNS
rh compliance, rh custodian, rh scope, rh iam-role, rh iam-user Compliance, custodian policies, IAM federation
rh budget-transfer, rh topup, rh voucher FinOps and credit management
rh marketplace, rh portfolio, rh perspective, rh view, rh bookmark Marketplace, collaboration, dashboards
rh api-key, rh token, rh sso Credentials and identity
rh registration, rh cron, rh rate-task, rh email-template Onboarding, scheduled operations, notifications
rh federation, rh classroom, rh blacklist, rh cloud-account-pool Federation admin, classrooms, account pools

The full catalog of commands, options, and arguments is auto-generated from the source:

Global options

These flags work on every command:

Option Description
-q, --quiet Suppress non-essential output
-y, --yes Skip confirmation prompts
-dr, --dry-run Preview the operation without executing
-O, --output Output format: table, json, yaml, csv

Install

The rh CLI ships inside the RosettaHub Desktop app alongside the local daemon and the MCP servers. Installing the Desktop app puts rh on your system. The Desktop app's installer adds its bin directory to PATH so rh is available from any shell.

Confirm the install:

rh --version
rh status

rh status checks that the local daemon is reachable.

Authenticating

The CLI uses the same API keys as the RosettaHub API. Create one in the RosettaHub Console, then sign in:

rh login

rh ls lists active connections; rh set-default picks which one new commands use. rh whoami confirms the current identity and role flags.

See API Keys for how to create, scope, and rotate credentials.

Common workflows

A few illustrative one-liners. The full command reference covers the complete option set for each.

# List your formations as JSON
rh formation ls -O json

# Launch a formation
rh formation launch <formation-uid> --label dev-box-1 --key-set <keyset-uid>

# Stop every machine on a cloud account
rh acc stopall <cloud-account-uid>

# Pull cloud costs by service for an account
rh acc costs <cloud-account-uid>

# Transfer budget between cloud accounts
rh budget-transfer create --from <src-uid> --to <dst-uid> --amount 100

# Open the AWS console for a cloud account
rh acc consoleurl <cloud-account-uid>

# Listen on the RH trail
rh trail

Output formats and scripting

Every list/get command supports -O json|yaml|csv|table. JSON output pairs naturally with jq for shell pipelines:

rh formation ls -O json | jq '.[] | select(.cloud=="aws") | .uid'
Interface Use it for
API Reference The OpenAPI surface the CLI calls into
MCP Servers Natural-language operations via Claude Desktop or Claude Code
Python, Java, and JavaScript SDKs Typed programmatic access inside applications