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

# Sandboxes

> Give your coding agent a cloud simulator or emulator to drive from the terminal.

A sandbox is a cloud iOS Simulator or Android Emulator running your app. Your coding agent starts one with the `autosana` CLI, looks at the screen, taps and types through the app, and ends it when it's done. You can watch every sandbox live in the dashboard and replay it afterwards.

> [!NOTE]
>
> Sandboxes are turned on per company. If you don't see **Sandboxes** in the sidebar, [contact us](mailto:founders@autosana.ai) to turn them on.

## Start one with your coding agent

Open **Sandboxes** in the sidebar and click **Copy prompt**, then paste it into Claude Code, Codex, Cursor or any agent that can run terminal commands. The prompt asks the agent to install the CLI, log in, build your app for a simulator or emulator, and start a sandbox with that build.

The agent learns the rest from `autosana sandbox --help`.

## Start one yourself

[Install the CLI](/install-cli.md) and log in:

```bash theme={null}
curl -fsSL https://get.autosana.ai | sh
autosana login
```

Start a sandbox with a build you just made: an `.apk`, or an iOS Simulator `.app` or its `.zip`.

```bash theme={null}
autosana sandbox start --upload path/to/app.apk
```

The build is used for this sandbox only. It doesn't become your app's active build and doesn't start any automations.

To use a build that's already in Autosana instead, name the app with `--bundle-id` or `--app-id`. The sandbox installs the app's active build, or the one you pass with `--app-build-id`. On iOS it needs a simulator build.

`start` prints a link to watch the sandbox and shows the app's first screen. Every command after that works on this sandbox, so none of them need its id.

| Command | What it does |
| - | - |
| `autosana sandbox look` | Takes a screenshot of the screen |
| `autosana sandbox tap 120,480` | Taps a point, in pixels of the last screenshot |
| `autosana sandbox type "hello" --into 120,480` | Types into a field |
| `autosana sandbox scroll down` | Scrolls |
| `autosana sandbox swipe 50,400 350,400` | Swipes from one point to another |
| `autosana sandbox wait 2s` | Waits, then looks again |
| `autosana sandbox open myapp://path` | Opens a link or deep link |
| `autosana sandbox upload path/to/app.apk` | Installs a new build in the running sandbox |
| `autosana sandbox forward 8081` | Lets the device reach a port on your machine, like Metro (Android only) |
| `autosana sandbox extend 2h` | Keeps the device for longer |
| `autosana sandbox end` | Gives the device back |

Run `autosana sandbox --help` for every command and option, including picking a device with `--device` and `--os`.

## How long a sandbox lasts

A sandbox stays up while you use it. It ends 30 minutes after the last command, or when you run `autosana sandbox end`. Use `autosana sandbox extend` or **Extend** on the sandbox's page to keep it longer. A sandbox lasts at most 12 hours.

## Watch and replay

**Sandboxes** lists your workspace's live sandboxes first, with how long each has left, followed by the ones that ended recently. Click one to open its page:

* While it's live, the page follows the agent's commands as they happen.
* After it ends, the page replays every step with its screenshot.

Each step shows how long the agent waited for it. Hover over the time to see how much of it the device took; the rest went to the CLI and the network. A line between two steps shows how long the agent took before its next command, and the top of the list adds up where the sandbox's time went. These times need CLI 0.16.1 or later. With an older CLI, each step shows only the device's time.

The `start` command also prints a direct link to the sandbox's page.


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