Simulator
Run your iOS or Android app inside Studio and let an agent drive it: tap, swipe, type, wait for a screen and read what is on it. The tool surface, how you and the agent share one device, and what a session needs.
Studio can run your iOS or Android app in a simulator inside the app, and an agent can drive it. Not screenshot it, drive it: tap, swipe, type, scroll, wait for a screen and read what is on it.
That turns "it builds" into "it works", and it is what makes a design prototype checkable against the running app rather than against a description of it.
The session
A simulator session belongs to a workspace and a platform. You start it from the launch target Studio detects in your project, and it opens as a floating device frame you can move, resize and put away without ending the session.
Starting one is gated on the folder you approved. The gate resolves the launch target back to a workspace root you actually opened, so a monorepo whose app lives in apps/mobile works from the workspace root you picked, and a case-insensitive filesystem does not turn one directory into two different answers.
What the agent can do
The agent reaches the simulator through a small, enumerable set of tools:
- observe and screen state, to read what is on screen right now.
- find, to locate an element by accessibility identifier or by label.
- act, for a tap, a swipe or a full touch path with per-sample timing.
- batch, for a sequence of actions run as one step.
- wait, for a screen or a condition.
- run app, record screen, status and stop.
There is no "type anything into the device" primitive that bypasses this list. What the agent can do is what these tools do.
You and the agent share one device
Both of you can touch the same simulator, so something has to decide who is driving at any moment. An input arbiter owns that: it tracks whether the current owner is you (a window and a pointer) or the agent (a thread, a turn and an action), and it hands control over cleanly rather than interleaving two streams of taps into one confused gesture.
In practice this means you can take the device back mid-run by touching it, and the agent's next action queues rather than fighting your finger.
Where it is used
Checking a design against the running app. A prototype in the Design surface is a graph of screens and transitions. Pathrule compiles that graph into simulator actions and runs it, so the flow you drew is executed against the real app. See Verifying a design against the running app.
Finishing a task honestly. A card that changes a screen can end with the agent opening the app and looking at it, instead of ending at "the code compiles".
Requirements
An iOS session needs the platform's own simulator tooling installed and a target Studio can launch. Studio checks for that before it offers to start a session, and it tells you which piece is missing rather than failing at launch.