Skip to content

Add a --system driver for system UI in the simulator - #93

Open
gabriellanata wants to merge 3 commits into
mainfrom
system-driver
Open

gabriellanata wants to merge 3 commits into
mainfrom
system-driver

Conversation

@gabriellanata

@gabriellanata gabriellanata commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

The agent lives inside the app, so it can't see or tap permission alerts, the home screen or other apps. describe --system and tap --system run on the simulator's whole screen from the Mac instead, using the same SimulatorKit and accessibility APIs AXe uses. No app changes needed. MCP gets the same thing as a system argument on those two tools.

Commands now go through a small Driver protocol (app agent and simulator for now) so the CLI keeps one command language and just picks where it runs. Should make an Android or web driver a new folder rather than a rewrite. docs/internal/drivers.md has the details.

These are private Xcode frameworks, so they can break with Xcode releases like AXe does. Reading the screen also needs Simulator.app running, same as AXe, so the error says to open it. Tested on an iPhone simulator with iOS 27.0, tapping Allow on a real notification alert. Stacked on docs.

@gabriellanata
gabriellanata marked this pull request as ready for review October 30, 2026 00:07
The agent can't reach permission alerts and other system UI, so `describe --system` and `tap --system` run on the simulator's whole screen from the Mac, through the same SimulatorKit and accessibility APIs AXe uses. Commands now go through a small `Driver` protocol so the CLI and MCP server keep one command language whichever driver runs it.
@gabriellanata
gabriellanata changed the base branch from docs to main October 30, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant