Blolabel
← Notes
comparison 9 min read

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.

Abstract technical illustration on a dark grid: two parallel glowing paths reaching toward a phone-shaped node, one path labeled with a terminal-prompt glyph and a short step count running almost straight through, the other path labeled with a touch-gesture glyph winding through more intermediate nodes before reaching the same destination, with the terminal path's glyph fading to a dim outline before it reaches a second, separate phone-shaped node marked with an orchard-fruit silhouette, signaling the terminal path cannot actually reach that second device, cool blues and teals with one amber accent on the fading terminal glyph

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.

AndroidWorld / MobileWorld success rates (Android only) 0 25 50 75 100 71.8Claude Code AW 51.9Claude Code MW GUI AW57.8-69.3 GUI MW13.3-43.2 88.8Oracle CLI AW 86.3Oracle CLI MW Source: arXiv:2606.19388, read 25 October 2026. AW = AndroidWorld, MW = MobileWorld. No iOS figures reported anywhere in the paper.

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.

Two paths from a model to a device CLI agent (arXiv:2606.19388, Android) model → ADB shell → files / database / sysprops 10.7 steps/task on the CLI-Advantage suite oracle ceiling: 88.8% AW, 86.3% MW tested on Android only phoneshell (actions.py, iOS) model → WebDriverAgent → accessibility tree + touch 18.6 steps/task is the GUI-side figure the paper reports no shell node on this path at all cli.py's "shell" command is for a human, not the agent Sources: arXiv:2606.19388; github.com/Blomega/phoneshell/blob/main/phoneshell/actions.py and phoneshell/cli.py, read 25 October 2026.
DimensionBeyond the GUI ParadigmphoneshellSource
Device access mechanismADB shell: files, SQLite database, system propertiesWebDriverAgent: accessibility tree reads, taps, swipes, typingarXiv:2606.19388; phoneshell/actions.py
Platform testedAndroidWorld, MobileWorld (both Android, both ADB-reachable)Physical iPhone 17 Pro Max, iOS 26.6arXiv:2606.19388; phoneshell houseFacts
Best CLI vs best GUI baseline71.8%/51.9% (Claude Code) vs 57.8-69.3%/13.3-43.2% (3 GUI baselines)No CLI baseline exists to compare; not reportedarXiv:2606.19388
Steps per task, CLI-Advantage suite10.7 (CLI) vs 18.6 (GUI)Not measured against this suitearXiv:2606.19388
Does a shell-style verb exist in the agent's own action setYes, the entire paradigm under testNo; cli.py's "shell" command is a human debugging tool, never called by the agentphoneshell/cli.py, phoneshell/actions.py

What it means for anyone choosing an access layer

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

  1. 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.
  2. Blolabel, phoneshell/actions.py and phoneshell/cli.py, read 25 October 2026.