platform.openinfer.io →

Command reference

Every weave command, grouped by area — authentication, nodes, models, keys, and runtime.

Every weave command, grouped by area. This mirrors weave help; run weave <command> --help for the authoritative, always-current flag list.

Most commands accept --json to emit machine-readable output instead of a table — handy for scripting and agents.

Global options

These flags and environment variables apply to every command:

Flag Env Purpose
--org <id> WEAVE_ORG Organization (object id or name) for operator commands. Defaults to your saved default organization (weave orgs use), then your sole compute-owning organization.
--endpoint <url> WEAVE_ENDPOINT Control-plane base URL. Defaults to the build's baked endpoint.
--hub <url> WEAVE_HUB Explicit gRPC hub override, such as https://platform.openinfer.io:8443. Rarely needed — the control plane advertises the hub at pair/connect.
--config <path> WEAVE_CONFIG Bootstrap config file. Defaults to ~/.weave/weave.toml.
--identity <path> WEAVE_IDENTITY Identity file (node id + pairing token). Defaults to ~/.weave/runner.toml.
--name <name> WEAVE_NODE_NAME Friendly display name for this node, sent to the hub and saved to weave.toml.
--engine-url <url> WEAVE_ENGINE_URL Local runtime base URL. Defaults to http://127.0.0.1:1337.

Authentication

Log in and manage credentials.

weave auth login # device-code sign-in, then stores credentials locally
weave auth status # show stored credentials
weave auth logout # remove stored credentials

weave auth login prints a URL and a one-time code. Approve it in a browser on any machine, so it works over SSH and on headless boxes. If a local browser is available it opens for you. It accepts --endpoint <url> to authenticate against a specific control plane (defaults to $WEAVE_ENDPOINT).

Pairing & serving

Join a machine to the fleet and serve.

weave pair <weave_pt_…> # store the durable pairing token locally, then exit
weave up # pair if needed, launch/supervise oi-runtime, connect, serve
weave run # connect and reconnect forever (identity must already exist)
  • weave pair [token] stores the pairing (refresh) token and exits — no connection is opened. The token may come from the argument or $WEAVE_PAIR_TOKEN; if omitted and you are logged in, one is minted for your organization automatically.
  • weave up [token] is the idempotent entrypoint for unattended/fleet use: pair if there's no identity yet, then run. A bare weave up supervises the local runtime so it's a full serving node. It stops the runtime cleanly on SIGTERM, so it works as a container entrypoint. Pass --no-managed-engine when an external supervisor (systemd's oi-runtime.service, or a separate runtime container) owns the runtime.
  • weave run exchanges the stored pairing token for an access token, connects, and reconnects forever.

Nodes & fleet

Inspect and operate connected nodes.

weave nodes # list the organization's nodes and their loaded models
weave node <id> # inspect one node
weave node <id> --enable-routing # start routing requests to this node
weave node <id> --disable-routing # drain: stop routing new requests
weave fleet # cluster-wide health: nodes, GPU memory, sessions
weave fleet reapply # re-push the organization's committed-topology layout
weave fleet plan --model @oi/Qwen3.5-397B-A17B:44 --model @oi/Qwen3.5-27B:8 # device-level plan (dry run)
weave fleet plan --model @oi/Qwen3.5-27B:8:32768 --apply # plan + push (guard-checked)

weave fleet plan takes --model SLUG:DEMAND[:CONTEXT] (repeatable): DEMAND is concurrent sessions and CONTEXT is tokens per session, defaulting to the model's catalog average. --place-by sessions|weight picks the packing strategy (default sessions). It is a dry run until you pass --apply, and the hub refuses a layout that fails its overcommit guard.

Logs — bounded query by default, live tail with --follow:

weave logs <id> --tail 50 # last 50 lines
weave logs <id> --since 10m --grep cuda # last 10m, filter for "cuda"
weave logs <id> --since 10m --until 5m # time window
weave logs <id> --service runtime --follow # live tail the runtime logs
weave logs <id> --follow --since 5m # backfill 5m, then follow
weave logs <id> --component core --level warn # runtime's structured trace buffer (warn+)

Services to tail are runtime, agent, system (comma-separated or repeat --service; omit for all). --component reads the runtime's structured trace buffer (core, scheduler, session, transfer, http) — a bounded snapshot that can't be combined with --follow. Service logs come from journald, so a containerized node only serves the --component buffer (see Deploying with containers).

Restart an in-place service (no download, no version change) — the remedy for a wedged runtime. Waits for recovery and exits non-zero if it doesn't come back:

weave restart <id> # restart oi-runtime, wait
weave restart <id> --agent # restart the weave agent instead
weave restart <id> --drain-grace 30 # let in-flight requests finish first
weave restart <id> --reason "oom" # recorded in the node's logs
weave restart <id> --no-wait # fire and forget

Upgrade to the latest published build — the agent downloads, verifies, drains, swaps, restarts, re-warms, and rolls back if the new build doesn't come up:

weave upgrade <id> # upgrade the weave agent (default)
weave upgrade <id> --runtime # upgrade oi-runtime instead
weave upgrade <id> --no-wait # return once the agent accepts

"Latest" means the runtime build this Studio currently serves for the node's platform and accelerator. A node never upgrades on its own. It moves only when you run weave upgrade <id> --runtime or use Upgrade on the node's page in Studio, which appears while the node runs a different build. The node page also shows which runtime build the node runs.

On a containerized node an upgrade lands in the container's filesystem only, so it is lost when the container is recreated. Rebuild the image instead (see Deploying with containers).

Models & routing

Manage the catalog and where models run.

weave models # list the organization's model catalog
weave models available # platform models the organization can import
weave models available --fits <node-id> # only those that fit that node's GPU + RAM
weave models import @oi/Qwen3.5-9B # import + publish (owner/admin; re-import is a no-op)
weave route @oi/Qwen3.5-27B # routing state for a model: candidates, health, inflight, ownership

Push a desired model set to a node. The hub requires at least one high-priority model in the set:

weave push <id> --high @oi/Llama-3.2-1B-Instruct --wait
weave push <id> --high @oi/A --medium @oi/B --low @oi/C
weave push <id> --all # serve the full published catalog
  • --high / --medium / --low set priority; repeat each for multiple models. --model adds a model with no explicit priority (the hub treats it as medium).
  • --tier <name> (e.g. hot).
  • --wait polls until each model reaches hot; --timeout <secs> (default 120) bounds the wait and exits non-zero on timeout.

Keys & tokens

Three distinct credential types — don't mix them up:

  • pk_… inference API keys — Authorization: Bearer against /v1.
  • usr_… operator CLI tokens — your weave auth login sessions.
  • weave_pt_… pairing tokens — reusable, organization-scoped credentials a machine presents to weave pair / weave up.
weave keys mint # mint an inference API key (pk_…), printed once
weave keys mint --name ci # label the key (default "weave CLI")
weave tokens ls # list your CLI tokens
weave tokens revoke <id> # revoke a CLI token
weave pairing-tokens ls # list the organization's live pairing tokens (no secrets)
weave pairing-tokens mint --label ci # mint a weave_pt_… (printed once)
weave pairing-tokens revoke <id> # revoke; nodes on it must re-pair

Every mint prints its secret once — capture it immediately.

Organizations

weave whoami # show the authenticated compute-owning organization
weave orgs ls # list the organizations you belong to
weave orgs use <organization> # set the default organization for operator commands

API keys, pairing tokens, and nodes all belong to the organization. Switch organizations with weave orgs use, or pass --org to a single command.

Runtime

Install or update the local oi-runtime inference runtime using the pairing token this node already holds (or $WEAVE_TOKEN) — so a box with just the public CLI can become a full serving node without re-running the install script.

weave runtime install # auto-detect cpu/cuda and install
weave runtime install --accel cuda # force the CUDA build
weave runtime install --force # reinstall even if a runtime is present

Auto-detection picks cuda when nvidia-smi finds a GPU and cpu otherwise. Pass --accel explicitly when installing where no GPU is visible, such as a docker build.