ls,
update, instances, and delete. The last three infer the model name from the nearest enclosing
reactor.yaml when you run them inside a workspace, so the usual call needs no arguments.
List the models you own
reactor ls prints the models registered against your account (reactor model ls is identical),
one canonical <org>/<name> per line, so the output pipes cleanly into shell composition:
-a/--all to include every visible model on the
platform, including the public ones you can deploy but do not own:
Long format with -l
Pass -l to get a table with visibility, ownership, status, and per-region instance columns. Short
bool flags compose, so -la is the same as -l -a:
Structured output
Pass-o/--output to emit the same data, including the per-region instance counts, in a
structured format: table (default), json, yaml, or md (Markdown table):
Narrowing the listing
Pass--name <substring> to keep only canonical names containing the substring (case-insensitive,
server-side filter):
--name, or pass -a to widen the view.
Update a model’s spec
reactor model update is the way to change a registered model without re-publishing a release. It
has two modes.
Spec-driven (default)
With no flags, update treats yourreactor.yaml as the complete declaration of the model’s
mutable fields. The CLI sends a full-replace PUT built from the spec: description, resource
overrides (CPU / memory / GPU), and extra-args. Anything absent from the spec is cleared on the
server.
public is the exception. When you leave it out of the file, the model keeps the visibility it
already has. When you write it, the value in the file overwrites the stored visibility.
This mode never renames the model: model.name only selects the target. model.version is also
ignored (update operates on the model, not a release).
To update a model from outside its workspace, point at a spec explicitly:
<name> and a model.name in the file are present, they must match (short
and canonical org/name forms compare equal).
Targeted (status / visibility)
To flip a status or visibility flag without touching the rest of the spec, pass one of--status,
--public, or --private. Targeted mode ignores reactor.yaml values entirely and applies just
the named change server-side.
--status accepts ACTIVE, DEPRECATED, or DISABLED. --public and --private are mutually
exclusive. --model-file cannot be combined with the targeted flags.
List running instances
reactor model instances shows the instances currently serving a model, so you can check what is
deployed and live without leaving the CLI.
--all to include both the recent historical instances and those all-zero regions. Bound the
history window with --since (a Go duration, with a d day suffix):
The formatted output opens with a per-region count table, then lists one row per instance:
STATUS:
A
? in the region table means the same thing: the server did not report that number.
Use INSTANCE (the instance identifier) with reactor logs <machine_id> to tail
that instance’s logs, or with GET /logs?machine_id=… from the log gateway.
Delete a model
reactor model delete soft-deletes a model: the record and its releases are kept on the server as a
tombstone, and the model’s name stays reserved. The model leaves every read surface at once, but the
same name cannot be re-registered while the tombstone exists. The partner image and weights bundles in
object storage are retained for audit and garbage-collected separately.
kubectl delete, gh repo delete, and terraform destroy use.
Any mismatch (including a different case or trailing whitespace) aborts immediately; there is no
retry.
--yes to skip the confirmation:
Next
Check release status
See where each release stands and which one is live.
Stream logs
Tail the runtime logs of a session or instance.