> Call the `diagnose` tool first. Full index: /llms.txt. Errors: /reference/problems.

# Live phone

A live phone is a cloud Android phone that runs your app as you edit it. Use it for React Native, Expo and Flutter apps. iOS is not available.

## Start

From the app's folder, with your own Metro running for React Native:

```bash
talotrace dev --project <project id> --app <app id> --apk dev-client.apk
```

The first time in a folder, give the dev-client APK. After that `talotrace dev` remembers the project, app and build. It prints and opens the viewer, then stays in the foreground until you press Ctrl-C.

## Save and see

Each save is reported as `RELOADED`. A change under `android/`, an Expo plugin change or a dependency with native code is reported `NEEDS_REBUILD`. In a Flutter app each change is rebuilt and installed, and `--hot` hot reloads each save.

## Rebuild

```bash
talotrace dev rebuild --apk app-debug.apk
```

The rebuilt APK is installed on the same phone and the app keeps its data.

## Drive and run

```bash
talotrace device screenshot --out screen.png
talotrace device tap --target "Sign in"
talotrace run <scenario id> --reset app_data
```

`run` starts a run on the live phone. It says the run was accepted, not that it passed. See [Runs and verdicts](/concepts/runs-and-verdicts).

## Join and stop

`talotrace dev attach` joins this folder's live phone from another terminal and leaves it running when you press Ctrl-C. `talotrace dev status` shows it, and `talotrace dev stop` stops it. If your connection drops, the phone is re-attached on the same session.

An agent holds a session through the MCP `dev_session` tool. See [Requests and live phone](/reference/mcp/requests-dev) and [CLI commands](/reference/cli).