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

# jstm agent dry-run, pilot, live

> Stage an agent and promote it through Dry Run, Pilot, and Live.

Three commands move an agent between deployment stages. Each accepts `--build` and `--version` so you can build and stage in one step.

<Warning>
  `pilot` and `live` run with real side effects. Both prompt for confirmation. `--yes` skips the prompt.
</Warning>

## `jstm agent dry-run`

Set the agent's stage to Dry Run and, unless you pass `--no-run`, fire one dry-run run.

```bash theme={null}
jstm agent dry-run month-end-close
jstm agent dry-run month-end-close --build --input '{"period":"2026-07"}'
jstm agent dry-run month-end-close --no-run
```

| Option      | Description                                      |
| ----------- | ------------------------------------------------ |
| `--no-run`  | Stage only. Don't fire a run                     |
| `--build`   | Build the package and wait for it before staging |
| `--version` | Package version to pin                           |
| `--input`   | Run input as a JSON string. Defaults to `{}`     |
| `--json`    | Emit as JSON                                     |

Dry Run executes the agent end to end with side-effecting actions held back. Nothing outside JoyStream changes.

## `jstm agent pilot`

Promote the agent to the Pilot stage.

```bash theme={null}
jstm agent pilot month-end-close
jstm agent pilot month-end-close --build --version 0.3.0 --yes
```

| Option      | Description                                      |
| ----------- | ------------------------------------------------ |
| `--yes`     | Skip the confirmation prompt                     |
| `--build`   | Build the package and wait for it before staging |
| `--version` | Package version to pin                           |
| `--json`    | Emit as JSON                                     |

Pilot is controlled real execution — limited scope, access, volume, or audience. Actions take effect.

## `jstm agent live`

Promote the agent to the Live stage.

```bash theme={null}
jstm agent live month-end-close --yes
```

Takes the same options as `pilot`.

Live is approved production execution.

## Choosing a version

Without `--version`, staging uses the agent's current package. With it, you pin an exact version:

```bash theme={null}
jstm agent live month-end-close --version 0.3.0 --yes
```

Combining `--build --version 0.3.0` builds that version and stages it in one command.

## Checking readiness first

`jstm agent readiness` exits non-zero when there are blockers, so it gates a promotion cleanly:

```bash theme={null}
jstm agent readiness month-end-close && jstm agent pilot month-end-close --yes
```

See [Inspect an agent](/cli/agent-inspect).

## Running after staging

Once staged, `jstm agent run` with no `--mode` uses the agent's current stage. A plain run on a pilot-staged agent runs as pilot, not as an implicit dry run.

```bash theme={null}
jstm agent run month-end-close --input '{"period":"2026-07"}'
```

See [`jstm agent run`](/cli/agent-run).

## See also

* [The lifecycle](/concepts/lifecycle) — why the stages exist.
* [Promote to production](/guides/promote-to-production) — walkthrough.
