Let an AI agent, or you, see and operate a real iPhone from your computer.
The iPhone sends its screen to your computer over AirPlay, and your computer taps and types on it as a Bluetooth mouse and keyboard. Agents drive it from the command line or over MCP.
AirPlay: the iPhone's screen, to your computerBluetooth: taps and keys, to the iPhoneWi-Fi: to the bridge, every packet signedLeft: your iPhone, unmodified. Right: your Linux PC or Mac, and the optional bridge.Illustration
Two links to the phone
Phone Use relies on two features every iPhone has, Screen Mirroring and AssistiveTouch, so the phone needs no jailbreak and no developer setup. The Phone Use iPhone app adds the controls for allowing and stopping agents.
The screen comes in over AirPlay
On the iPhone, open Control Center, tap Screen Mirroring and choose Phone Use on your computer. The computer receives the picture the way an Apple TV would, and shows it in a window and in your browser.
~100 ms from a pointer move to the mirror showing it
Taps go out over Bluetooth
Your computer presents itself to the iPhone as a Bluetooth mouse and keyboard, with its own Bluetooth or through the bridge. With AssistiveTouch on, iOS shows a pointer: a click taps, a drag swipes, and your keyboard types.
114–215 reports per second over the computer's Bluetooth
Setting it up
Install Phone Use
On Linux or a Mac. The window walks you through the rest, and on Linux it offers to open the firewall ports the iPhone needs.
Pair the keyboard and mouse
In the iPhone's Bluetooth settings, tap Phone Use for your computer's Bluetooth, or Phone Use Bridge for the bridge.
Pair the iPhone app
The app gets a one-time link from your computer. Agents are refused until an app is paired.
Start Screen Mirroring
From Control Center, to Phone Use on your computer.
Turn on the pointer
AssistiveTouch, in Accessibility settings. Phone Use can also ask Siri to turn it on, out loud through your computer's speakers.
Give your agent the phone
Every action is a phoneuse command, and the MCP server offers the same actions to Claude Code and other MCP clients. After each action, Phone Use waits for the screen to react, then returns frames from the change and the screen's text with where each line sits.
Example session
$ phoneuse open Settings
$ phoneuse text
0.500 0.081 Settings
0.331 0.312 Wi-Fi
0.876 0.312 Home
0.360 0.358 Bluetooth
0.893 0.358 On$ phoneuse tap-on "Wi-Fi"
0.331 0.312$ phoneuse done
# the phone goes back to you
Connect Claude Code
In the Phone Use app, Connect Claude Code adds the MCP server, installs the Phone Use skill and puts a phoneuse command on your path. Any other MCP client can start the server itself:
Linuxflatpak run --command=phoneuse-mcp co.lxe.PhoneUse
Reading the screen as text costs a few hundred tokens, against about 1,300 for a screenshot. The text comes from OCR that runs on your computer.
Open an app by namephoneuse open Maps
Read the screen as textphoneuse text
Tap the text that matchesphoneuse tap-on "Wi-Fi"
Tap, hold and swipephoneuse swipe 0.5 0.8 0.5 0.2
Scroll by half-screensphoneuse scroll down 2
Type textphoneuse type "coffee near me\n"
Press keys and shortcutsphoneuse key cmd+space
Go home, back or to the switcherphoneuse home
Read notificationsphoneuse notifications-read
Take a screenshotphoneuse screenshot shot.png
Show or hide the keyboardphoneuse keyboard
Hand the phone backphoneuse done
You decide when an agent gets the phone
The Phone Use iPhone app is where you allow and stop agents. Until it's paired, your computer refuses every agent action.
Agent control
Let agents start at once, after a 5 to 30 second countdown you can cancel, or only when you tap Allow.
Live Activity
While an agent works, your lock screen and Dynamic Island show its current action, its step count and how long it has been going, with a Take over button.
Hand-back
A session ends when the agent hands the phone back, when you take over, or after 60 seconds with no action.
Illustration of the Live Activity.
The bridge
The bridge is a small ESP32 board that the iPhone pairs with as its keyboard and mouse. Phone Use reaches it over Wi-Fi, so the board can sit next to the phone on a battery or a USB charger while your computer's Bluetooth stays free. The Mac app sends all its input through the bridge.
LilyGO T-Display, drawn. Get the original ESP32 T-Display, not the T-Display S3, which has a different chip.
Board
LilyGO T-Display: an ESP32 with a 1.14-inch screen, two buttons and USB-C. Nothing needs soldering.
Flashing
Plug it in over USB and the Linux app flashes the firmware for you. Or flash the release's .bin with esptool.
Setup
Over Bluetooth LE, no cable: your computer and the bridge show the same 6-digit code, then you pick a 2.4 GHz Wi-Fi network.
Security
Every packet to the bridge is signed with a key from setup, so nobody else on the network can type on your phone.
Speed
15 ms median round trip per report, measured on a −80 dBm Wi-Fi signal.
Concept drawing. A finished bridge doesn't exist yet.
A finished bridge, if there's interest
A ready-made bridge would be the same ESP32 firmware in a small case with a status screen: plug it into any USB charger near the phone and set it up from the app. Leave your email and you'll hear from us if it gets made. Nothing is for sale yet.
Download
Phone Use 0.1.2. Your iPhone and your computer need to be on the same Wi-Fi network.
Linux
Flatpak for x86_64. Uses your computer's Bluetooth or the bridge.