> ## 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.

# Your first session

> Start a cloud simulator from the GRID shell and watch it come alive — no robot required

You've [installed the CLI and logged in](/get-started/installation). This page
takes the shortest path to a robot you can program: a **cloud simulator
session**. No hardware, about five minutes, and you end up inside a live
workspace where real robot code runs.

## 1. Start a sim session

```text theme={null}
GRID # session start sim
```

## 2. Pick a robot and a scene

The wizard opens with a **New Sim Session** card that fills in as you pick.
First, the robot — tabs group them by form factor (**←/→** to switch tabs):

```text theme={null}
Select a robot:

Arms │ Mobile arms │ Quadrupeds │ Humanoids │ Wheeled │ Aerial │ Controllers

▸ Flexiv Rizon 4
  Franka Panda
  Kinova Gen 3
  SO-101
  …
```

Pick **Franka Panda**. It runs on one simulator, so the wizard jumps straight
to scenes (robots available on more than one simulator get a simulator step
in between):

```text theme={null}
Select scene for isaac:

▸ tabletop       · Empty tabletop environment
  tabletop_objs  · Tabletop with objects for manipulation
```

Pick **tabletop\_objs**, then review. The card now shows every choice plus a
generated session name (`{robot}-{scene}-{date}-{time}`) — press **enter** to
launch. If you want to see exactly what you're deploying, press **e** at any
step: the session config opens as YAML in your editor, and your edits carry
into the launch.

## 3. Watch it boot

```text theme={null}
Starting session...
  Requesting GPU (isaac)...
  Allocated — franka-panda-tabletop-objs-0727-163950 (service: service-grid--bro104ajnv)
  Waiting for pod route...
  Route ready — connecting to pod
  Session ready
  Opening franka-panda-tabletop-objs-0727-163950 in browser

● Session franka-panda-tabletop-objs-0727-163950 running on <your-cluster>
  session stop to end · session list to view
  UI: https://<your-portal-host>/grid-service/service-grid--bro104ajnv/vscode/?tkn=<session-token>
```

Your cluster allocated a GPU, booted Isaac Sim next to a browser IDE, and
opened the workspace. Two things to notice in the shell:

* The **statusline** at the bottom now shows `●` with your session name —
  green means this shell has a live session attached.
* The **UI link** is durable. Close the tab, reopen the link — same session.

## 4. It's alive

The workspace is VS Code in your browser, running on the session pod. On
first open it asks *"Do you trust the authors of the files in this folder?"* —
this is your own session workspace, so choose **Yes, I trust the authors**.

<img src="https://mintcdn.com/scaledfoundations/9EloC7amgddHN_e1/assets/images/first-session-workspace.png?fit=max&auto=format&n=9EloC7amgddHN_e1&q=85&s=3d56c5f6042bc811a556bd66f07d921e" alt="The session workspace: the seeded welcome notebook open in the browser IDE, with the first cell connected to the simulated Franka arm" width="3360" height="2100" data-path="assets/images/first-session-workspace.png" />

What you're looking at:

* **`sessions/<session-name>/notebook.ipynb`** — a welcome notebook seeded
  for the robot you picked, already open, kernel ready.
* **Sample Notebooks** (bottom of the Explorer) — ready-made notebooks for
  common tasks; open any of them to explore.
* **Sim Streaming** and **Visualization** panels — the live scene view and
  camera/sensor streams for this session.

## 5. Do one real thing

Run the notebook's first cell (**shift+enter**):

```python theme={null}
from grid_sim_client.isaac.robot import IsaacArm

isaac_arm_0 = IsaacArm()
```

It goes green in about a second. That's not a mock — your code is now holding
a connection to the Franka in the running scene. The second cell connects the
other half of GRID, cloud models:

```python theme={null}
from grid_cortex_client import CortexClient

client = CortexClient()  # reads GRID_CORTEX_API_KEY + GRID_CORTEX_BASE_URL from env
print(client.get_info())
```

`get_info()` lists the models actually deployed in your cluster, and
`client.help("<model>")` shows usage for any of them — see the
[model catalog](/models/overview) and the
[grid-cortex-client reference](/python-api/grid-cortex-client/overview) for
what you can call.

## 6. Housekeeping

Back in the shell (or any new terminal), your session shows up for the whole
org:

```text theme={null}
GRID # session list

Sessions
Active
  ●  franka-panda-tabletop-objs-0727-163950  isaac               0m ago
```

Selecting the active row reconnects — it reopens the workspace UI for that
session. When you're done, stop it (release the GPU — sessions don't stop
themselves):

```text theme={null}
GRID # session stop

Stopping session service-grid--bro104ajnv...
Session stopped
● Session service-grid--bro104ajnv stopped
```

With no argument, `session stop` lets you pick from the active sessions and
confirms before stopping. One timing note: the GPU takes \~20 seconds to
return to the pool, so if an immediate restart reports `no GPU available`,
wait a moment and retry.

If anything misbehaves, three commands have your back:

* `error` — replay the last failure in full detail.
* `diagnostics` — bundle redacted logs + config into a tarball for support.
* `debug on` — verbose logging with inline stack traces for this shell.

## Where next

You have a live robot and a workspace — the next two pages are the same
staircase with more weight on it:

* **Write and save real robot code**: [Your first skill](/get-started/first-skill)
* **Point it at hardware**: `robot add` onboards your robot, then
  `session start robot` opens this same workspace wired to the physical
  machine — see [Deployment](/deployment/camera-calibration)
* **Every command in the shell**: the [CLI reference](/cli/reference)


## Related topics

- [Get started](/get-started/installation.md)
- [Your first skill](/get-started/first-skill.md)
- [The Intelligence Grid for Physical AI](/introduction.md)
- [Common FAQs](/faq/common-faqs.md)
- [MDP Config](/simulation/isaac/session_configuration/mdp.md)
