---
title: Environment IDs
description: Complete list of registered environment IDs in SO101-Nexus.
---

SO101-Nexus environments are registered with Gymnasium when you import a backend module. Import `so101_nexus.mujoco` for the single-environment MuJoCo tasks and `so101_nexus.warp` for the GPU-parallel batched tasks before calling `gymnasium.make()` or `gymnasium.make_vec()`.

```python
import so101_nexus.mujoco  # registers MuJoCo envs
import so101_nexus.warp    # registers Warp envs (requires so101-nexus[warp])
```

## Listing Environments

```python
from so101_nexus.env_ids import all_registered_env_ids

for env_id in all_registered_env_ids():
    print(env_id)
```

## All Registered Environment IDs

`all_registered_env_ids()` returns the IDs for whichever backends you have imported. With the MuJoCo backend imported it returns the five MuJoCo IDs:

| Environment ID | Task |
|---------------|------|
| `MuJoCoPickLift-v1` | Pick up and lift an object |
| `MuJoCoPickAndPlace-v1` | Pick up and place an object at a target |
| `MuJoCoTouch-v1` | Touch an object on the table |
| `MuJoCoLookAt-v1` | Orient the end-effector toward a target |
| `MuJoCoMove-v1` | Move the TCP in a cardinal direction |

## Warp Environment IDs

The Warp backend registers five batched vector environments. Import `so101_nexus.warp` (from `so101-nexus[warp]`) and create them with `gymnasium.make_vec()`:

| Environment ID | Task |
|---------------|------|
| `WarpPickLift-v1` | Pick up and lift an object |
| `WarpPickAndPlace-v1` | Pick up and place an object at a target |
| `WarpTouch-v1` | Touch an object on the table |
| `WarpLookAt-v1` | Orient the end-effector toward a target |
| `WarpMove-v1` | Move the TCP in a cardinal direction |

```python
import gymnasium as gym
import so101_nexus.warp  # noqa: F401

envs = gym.make_vec("WarpTouch-v1", num_envs=4096, device="cuda")
```
