How a phone works · NoMac
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.90 an hour, billed per minute from the account's prepaid credit, one minute at least: a 12-minute session costs 18¢. 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, and to the MP4 of a screen recording the stop ended (recording). A phone left alone stops at its idle timeout; reading it after names that recording too.