Quick start
XPhoneUse mirrors a real phone to your desktop and hands it to an AI agent. It is still your device, your accounts and your app state — only the person working it changes.
Install
Grab the Windows installer from the download page and run it. If Apple Mobile Device Support is missing, the installer offers to add it — you do not need iTunes. Android needs no extra driver at all.
Start the app afterwards and let it reach the USB device.
Connect a device
Android
- Enable Developer options → USB debugging on the phone.
- Plug in the cable and tap Allow on the phone.
- The device appears in the app with its name and serial number — click it to start mirroring.
For cable-free work, turn on Wireless debugging in developer options and connect with wifi connect <ip>:<port>.
iPhone
- Unlock the phone and plug in the cable.
- Tap Trust This Computer.
- Pick the device in the app; the developer image the screen, touch, screenshots and pasteboard need is downloaded and mounted for you (about 16 MB the first time on iOS 27+; iOS 16 and older skip the tunnel but still need one for screenshots, ~7 MB).
- Installing that image needs Developer Mode: if it is off, the app warns for 10 seconds and then turns it on itself (the phone restarts once) - unlock it after the restart and connect again. You can turn Developer Mode off again once the image is mounted.
Over the tunnel, screen, input and screenshots all share that one cable. iOS 16 and older fall back to AirPlay mirroring automatically.
Mirror it
The window switches to the live screen. The toolbar carries navigation, rotation, volume, screenshots, recording and macros. You and the agent share one connection: watch while it works, or take over at any moment.
Conversation copilot
The hard part of watching a conversation is knowing what to say back. Open Settings → Conversation copilot, fill in a drafting route (any OpenAI-compatible endpoint — TypeSafe, OpenRouter, Bocha, Vercel and Zen are preset, and an empty drafting key reuses the Jev one). The judging route (Jev - TypeSafe's System One decision model, built to answer "which one / how much / yes or no" instead of writing prose) is optional: with it left empty the judgement is skipped and the drafts come back in the order the reply model recommends, and a panel floats over the top of the mirror:
- when the picture settles it captures the screen, reads the conversation with OCR on your machine and drafts three replies. With a judging route filled in, Jev also decides what the other person really means and how dangerous the moment is, and ranks the drafts;
- picking a candidate only fills the input box — editing it and sending it are yours;
- with the switch off it does nothing at all: no capture, no reading, no requests. The transcript lives in memory and goes away with the app.
The panel lists what it read (expand "Transcript") so the parsing can be checked, and the sides can be swapped if it reads yours as theirs. A filled draft travels the app's normal input path, so non-ASCII text on iOS may raise the paste prompt once.
Hand it to your agent
Tell the agent you already use: Install the skill: https://xphoneuse.com/static/skills/xphoneuse.zip - it installs the skill itself and knows how to drive the phone from then on. Manually it is three lines:
python scripts/xphoneuse-cli.py list
python scripts/xphoneuse-cli.py connect <serial-or-udid>
python scripts/xphoneuse-cli.py screenshot
Or point an MCP client at the endpoint:
{
"mcpServers": {
"xphoneuse": { "url": "http://127.0.0.1:7070/mcp" }
}
}
Next
- Driving it from an agent — the verb table, coordinates and verification
- iOS support — the tunnel, the paste alert, the keyboard
- Troubleshooting
Last updated 2026-10-15