Phone Harness Lets AI Agents Tap and Swipe Real iPhones

Phone Harness ships an open-source Python toolkit that gives coding agents real taps, swipes, and typing on iPhones and Androids.

·
·
·
Phone Harness Lets AI Agents Tap and Swipe Real iPhonesPRO
  • Shawn Pana open-sourced Phone Harness, a Python toolkit letting agents control iPhones and Androids.
  • Works via iPhone Mirroring plus Apple Vision OCR on macOS, and adb plus the accessibility tree on Android.
  • Ships CLI, MCP server, and plugins for Claude Code, Codex, Hermes, and OpenClaw integrations.
  • MIT licensed, 4,000+ GitHub stars, no jailbreak, Xcode, or app install required on the phone.
  • Phone Harness Cloud rents Android emulators at 5 cents a minute or real iPhones from $64 a month.
  • Limits: no multi-touch, no Face ID or camera flows, DRM video blacks out, icons without labels need vision models.

Phone Harness is an MIT-licensed toolkit that lets coding agents operate iPhones and Android devices through their visible interfaces. Agents such as Claude Code and Codex can tap, swipe, type, launch apps, and read on-screen text. Within weeks of launch, the repository had passed 4,000 GitHub stars.

Created by Shawn Pana, the project supports local devices and hosted hardware. The local harness is free, while Phone Harness Cloud rents Android emulators and real iPhones. Example workflows include booking a Waymo, adding an item to an Amazon cart, reading notifications, and retrieving an SMS authentication code.

Pixels in, taps out

Target Screen access Input Requirements
Local iPhone iPhone Mirroring and Apple Vision OCR macOS input events macOS 15 or later, Screen Recording, and Accessibility permissions
Local Android Screenshots and the accessibility tree adb input commands USB or Wi-Fi debugging
Cloud Android Hosted screenshots and accessibility data Remote adb Phone Harness Cloud account
Cloud iPhone Hosted device stream HTTPS API Phone Harness Cloud subscription

Because the harness controls the visible interface, the target app needs no automation SDK, instrumentation build, Appium server, jailbreak, or companion app. The production app runs unchanged. The project describes this approach as stealthy, although apps can still inspect account behavior, device state, network origin, and interaction patterns.

Three doors into the harness

The Python CLI preimports helpers for common actions. In this example, the agent opens Notes, taps a text label, types a message, and prints text returned by screen():

erlang
phone-harness <<'PY'
open_app("Notes")
tap_text("New Note")
type_text("hello from the harness")
print([o["text"] for o in screen()][:10])
PY

Pro article

This story is for Pro members

You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.

Trending
  • No trending articles

Comments

avatar

Next Reads