> ## 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>] [--local [--root <dir> --dry-run]] [--existing-config overwrite] [--take-over]` | Onboard a robot — the wizard in the REPL; headless calls require --config; SSH needs a connection section; --local is dev-profile-only; --root \<dir> --dry-run (paired) rehearses it under a scratch root; --take-over answers the take-over confirm headlessly when the robot is already set up and its edge service is running |
| `robot configure <robot> [--config <yaml>]` | Re-run install → enable → verify over an explicit SSH connection, or apply a full profile and its connection with --config (confirms; headless calls require --config) |
| `robot list` | Connected robots — name, owner, team or personal, when its config last changed, and type |
| `robot show <robot>` | One connected robot in detail: type, args, sensors and capabilities from its registration |
| `robot status <robot> [--config <yaml>]` | Inspect service state, config status and versions over an explicit SSH connection; the REPL prompts, and headless calls require --config |
| `robot logs <robot> [--config <yaml>] [--follow]` | Read the edge service's journal over an explicit SSH connection — the last 200 lines, or follow until Esc; the REPL prompts, and headless calls require --config |
| `robot stop <robot>` | Stop a robot you hold and release it — closes this machine's session first |

## Skills

| Command | Description |
| - | - |
| `skill run [path] [--robot <robot>] [--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 |
| `nav view <robot> [--no-open]` | Visualize the live position, route and mission of the robot in this GRID process's skill run --dev session, in the shared local web app. Run it in the REPL that holds the session; closing the page leaves the robot running |

## 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 |
| `key show` | The public prefix of the GRID API key stored for the active cluster |
| `key remove` | Forget the active cluster's GRID API key so the startup gate asks for a new one; the session is kept |
| `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 |
| - | - |
| `device add` | Register a leader device on this machine |
| `device list` | List the leader devices registered on this machine |
| `device calibrate [device] [--robot <robot>]` | Align a leader device against a robot, once per physical setup |
| `device check [robot] [--leader <device>]` | Report whether teleop would start — the robot is never moved |
| `device teleop [robot] [--leader <device>] [--dataset <name>] [--task <text>] [--max-image-size <px>]` | Teleoperate a robot from a registered leader device |
| `dataset list` | List datasets recorded on this machine |
| `dataset visualize <dataset> [episode] [--no-open]` | Play a recorded episode back — cameras and joint plots on one timeline |
| `finetune submit <dataset> [--name <label>] [--robot-type <type>] [--steps <n>] [--batch-size <n>] [--action-horizon <n>] [--save-after-step <n>] [--save-interval <n>]` | Start a training run, uploading the dataset first if the cloud lacks it; the REPL opens a form for the knobs |
| `finetune list` | List finetune jobs submitted from this account |
| `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-nexus-client](/v2.2/python-api/grid-nexus-client/overview.md)
- [MonitorClient](/v2.2/python-api/grid-nexus-client/monitorclient.md)
- [CortexClient](/v2.2/python-api/grid-cortex-client/cortexclient.md)
- [AsyncCortexClient](/v2.2/python-api/grid-cortex-client/asynccortexclient.md)
- [CortexHubClient](/v2.2/python-api/grid-cortex-client/cortexhubclient.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.