Skip to main content
AI Tool Radar
OSI-openComputer-use and autonomous agents

phone-harness

ShawnPana

Lets a coding agent control your real iPhone or Android phone via screen reads and taps, no jailbreak or SDK required.

3.0k stars(as of 2026-09-23)View on GitHubHomepage

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.

phone-harness at a glance
FactValue
MaintainerShawnPana
GitHub stars2,983 (as of 2026-09-23)
Forks306
LicenseMIT
License typeOSI-open
CategoryComputer-use and autonomous agents
StatusRising
Edition2026-09
Last verified2026-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.