A CLI oracle solves 88.8% of AndroidWorld and 86.3% of MobileWorld in 10.7 steps; the paper never tests iOS, and phoneshell's action module has never had a shell verb to test it with
Beyond the GUI Paradigm (arXiv:2606.19388) hands three coding agents ADB shell access instead of a screen, and the best of them, Claude Code on Opus 4.7, beats every one of three reproducible GUI baselines on both AndroidWorld and MobileWorld, while an oracle CLI solution reaches 88.8% and 86.3% in a fraction of the steps a GUI agent needs. Every number in the paper comes from Android. phoneshell's own action module has no verb that issues a shell command to the phone it drives, and the gap is not an oversight: there is no ADB-equivalent shell for third-party apps on iOS to write one against.
What changed, and when
Posted to arXiv as 2606.19388 on 16 June 2026 by Li Gu and eight co-authors, Beyond the GUI Paradigm asks whether command-line access should sit alongside, not under, the screen-reading GUI paradigm that dominates mobile agent research. Three coding agents built for software engineering, Claude Code, Terminus-2 and mini-swe-agent, are pointed at Android devices over ADB and run across four model APIs with no mobile-specific training at all, then scored on AndroidWorld and MobileWorld against three reproducible GUI baselines (GUI-Owl-1.5-32B, MAI-UI, Qwen3-VL-32B) and an oracle CLI solution meant to establish where the CLI approach's ceiling sits.
Claude Code on Opus 4.7 reached 71.8% on AndroidWorld and 51.9% on MobileWorld, ahead of every one of the three GUI baselines, which ranged from 57.8% to 69.3% on AndroidWorld and from 13.3% to 43.2% on MobileWorld. The oracle CLI ceiling, built from hand-verified solutions rather than a model's own attempts, reached 88.8% on AndroidWorld (103 of 116 tasks judged solvable by shell command) and 86.3% on MobileWorld (101 of 117). On a new 45-template CLI-Advantage Task Suite spanning bulk operations, multi-condition filtering, aggregation, cross-app workflows and hidden device state, every CLI agent beat every GUI baseline in all five categories, averaging 10.7 steps per task against 18.6 for the GUI agents on the same tasks. Every one of these numbers comes from AndroidWorld or MobileWorld, both Android environments reached over ADB. The paper reports no iOS figures, oracle or otherwise.
The verb phoneshell's action module never got
Every one of the CLI agents in this paper reaches the device through ADB shell, which can read an app's SQLite database, touch its files, and query system properties directly, the mechanism behind the paper's hidden-device-state task category. phoneshell's action module, phoneshell/actions.py, has no equivalent. Grepping the module that defines every move the agent can make turns up tap, type, swipe, scroll, open_app, open_url and press, each one routed through WebDriverAgent against the accessibility tree or the touchscreen; none of them opens a shell or runs a command on the phone itself. phoneshell/cli.py does define a command literally named shell, but its own module docstring describes it plainly: "drive the phone by hand, to see what the agent sees." That command hands control to a human at a terminal for debugging, it is never called by the agent during a task, and it is a different thing entirely from the ADB shell this paper's agents use to solve tasks on their own.
This is not a capability phoneshell is missing by accident. iOS has no equivalent of ADB's shell access into a third-party app's own sandbox for an ordinary, non-jailbroken device, which is the access this paper's entire CLI-Advantage result depends on. The paper's own benchmark choice reflects the same boundary: AndroidWorld and MobileWorld are both Android environments reachable over ADB, and the paper reports no test of the same CLI-Advantage claim on iOS, not because the authors overlooked it, but because the question "does shell access beat the GUI" has no iOS answer to go test in the first place under the device model Apple ships.
| Dimension | Beyond the GUI Paradigm | phoneshell | Source |
|---|---|---|---|
| Device access mechanism | ADB shell: files, SQLite database, system properties | WebDriverAgent: accessibility tree reads, taps, swipes, typing | arXiv:2606.19388; phoneshell/actions.py |
| Platform tested | AndroidWorld, MobileWorld (both Android, both ADB-reachable) | Physical iPhone 17 Pro Max, iOS 26.6 | arXiv:2606.19388; phoneshell houseFacts |
| Best CLI vs best GUI baseline | 71.8%/51.9% (Claude Code) vs 57.8-69.3%/13.3-43.2% (3 GUI baselines) | No CLI baseline exists to compare; not reported | arXiv:2606.19388 |
| Steps per task, CLI-Advantage suite | 10.7 (CLI) vs 18.6 (GUI) | Not measured against this suite | arXiv:2606.19388 |
| Does a shell-style verb exist in the agent's own action set | Yes, the entire paradigm under test | No; cli.py's "shell" command is a human debugging tool, never called by the agent | phoneshell/cli.py, phoneshell/actions.py |
What it means for anyone choosing an access layer
- The CLI-Advantage result is real and large on the two benchmarks it was measured on, but it is a result about Android's own access model, not about mobile agents in general. Citing it as evidence that "agents should use shell access" without naming the platform overstates what the paper actually tested.
- phoneshell's shell-free design is a platform constraint turned into an architecture, not an oversight corrected later. Everything the agent does, it does through the same WebDriverAgent-and-accessibility-tree path a sighted user's finger would use, which is also the only path available on iOS for arbitrary third-party apps.
- The step-count gap, 10.7 versus 18.6, is the sharpest number in the paper for anyone costing out an agent by turns rather than by success rate alone: a task that a GUI agent solves in 18 steps is a task a shell command can often solve in one, when the access exists to write that command against.
- Nothing in this comparison argues phoneshell should want shell access; it argues the paper's conclusion ("CLI deserves first-class consideration alongside GUI") is scoped to the one platform where that first-class citizen can exist as more than an oracle's hypothesis.
Check it yourself
# Beyond the GUI Paradigm's own numbers, and that it never mentions iOS
curl -s https://arxiv.org/abs/2606.19388 | grep -io "AndroidWorld\|MobileWorld\|iOS" | sort | uniq -c
# phoneshell's action module has no shell verb
git clone https://github.com/Blomega/phoneshell && cd phoneshell
grep -n "def \|action ==" phoneshell/actions.py | grep -i "shell\|subprocess\|exec" # nothing matches
sed -n '1,10p' phoneshell/cli.py # "shell" command's own docstring
What would prove this wrong
We claim Beyond the GUI Paradigm reports zero iOS results anywhere in arXiv:2606.19388. That is wrong if a revision adds an iOS CLI-Advantage run; none existed as of 25 October 2026. We also claim phoneshell's action module has no agent-callable verb that issues a shell command to the phone. That is wrong the moment such a verb appears in phoneshell/actions.py, and we found none as of the same date. If Apple or a jailbreak-free tool later exposes a general ADB-equivalent shell into third-party app sandboxes on stock iOS, the structural reason for the gap would disappear even if the code has not yet caught up to it.
Sources
- Gu, Jiang, Guo, Chi, Wang, Liu, Yu, Chen, Wang, Beyond the GUI Paradigm: Do Mobile Agents Need the Phone Screen?, arXiv:2606.19388, submitted 16 June 2026, read 25 October 2026.
- Blolabel, phoneshell/actions.py and phoneshell/cli.py, read 25 October 2026.