@ornncompute/cli to browse capacity, launch reserved compute, connect,
and inspect health from a terminal. The installed command is ornn.
To integrate without the CLI, call the REST API with an API key.
CLI and REST equivalents lists the request behind
each command.
Install
Use Node.js 20 or newer:Sign in and choose an organization
ornn login opens the Ornn browser device flow. On a remote terminal, print the
URL without opening a browser:
The CLI stores the approved session in
auth.json under ~/.config/ornn,
readable only by you. Set ORNN_CONFIG_HOME to keep it somewhere else, for
example a separate directory per CI job. A session ends when you run
ornn logout or after 14 days without use. Ornn verifies current membership for
every request.
The CLI does not accept an API key from a flag or environment variable. For
unattended automation, call the REST API with an API key instead.
See CLI sign-in and API keys.
Get help and discover commands
Use these three commands to launch, connect, and check compute:ornn or scoped help:
ornn resources lists these command groups:
Trade capacity
For listings with selectable terms and durations, make your offer in Reserve. CLI and MCP offer creation do not yet accept those selections.capacity-offers list and show return capacity and availability, including
capacityListingId. Pass that ID to ornn capacity-offers terms --listing-id ID
to read the advertised prices and duration choices separately. Each choice has a
listingTermsId; a listing can have multiple choices. List pages accept
--limit from 1 to 100 and an opaque --cursor from the previous response.
spot places and cancels bids on the Spot order books. schedules lists
Reserve (--listing-kind primary) and Market (--listing-kind secondary)
listings; sold windows are removed. offers post, accept, and cancel offers on
Reserve listings. schedules buy buys a window of a Market listing at its
current asking price, paid up front. capacity-offers relist publishes capacity
from a reservation with explicit financial terms; delist removes it from sale.
Price editing is staff-only. Prices are integer micro-USD per GPU-hour
(2500000 is $2.50), already include Ornn’s fees, and match the web console;
times are RFC 3339. Every bid, offer, purchase, and relist asks for review
first; add --yes in automation. Saving a card and paying invoices use the web
app. See Spot, Reserve, the
Market, and Relist capacity.
Reservations and invoices
Launch compute
ornn launch [<reservation>] --mode vm|bare-metal|kubernetes|slurm [--key <ssh-key>]
launches one reviewed VM, Bare Metal machine, Kubernetes cluster, or Slurm
cluster from active reserved capacity. Kubernetes and Slurm prompt for a missing
--network public|private and --nodes <count>. Bare Metal can add
--network shared --volume <managed-volume> --mount-access read-only|read-write
for a durable workspace.
Launch uses active reserved capacity. In automation, VM, Bare Metal, and Slurm
require --key <canonical-key-id>. Kubernetes and Slurm automation require
one canonical organization, exact machine IDs in --machines matching
--nodes, explicit --yes, and a stable idempotency key before any API
request. --vms adds running VMs as workers, by canonical VM ID; --nodes 0
launches a cluster of VMs only. A VM’s SSH keys are set aside while it is in
the cluster. Both modes recheck the organization and eligible machines
immediately after review and fail closed if either changed.
When a human composes a durable Bare Metal workspace with a private network and
managed volume, the CLI generates and stores its recovery identity locally
before the first mutation. An interrupted run prints
ornn launch --mode bare-metal --resume; no workflow ID needs to be copied.
Automation continues to supply its own stable --idempotency-key or
--resume ID.
Connect
ornn connect [<hostname-or-machine-id-or-cluster-id-or-reservation-id>] accepts
--identity-file <path>, --user <login>, --output <path>, --print, and
--overwrite.
VM and Bare Metal use SSH. A direct connect announces the native command before
opening it. Bare ornn connect discovers all current VM, Bare Metal,
Kubernetes, and Slurm targets, then lets you choose among the
combined set. Add --print to display a usable direct SSH command without
executing it. For Kubernetes connection setup, follow Kubernetes access. Slurm uses SSH and native Slurm
tools. Secret bytes are available only through an explicit export; raw
--print cannot be combined with an explicit --format.
Check health, metrics, and logs
check combines lifecycle, health, reachability, metrics, and logs without
hiding source failures, and human output includes returned metric/log samples.
Manage VM and Bare Metal machines
<machine> is a canonical machine ID or an exact hostname.
Manage Kubernetes and Slurm clusters
Launch clusters with
ornn launch and get access with
ornn connect.
Manage SSH keys
Assignment and delivery are separate. A queued key is not installed. See
Manage SSH keys.
Private networks and VPN connections
Private networking belongs to the selected organization. Durable Bare Metal
workspaces use
--network shared with a managed volume. Per-reservation
network attachment commands have been removed.
Storage
Storage list pages
Ornn CLI 1.0.22 and later request storage lists one page at a time.ornn volumes list and ornn external-buckets list accept --limit 1 through
--limit 100 (default 25), ordered by last updated. Pass the returned
page.next_cursor to --cursor for the next page; null means the end.
Refresh from the first page after changes. Older CLI versions receive an
upgrade error for storage lists. File-list pagination is unchanged.
Retry uploads and refresh usage
CLI 1.0.28 supports retrying a file upload with the same--idempotency-key
and unchanged volume, remote path, file bytes, and content type. After the
matching server update, a completed retry returns the original upload ID without
sending bytes again. Use a new key for a different request or an expired
incomplete upload. Overwriting a file replaces its contribution to volume usage.
Run ornn volumes refresh <volume> to reconcile usage with the stored files.
GCS imports and Storage Transfer Service
CLI 1.x can connect a GCS bucket, but imports are currently blocked because GCS source verification is unavailable. Contact Ornn support to arrange an import. Include your source bucket name and region, destination reservation ID, and the files or prefix you need. Confirm the transfer cost, destination storage, and access permissions before starting. Ornn copies the source data into destination storage. Editing imported files does not update the originals in GCS. Your bucket administrator may need to grant read access; confirm the current transfer identity with Ornn before changing bucket permissions. Never share an access key or service-account private key. Wait for copying and mounting to finish, then check files from your workload. An accepted request does not mean the import is complete. Before replacing an existing attachment, export important data and confirm how to restore access. See storage pricing and the access guide for your mode.CLI 0.2.x storage commands in historical release notes do not work in CLI 1.x. Use
ornn help for
the installed version’s commands.Human and automation modes
In a terminal, commands default to human output. They may guide safe selection, show one final review, and ask default-no[y/N] consent. Pressing Enter,
reaching EOF, or declining sends no mutation.
Redirected and automated commands require an explicit format:
--format human|json|ndjson, --guided, --yes,
--wait, --no-wait, --timeout, --no-browser, --overwrite, and
--idempotency-key. The old --json flag is not an alias; use --format json.
Machine mode never prompts, launches a browser, or guesses a missing choice.
Unsafe or incomplete input fails before any request. Mutations that create or
increase spend, erase data, tear down a resource, or reduce access require
explicit consent and a caller-stable idempotency key.
Lists use bounded --limit and opaque --cursor values. Waits poll only
transitional states, honor your timeout and cancellation, and report the last
observed state on timeout. Use --no-wait to stop at the first durable state.
Read machine output
JSON and NDJSON use schemaornn.cli/v1:
CLI and REST equivalents
Each command below maps to the REST request that does the same job with an API key. Paths are relative tohttps://api.ornn.com. Where a
command composes several requests, the table lists each one. CLI-only flows have
no documented REST route yet; use the CLI for those.
The CLI adds review prompts, waits, and name resolution on top of these
requests. Over REST, poll the read endpoints yourself and pass canonical IDs.
See conventions for errors, pagination, and
idempotency.
Session and platform
Capacity: Spot, Reserve, Market, and Relist
Reservations and billing
VM and Bare Metal machines
SSH keys
Kubernetes and Slurm clusters
Private networks and VPN connections
Storage
Monitoring
Migrating to vNext
The current major is a clean cutover. A retired command does not execute. It exits before making a request and prints one exact replacement plus the migration URL.
The new contract also uses deadline-bound waits, semantic default-no consent,
bounded cursor pagination, versioned machine envelopes, and semantic exit
statuses.
@ornncompute/cli 1.x uses the existing ornn command and requires Node 20
or newer. Install the latest published release with
npm install -g @ornncompute/cli@latest. Publication does not wait for the
legacy support schedule, which starts at 2026-10-05T00:00:00Z.
0.2.10 remains the configured previous release for rollback. ornn update updates
within the installed major. Review this guide, then use ornn update --major
to acknowledge the major crossing. Through day 90, you can roll back to the
final previous release:
auth.json, config.json, endpoint
settings, and update cache. Updating or rolling back does not rewrite your
bearer. Rollback is unsupported at 2027-01-04T00:00:00Z (day 91). Legacy
calls then return an upgrade-only 426 response through day 180. The retired
routes are absent at 2027-04-04T00:00:00Z (day 181).
Use ornn --version or ornn -v for the semantic version. ornn version also
shows the machine schema and update channel.