Docs · How a phone works

How a phone works

A phone is an iOS Simulator on a cloud Mac with Xcode 27.1, erased when it stops. Your agent drives it with its tools; there is no shell.

Start one

Connected to NoMac over MCP, your agent already has the phone: it calls phone with action start. The phone is ready in about 4 seconds. When every phone is in use, the start waits in line for up to 5 minutes, and the wait is free.

The phone alone
Any MCP client: https://mcp.nomac.app/simulator, with simulator-use's tool names (cloud, app_run, ui_look…).
A terminal
On macOS, Linux or Windows: npx simulator-use cloud start.
Your code
The REST API or the SDKs.

Devices

iphone
iPhone 17 Pro, iOS 27. The default, kept ready.
ipad
iPad Pro 11-inch (M5), iOS 27. Prepared when a start asks for it, in about a minute.
iphone-pro-max
iPhone 17 Pro Max, iOS 27. Prepared when a start asks for it, in about a minute.

The iPhone 17 Pro Max is the 6.9-inch size App Store Connect asks for, so its screenshots go straight to a listing.

Limits

Idle
Stops after 10 minutes without a tool call or a person's input through a control link; watching does not count. 60 seconds to an hour with idle_timeout_seconds.
Time
2 hours by default, 8 at most (max_duration_seconds).
Spend
$5 at most by default (spend_cap_microunits).
At once
2 phones per account, beside the account's Mac. For more, see NoMac Platform.

In its last 15 minutes before a limit or the end of the credit, every answer carries stop_notice: when the phone stops, why, and what to do. phone with action extend adds time, up to 8 hours in all.

Cost

$0.80 an hour, billed per minute from the account's prepaid credit, one minute at least: a 12-minute session costs 16 cents. Builds are included, and waiting in line is free. See Pricing and billing.

What is kept

Erased at stop
The phone, its apps and their data.
Kept for the next phone
The workspace: your projects and their build cache, so the next build is incremental. Deleted after 90 days unused.
Kept until deleted
Saved states: a phone's apps and data, by name.
Kept 7 days
The replay: a video of the screen beside every tool call.
Each phone runs under its own macOS user, on its own volume, behind a firewall, on Macs that run only phones. For a shell, macOS apps, signing or TestFlight, use a NoMac Session Mac.

Stop it

Terminal
simulator-use cloud stop

Over MCP, phone with action stop; over REST, DELETE /sessions/:id. Billing ends at the stop, and the answer links to the replay. A phone left alone stops at its idle timeout.