phone-harness
ShawnPana
Lets a coding agent control your real iPhone or Android phone via screen reads and taps, no jailbreak or SDK required.
What is phone-harness?
Connects Claude Code, Codex or any agent to a real phone: iPhone through the Mac's iPhone Mirroring window, Android over adb from macOS, Linux or Windows. The agent reads the screen (screenshots, OCR), taps, types and scrolls through the same helper functions regardless of platform, with no jailbreak, no Xcode and nothing installed on the phone itself. A paid 'Phone Harness Cloud' add-on rents Android phones by the minute for users without a spare device.
| Fact | Value |
|---|---|
| Maintainer | ShawnPana |
| GitHub stars | 2,983 (as of 2026-09-23) |
| Forks | 306 |
| License | MIT |
| License type | OSI-open |
| Category | Computer-use and autonomous agents |
| Status | Rising |
| Edition | 2026-09 |
| Last verified | 2026-09-23 |
phone-harness in depth
Mobile app automation has historically meant jailbreaking a phone, wiring up Appium or XCUITest, or installing an SDK on the device just to let a script tap around. phone-harness sets out to remove all three requirements. It connects an existing coding agent, such as Claude Code or Codex, to a real phone the same way a human would use one: it looks at the screen and taps, types and scrolls. iPhone control runs through macOS's built-in iPhone Mirroring feature, so the phone is mirrored as a window and inputs are forwarded as touches; Android control goes over adb from macOS, Linux or Windows. Nothing is installed on the phone itself, and no jailbreak or Xcode toolchain is required.
Every platform is driven through one shared set of Python helpers (open_app, tap_text, type_text, ocr, scroll and similar), so the same automation script works whether the connected device is an iPhone or an Android phone. Behind that interface, the project handles a long list of real-world edge cases documented in its commit history: driving the phone in the background without stealing window focus, distinguishing scroll gestures per app, detecting a dead mirroring session structurally rather than by matching UI text, and reading focus live to confirm an app activation actually worked. For people without a spare device, a paid Phone Harness Cloud add-on rents an Android phone by the minute over the same adb interface, so every existing helper keeps working unchanged.
The obvious audience is developers who want an agent to exercise a real mobile app: testing a checkout flow, filing a support ticket that requires 2FA, or automating a task an official API does not expose. Because setup is a single paste-in prompt that a coding agent executes itself (cloning the repo, installing the CLI, registering it as an agent skill and walking through pairing), it is aimed at people already comfortable handing agents shell access rather than configuring a device farm by hand. The cloud rental option extends that to anyone without a spare iPhone or Android device to dedicate to automation.
Development is effectively a one-person effort: of roughly 98 commits, 97 come from a single author, with just one external contributor fixing a scroll-detection bug. Telemetry via PostHog is on by default and opt-out rather than opt-in, sending one event per CLI run. The README is built around driving usage toward the paid Phone Harness Cloud service, with UTM-tagged links in nearly every section, a legitimate but worth-noting commercial angle for an otherwise MIT-licensed open-source tool. Full iPhone automation is also tied to macOS specifically, since iPhone Mirroring is a Mac-only feature; there is no path to drive an iPhone from Linux or Windows.
phone-harness solves a real, previously awkward problem, letting an agent operate a genuine phone without jailbreaking it or shipping a companion app, and its 40 open issues and three shipped releases in six weeks suggest people are actually using it rather than just starring it. It is worth adopting if you want agent-driven phone automation today and are fine with a single maintainer, default-on telemetry, and a cloud upsell woven through the docs. It is too early if you need a project with distributed maintainership, want telemetry off unless explicitly enabled, or need iPhone automation from something other than a Mac.
Pros & Cons
Pros
- Real, working automation across both iPhone (via iPhone Mirroring) and Android (via adb), with detailed handling of edge cases like background scrolling and focus stealing
- MIT-licensed core with no jailbreak, SDK or on-device install required
- Active development with three shipped releases (0.1.0 to 0.3.0) over about six weeks and 40 open issues showing real usage
Cons
- Effectively a single-maintainer project (97 of roughly 98 commits from one author)
- Telemetry (PostHog) is on by default, opt-out only, and the README pushes a paid 'Phone Harness Cloud' upsell with UTM-tagged links throughout
- Full iPhone control depends on macOS's iPhone Mirroring feature, so it only works from a Mac; Android control works from macOS, Linux or Windows
License
MIT (OSI-open)
When it is interesting
You want an agent to operate a real phone (app testing, purchases, form-filling) without jailbreaking or installing anything on the device.
When it is too early
You need multi-maintainer governance, or want telemetry off by default rather than opt-out.
This repo featured in the 2026-09 edition of the Open-Source AI Radar.
UI-TARS-desktop
bytedance
Native desktop app for a GUI/computer-use agent powered by the open-weight UI-TARS model.
strix
usestrix
Framework of autonomous AI hacker agents for dynamic application security testing.
Page Agent
alibaba
In-page JavaScript GUI agent - control any webpage with natural language, no headless browser or extension.