Browse documentation
Docs/Start here

Terminal workflows

ComputeCubed CLI

Rent compute, onboard Linux nodes, and connect to your rentals from an interactive terminal or scripts.
Product source reviewed: 30 October 2026

Install and sign in

Your compute, from the terminal

Rent a workspace, add a GPU host, or connect with SSH.

Linux & macOSPython 3.11+No sudo to install

Paste one command into your terminal. The installer sets up the CLI and remembers this website for you.

Loading CLI downloads…

In the Console, choose CLI to install and get started while keeping the Console navigation visible. The full installation and usage guide opens in a separate tab.

The CLI installs for your user and connects to the website where you copied the command. You do not need to set an API URL or activate a Python environment.

Run computecubed login once. Open the ComputeCubed device sign-in page shown in your terminal, enter the code, sign in with your email or passkey, and approve the request. Later commands reuse your saved session. Use computecubed --no-browser login on a headless machine.

The installer supports Linux and macOS with Python 3.11 or newer. On Ubuntu or Debian, install virtual-environment support for your Python version if requested. Node onboarding and automatic WireGuard connections require Linux. Existing account approval, Terms and rental rules still apply.

Other installation options

Download the installer with the button above, then run sh computecubed-install.sh --source https://YOUR-WEBSITE/downloads/cli. To choose a Python executable, set COMPUTECUBED_PYTHON before running it. Use --no-modify-path if you manage your own shell setup, or --prefix and --bin-dir for custom locations. The Python wheel and checksums are available for managed environments.

The installer adds a command under ~/.local/bin. Open a new terminal after installation; the installer also prints full commands you can run immediately in the current terminal. A failed upgrade keeps the previous installation active.

Use status to check access and logout to revoke the saved session. Credentials stay in a supported OS keyring when installed, or private files owned by your user. --ephemeral keeps a session in memory for one command.

Use the terminal UI

Running computecubed in a terminal opens the UI. Browse marketplace nodes and clusters, active rentals, provider clusters, listings and eligible hardware. Use arrows or J/K to select, Enter for details, A for actions, R to refresh, N for another marketplace page, / to search, F for marketplace filters, Esc to return, and Q to quit. Details and quote dialogs scroll with arrows and Page Up/Down. Forms accept Ctrl-U to clear and Esc to cancel.

The provider forms cover resource ranges, per-GPU prices, enabled rental modes, expiry and minimum rental terms. Rental actions let you review a quote, wait for provisioning, export connection credentials, start or stop WireGuard, open SSH, run commands and end a rental. SSH and sudo temporarily take control of the terminal and return to the UI afterward.

Payments, transaction history, account settings and telemetry dashboards remain in the Console. The CLI exposes SSH public keys as a connection prerequisite.

Rent compute

bash
computecubed marketplace nodes --search nvidia
computecubed marketplace clusters --min-ram-mb 8192
computecubed marketplace show LISTING_UUID
computecubed images --listing LISTING_UUID
computecubed ssh-keys add ~/.ssh/id_ed25519.pub
computecubed rent LISTING_UUID --mode sliced --cpu 2 --ram 4096 --disk 20 \
  --gpu GPU_ID --image IMAGE_ID --quote-only
computecubed rent LISTING_UUID --mode full --image IMAGE_ID --wait

Choose full, sliced, namespace or limited for the four supported rental modes. RAM values are MiB; disk values are GB. Repeat --gpu for multiple devices. Cluster GPU selections also support repeated --gpu-model 'MODEL=COUNT'. Limited namespaces can specify --node NODE_UUID and --namespace-gpus COUNT.

Every rental starts with a fresh server quote. The CLI shows the hourly price, reservation, minimum period, recurring minimum commitment, contract end and quote expiry before asking you to confirm. --yes accepts that quote for automation. Starting a rental uses your existing wallet balance and can incur charges. Fund the wallet and accept Terms in the Console when required. Availability and pricing are checked again by the server.

Connect to a rental

bash
computecubed rentals list
computecubed rentals show RENTAL_UUID
computecubed rentals connect RENTAL_UUID
computecubed rentals ssh RENTAL_UUID --identity ~/.ssh/id_ed25519
computecubed rentals exec RENTAL_UUID -- nvidia-smi
computecubed rentals disconnect RENTAL_UUID

Install WireGuard tools before using connect. The CLI saves a private profile and starts its own interface, requesting sudo if needed. disconnect works offline and removes the profile after bringing the interface down. Failed connections retain the private file for recovery. Export a profile for another client with rentals wireguard RENTAL_UUID --output ./rental.conf; protect it as a credential.

For Kubernetes rentals, use rentals kubeconfig RENTAL_UUID --output ./rental.kubeconfig or rentals kubectl RENTAL_UUID -- get pods. Install kubectl and its OIDC login plugin where required. Credentials remain scoped to your rental. SSH uses your key or agent and pins the server key separately for each rental and API environment. A new rental may reuse an address and port; a changed key within the same rental is refused. Exported files must be new; the CLI refuses to overwrite existing files or links.

rent --connect and rent --ssh wait for provisioning and establish the Linux WireGuard connection; --ssh then opens SSH. End an unused rental with rentals end RENTAL_UUID --wait. Minimum rental commitments still apply. Disconnect your local tunnel when finished.

Onboard and list a node

bash
computecubed clusters create my-gpu-cluster --gpu nvidia --wait
computecubed nodes onboard CLUSTER_UUID --name gpu-worker
computecubed nodes list CLUSTER_UUID
computecubed listings eligible nodes
computecubed listings eligible clusters
computecubed listings create --file listing.json

Run nodes onboard on the Linux machine you want to contribute. After confirmation, the supported join procedure installs prerequisites, configures WireGuard, joins the cluster and registers the host. Follow the same host prerequisites as browser onboarding. Use an appropriate GPU type when creating the cluster.

Create and edit a listing through UI forms or command flags. JSON files support all listing fields, including resource price curves, individual GPU prices, node or cluster scope, supported rental modes, listed-until, minimum rental period and recurring minimums. Monetary fields ending in _cents use integer minor units. Use listings create --help to see every flag and listings and pricing to understand the fields.

Provider commands can pause or publish listings, start or sync a cluster, manage availability protection, inspect or revoke pending join profiles, and remove nodes or clusters. The server enforces ownership and active-rental restrictions. Destructive actions request confirmation. Removing a node does not promise to uninstall every component from the host.

Automation and recovery

Set COMPUTECUBED_API_URL or pass --api-url before the command to select your HTTPS environment. Commands output JSON, while progress goes to stderr. Use --yes only when your automation is prepared to accept the current quote or destructive action. Exit codes distinguish success, operation failures, invalid arguments and cancellation.

Creation commands print a request key. After a lost connection, inspect operations find --kind rental.start --request-key KEY before submitting another rental. Use operations show, wait and retry to follow asynchronous work. Canceling a wait does not cancel a submitted operation. Review failed state before retrying.

Protect saved sessions, WireGuard profiles, private SSH keys and kubeconfigs. Do not paste them into support messages or issue trackers. Public connection information and operation UUIDs can help identify a failed request without sharing credentials.

Was something unclear or out of date?

Include the page title and visible Console version when reporting a documentation issue.

Cookie settings