> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reactor.inc/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reactor hosts multiple models, each with its own connect slug (modelName) and command/event schema. The catalog of every model — slug, typed SDK package, and links to its schema — is at /model-api-reference/overview. Some models expose one slug per experience (e.g. HappyOyster); always take the slug from the model's own pages, never guess it.
> Fastest path to a working app: `npx create-reactor-app my-app --model=<slug>` scaffolds a complete app with secure auth wired up. Typed TypeScript SDKs are published as @reactor-models/<model>; Python uses the base reactor-sdk package.
> Auth: exchange an API key (rk_...) for a JWT via POST https://api.reactor.inc/tokens from your server. Never put the API key in client-side code.
> Append .md to any docs URL for clean Markdown. Search these docs via the MCP server at https://docs.reactor.inc/mcp.

# reactor model update

> Update an existing model from its reactor.yaml spec

```sh theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
reactor model update [<name>] [flags]
```

## Description

Update a registered model from its reactor.yaml spec, or apply a
targeted status / visibility change.

**Spec-driven update (default, no flags):**

The update payload is built ENTIRELY from the model spec - the
`reactor.yaml` discovered by walking up from the current directory
(stopping at the repository root), or the file passed via `--model-file`.
The spec is the source of truth: description, resources
(CPU / memory / GPU), and extra-args are applied exactly as
written, and fields ABSENT from the spec are cleared on the server.
`public` is the exception: omit it to leave the model as public or
private as it already is on the server, or write it to force the
value. `model.name` only selects the target model (the model name is
immutable and never changed); `model.version` is ignored. An explicit
\<name> must match the spec's `model.name` when both are present.

**Targeted changes (`--status`, `--public` / `--private`):**

When any of these flags is given, ONLY those limited changes are
applied - every value in reactor.yaml is ignored and nothing else on
the model is touched. `--status` takes ACTIVE, DEPRECATED, or DISABLED.
`--public` and `--private` are mutually exclusive. Status and visibility
can be combined in a single call. `--model-file` cannot be combined
with these flags.

**Examples:**

```sh theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
reactor model update                            # apply the workspace reactor.yaml
reactor model update --model-file ./reactor.yaml
reactor model update my-model                   # explicit name; spec still drives values
reactor model update partner/my-model           # explicit canonical name
reactor model update --status DEPRECATED        # targeted: status only
reactor model update --private                  # targeted: visibility only
reactor model update --status ACTIVE --public   # targeted: both at once
```

## Options

| Flag                  | Description                                                                         |
| --------------------- | ----------------------------------------------------------------------------------- |
| `--model-file string` | Path to a YAML or JSON model spec (default: auto-detect the enclosing reactor.yaml) |
| `--private`           | Apply ONLY a visibility change to private; ignores reactor.yaml                     |
| `--public`            | Apply ONLY a visibility change to public; ignores reactor.yaml                      |
| `--status string`     | Apply ONLY a status change (ACTIVE, DEPRECATED, or DISABLED); ignores reactor.yaml  |

## Global options

| Flag              | Description                                                                           |
| ----------------- | ------------------------------------------------------------------------------------- |
| `--server string` | Reactor API server URL (default "[https://api.reactor.inc](https://api.reactor.inc)") |
| `-v, --verbose`   | Enable verbose output                                                                 |

## See also

* [reactor model](/deploy/cli-reference/reactor_model) - Model management commands
