simulator-use vs Argent
Pick Argent for React Native apps: it builds and runs React Native projects, profiles Hermes and React renders, and also drives Android, TV and Electron apps. (Argent README)
Pick simulator-use for native Xcode projects, which it builds and tests with XCTest and XCUITest, and taps by label or id instead of screen fractions. (simulator-use README, Argent docs: tools reference)
Measured on one Mac: simulator-use read 194 tokens per sign-in, Argent 7,129 (est.); simulator-use signed in in 3.50 s, Argent in 6.63 s.
Measured side by side
From the one-Mac benchmark of November 1, 2026: the same app and iPhone 17 Pro Simulator, one tool at a time, each through its own MCP server. Times are medians; tokens are estimates (characters / 4).
| Argent | simulator-use | |
|---|---|---|
| Signing in, step by step | 6.63 s | 3.50 s |
| Tokens read per sign-in (est.) | 7,129 | 194 |
| Sign-ins completed | 10 of 10 | 10 of 10 |
| Signing in, batched | 4.37 s | 2.87 s |
| Tokens read, batched (est.) | 2,971 | 179 |
| Batched sign-ins completed | 10 of 10 | 10 of 10 |
| Reading the screen (median) | 0.19 s | 0.19 s |
| Tapping a button (median) | 0.66 s | 0.68 s |
| Typing into a field (median) | 3.58 s | 1.14 s |
| Tool list in context (est.) | 42,531 | 2,443 |
| Setup its docs ask for | 83.92 s | 0.12 s |
Argent 0.31.0, simulator-use 0.15.0. Every call is in bench/results/2026-11-01.
What each does
From each tool's own README, license and docs, read on October 31, 2026.
| Argent | simulator-use | |
|---|---|---|
| License | Apache 2.0 source; its simulator-server and ax-service binaries are proprietary (Argent README, Argent LICENSE) | MIT (simulator-use LICENSE) |
| Builds the app | React Native projects (Argent README) | Yes: builds the Xcode project, installs and launches it (app_run) (simulator-use README) |
| Runs tests | Records a path as an e2e test and replays it (Argent README) | XCTest and XCUITest, case by case (tests_run) (simulator-use README) |
| Screen as text | An element tree, and a screenshot and element tree after each action (Argent docs: tools reference) | One line per element: kind, label, #id, state and position (simulator-use README) |
| How it taps | At coordinates from 0 to 1, taken from its element tree (Argent docs: tools reference, Argent docs: supported platforms) | By #id or label, or at @x,y (simulator-use README) |
| Cloud option | Argent Cloud (Argent docs: Argent Cloud) | A NoMac cloud iPhone (simulator-use cloud start), billed per minute (simulator-use README) |
| Needs besides Xcode | Node 20.12. Software Mansion's proprietary simulator-server and ax-service binaries (Argent docs: installation, Argent README) | Node 20. Its engine is built on AXe's frameworks, which it bundles (simulator-use README) |
Where simulator-use is better
- Builds a native Xcode project and runs its XCTest and XCUITest cases. (simulator-use README)
- MIT throughout, the AXe and IDB frameworks it bundles included; Argent's simulator-server and ax-service binaries are proprietary. (simulator-use README, Argent README)
- Signing in, step by step: 3.50 s against Argent's 6.63 s.
- Tokens read per sign-in (est.): 194 tokens against Argent's 7,129 tokens.
- Signing in, batched: 2.87 s against Argent's 4.37 s.
- Tokens per screen read (est.): 72 tokens against Argent's 658 tokens.
- Typing into a field: 1.14 s against Argent's 3.58 s.
- Tool list in the agent's context (est.): 2,443 tokens against Argent's 42,531 tokens.
- Setup its docs ask for: 0.12 s against Argent's 83.92 s.
A measured difference is listed when it is 5% or more.
Switching
Add simulator-use to Claude Code with one line (other clients: install):
The calls each made in the benchmark, step for step:
| Argent | simulator-use | |
|---|---|---|
| Setup | boot-device {"udid":"<udid>"}launch-app {"udid":"<udid>","bundleId":"dev.simtap.demo"} | device_use {"device":"<udid>"} |
| Read the screen | describe {"udid":"<udid>"} | ui_look {} |
| Tap a button | gesture-tap {"udid":"<udid>","x":0.5,"y":0.4005} | ui_act {"steps":["tap #signIn"]} |
| Type into a field | gesture-tap {"udid":"<udid>","x":0.5005,"y":0.2215}keyboard {"udid":"<udid>","text":"gary@example.com"} | ui_act {"steps":["fill #email gary@example.com"]} |
| Several steps in one call | run-sequence {"udid":"<udid>","steps":[{"tool":"gesture-tap","args":{"x":0.5005,"y":0.2215}},{"tool":"keyboard","args":{"text":"gary@example.com"}},{"tool":"gesture-tap","args":{"x":0.5005,"y":0.282}},{"tool":"keyboard","args":{"text":"secret1"}},{"tool":"gesture-tap","args":{"x":0.5,"y":0.4005}}]} | ui_act {"steps":["fill #email gary@example.com","fill #password secret1","tap #signIn"]} |
Sources
Read on October 31, 2026. The measured numbers: benchmarks and the raw results.