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

# sf env

> List agent RL environments

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env ls
sf env show alice/calculator-tasks@1.0.0
sf env push ./my-env --name calculator-tasks --version 1.0.0
```

Agent RL environments: the task suites an agent practises against. `sf env ls` shows what you may
reference — public environments plus your own.

`sf env show` prints one environment's manifest: its protocol, its verifier, its tools, and whether
it needs a sandbox. It does **not** print the tasks, and no command does. A taskset encodes what a
business considers hard, so a job references an environment and never receives a copy.

To author one, see [Agent environments](/en/extend/environments).

## Registering something already running

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env runner register http://envbox-3.corp:8080 \
  --name shared-sim --version 1.0.0 \
  --rubric alice/task-completion
```

Verifies a running OpenEnv service and registers it as an environment, without needing an
administrator. The platform never starts or proxies it — it decides whether a job may reach that
host and hands the URL to the trainer.

## `sf env`

List agent RL environments

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env <subcommand>
```

| Command         | Description                                                        |
| --------------- | ------------------------------------------------------------------ |
| `sf env ls`     | List the visible environments                                      |
| `sf env push`   | Push a new version of an environment                               |
| `sf env runner` | Register an environment that already runs on a machine of your own |
| `sf env show`   | What an environment declares                                       |

### `sf env ls`

List the visible environments

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env ls
```

No options beyond `--help`.

### `sf env push`

Push a new version of an environment

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env push <DIRECTORY> [options]
```

| Argument    | Description                                                                         |
| ----------- | ----------------------------------------------------------------------------------- |
| `DIRECTORY` | Holds manifest.json and tasks.jsonl; everything under it is uploaded (**required**) |

| Option            | Description                                                           |
| ----------------- | --------------------------------------------------------------------- |
| `--name`, `-n`    | \<owner>/\<name>, or a bare name in your own namespace (**required**) |
| `--version`, `-v` | **required**                                                          |
| `--public`        | Only applies when the environment is first created                    |

### `sf env runner`

Register an environment that already runs on a machine of your own

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env runner <subcommand>
```

| Command                  | Description                                          |
| ------------------------ | ---------------------------------------------------- |
| `sf env runner register` | Register a running OpenEnv service as an environment |

#### `sf env runner register`

Register a running OpenEnv service as an environment

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env runner register [ENDPOINT] [options]
```

| Argument   | Description                                                                                        |
| ---------- | -------------------------------------------------------------------------------------------------- |
| `ENDPOINT` | Where the environment already answers, e.g. [http://envbox-3.corp:8080](http://envbox-3.corp:8080) |

| Option            | Description                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------- |
| `--fleet`         | Register it on a fleet instead of a fixed address; the platform picks a machine from it when a job runs |
| `--name`, `-n`    | \<owner>/\<name>, or a bare name in your own namespace (**required**)                                   |
| `--version`, `-v` | **required**                                                                                            |
| `--rubric`        | Score with a platform Rubric instead of the environment's own reward                                    |
| `--description`   | What this environment is for                                                                            |
| `--public`        | Only applies when the environment is first created                                                      |

### `sf env show`

What an environment declares

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf env show <REFERENCE>
```

| Argument    | Description  |
| ----------- | ------------ |
| `REFERENCE` | **required** |

No options beyond `--help`.
