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

# CLI reference

> Every command in the grid shell

The `grid` shell is the entry point to the platform — install it with the
one-liner from the portal, run `grid`, and type `help` at any time. This
page lists every available command.

## Robots

| Command                                                                         | Description                                                                                                                                                   |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `robot add [--config <yaml>] [--existing-config overwrite] [--strict-identity]` | Onboard a robot — the wizard in the REPL; headless calls require --config with a connection section; --strict-identity makes a hardware-serial mismatch fatal |
| `robot configure <robot> [--config <yaml>]`                                     | Re-run install → apply → enable → verify on a known robot over its own config, or over a new profile with --config (confirms)                                 |
| `robot list [--online \| --local]`                                              | Known robots — name, type, online?, source, host, serial; --online filters connected robots, --local filters this machine's records (including online robots) |
| `robot show <robot>`                                                            | One robot in detail: identity, type, sensors, connection, the config snapshot from robot add                                                                  |
| `robot status <robot>`                                                          | Live state: online on signaling?, edge service installed/active, config status, versions — over SSH                                                           |
| `robot logs <robot> [--follow]`                                                 | The edge service's journal over SSH — the last 200 lines, or follow until Esc                                                                                 |
| `robot stop <robot>`                                                            | Stop a robot you hold and release it — closes this machine's session first                                                                                    |

## Skills

| Command                                                    | Description                                                                                                                                                             |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `skill run [path] [--dev \| --deploy] [-- script-args...]` | Choose an online robot and run a Python file; --dev opens a workspace (path optional, defaults to the current folder); --deploy confirms. Headless runs require --robot |
| `skill stop [run-id]`                                      | Stop a run or development session started from this machine — confirms for deployments                                                                                  |
| `skill logs [run-id] [--follow]`                           | Logs of a run — the latest one when no id is given                                                                                                                      |

## Simulation

| Command                                                                           | Description                                                                                                        |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `sim start [--local] [--name\|-n <name>] [--resume <id>] [--config <yaml\|json>]` | Allocate a simulator runtime — robot → simulator → scene wizard, or a config file; --resume restores a stopped one |
| `sim list`                                                                        | Every sim runtime you can reach — name, simulator, state, age                                                      |
| `sim open [id]`                                                                   | Open a running sim's browser workspace; with one running, the id is optional                                       |
| `sim stop [id]`                                                                   | Release a sim runtime and its GPU — confirms; -y to skip                                                           |

## Navigation

| Command                 | Description                                                                                                             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `nav start [--no-open]` | Start the Navigation editor in the shared local web app using the active cluster login. Keep GRID running while editing |

## Environment

| Command                                                   | Description                                                                                                                              |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `context list`                                            | Every known context — host and active marker; kind (cluster \| node \| local) in dev builds                                              |
| `context show <host>`                                     | One context in detail: origin, portal, Cortex and signaling endpoints, auth state                                                        |
| `context use [host]`                                      | Switch the active context; with no host, open the REPL picker; headless calls require a host                                             |
| `context add --url <portal-url>`                          | Register a cluster by its portal URL and switch to it; re-adding a known one just switches                                               |
| `context remove <host>`                                   | Forget a cluster — its session and API key are cleared too                                                                               |
| `login [--headless [--url <portal-url>] [--timeout <s>]]` | Log in to the active GRID cluster in your browser; --headless prints the authorize URL and waits                                         |
| `logout`                                                  | Drop the active cluster's session locally — your API key and context are kept                                                            |
| `status`                                                  | Where you are and what is running from this machine — active context, robot session, skill runs and recorded simulations with live state |

## Arms

| Command                                                                 | Description                                                             |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `arms [command]`                                                        | Teleoperation and datasets — run one command, or enter the arms prompt  |
| `arms teleop device {add \| list}`                                      | Register a leader device on this machine, or list the registered ones   |
| `arms teleop start [robot] [leader]`                                    | Teleoperate a robot from a registered leader device                     |
| `arms teleop check [robot] [leader]`                                    | Report whether teleop would start — the robot is never moved            |
| `arms teleop calibrate [robot] [leader]`                                | Align a leader device against a robot, once per physical setup          |
| `arms dataset list`                                                     | List datasets recorded on this machine                                  |
| `arms finetune submit <dataset> [--name <label>] [--robot-type <type>]` | Start a training run, uploading the dataset first if the cloud lacks it |
| `arms finetune list`                                                    | List finetune jobs submitted from this account                          |
| `arms finetune cancel <job-id>`                                         | Stop a running finetune job                                             |

## Troubleshooting

| Command           | Description                                                                   |
| ----------------- | ----------------------------------------------------------------------------- |
| `error`           | Show details of the last error                                                |
| `diagnostics`     | Bundle logs + config into an unscoped tarball for support; takes no arguments |
| `debug [on\|off]` | Toggle verbose logging with inline stack traces                               |

## Utilities

| Command              | Description                                                      |
| -------------------- | ---------------------------------------------------------------- |
| `help [command]`     | Show help information                                            |
| `theme [grid\|mono]` | Switch the color theme for this session — mono renders grayscale |
| `clear`              | Clear the terminal                                               |
| `exit`               | Exit GRID CLI                                                    |


## Related topics

- [grid-cortex-client](/python-api/grid-cortex-client/overview.md)
- [CortexClient](/python-api/grid-cortex-client/cortexclient.md)
- [AsyncCortexClient](/python-api/grid-cortex-client/asynccortexclient.md)
- [CortexHubClient](/python-api/grid-cortex-client/cortexhubclient.md)
- [HubResult](/python-api/grid-cortex-client/hubresult.md)
