How to give Claude Code an Android phone: USB and ADB, an emulator, or a cloud phone.
The four options
| Needs | Claude Code sees | Works in CI and sandboxes | Cost | |
|---|---|---|---|---|
| USB phone + ADB | A phone, a cable, USB debugging, platform-tools | Screenshots and UI dumps it parses itself | No | Free |
| ADB + scrcpy | The same, plus scrcpy | The same; scrcpy is for you to watch | No | Free |
| Local emulator | Android Studio, a system image, hardware acceleration | Screenshots and UI dumps through adb | Rarely: needs nested virtualization | Free; uses your RAM and CPU |
| Cloud phone over MCP (Phonebox) | One command and an API key | A numbered list of on-screen elements, plus a screenshot | Yes | $0.06/min while running, parked phones free |
Option 1: a USB phone and ADB
- Turn on developer options. Open Settings, About phone, and tap Build number seven times. Then turn on USB debugging.
- Install platform-tools from developer.android.com, plug the phone in, accept the prompt, and check that
adb deviceslists it. - Tell Claude Code to use adb. It can run
adb install,adb shell input tap x y,adb shell input textandadb exec-out screencap -pin its terminal.
It works, and it's free. The limits show up quickly. Claude Code has to work out tap coordinates from screenshots, the phone has to stay plugged into the machine Claude Code runs on, and a dropped connection or a locked screen stops the run. ADB-based MCP servers wrap the same commands in tools, with the same requirement of a device next to the agent.
Option 2: add scrcpy to watch
scrcpy mirrors the phone to a window on your desktop and lets you control it with your mouse. It doesn't give Claude Code anything new: the agent still acts through adb. It's useful for watching the agent and stepping in.
Option 3: a local emulator
An emulator from Android Studio avoids the cable and can be reset. It needs gigabytes of SDK and system images and hardware acceleration, and it competes with your IDE for memory. Most CI runners and cloud sandboxes can't run it, because they don't offer nested virtualization.
Option 4: a cloud phone through MCP
Phonebox runs Android phones in the cloud and gives Claude Code a hosted MCP server. Get a key with the setup prompt, then add the server:
Read https://phonebox.dev/setup.md and set me up with Phonebox from here: get me signed in and ready, then find out what I want to use phones for and help me with that.claude mcp add --transport http phonebox https://phonebox.dev/mcp \
--header "Authorization: Bearer $PHONEBOX_API_KEY"Claude Code gets 13 tools. observe returns the screen as numbered elements with their labels, act taps and types by label, and install_app installs the APK it just built. live_view_url hands the phone to you for a one-time code, and park_phone stops billing while keeping the apps and sign-ins. Phonebox never retries a write action on its own, so a slow response can't become a double tap.
snapshot snp_4f2k7m3q6z3a
app com.android.launcher3
keyboard hidden
screen 1080x2400
[1] EditText "Search apps" #search clickable editable (540,250)
[2] TextView "Chrome" #icon clickable (200,1900)
[3] TextView "Settings" #icon clickable (500,1900)
[4] TextView "Play Store" #icon clickable (800,1900)Which to choose
- USB and ADB if a spare phone sits on your desk and Claude Code runs on that machine.
- A local emulator for repeatable tests on a workstation that can run one well.
- A cloud phone when Claude Code runs remotely, in CI or in a sandbox, when the phone has to stay signed in between sessions, or when you'd rather not set anything up.
Watch it in practice: the 56-second demo and the 3-minute setup video. See also Android MCP server.
Questions
How can I give Claude Code an Android phone?
There are four ways. Plug in a phone with USB debugging and let Claude Code run adb commands. Add scrcpy to mirror the screen. Run an Android emulator on your machine. Or add a hosted Android MCP server such as Phonebox, which gives Claude Code a cloud Android phone with one command and nothing to install.
Can Claude Code use ADB?
Yes. Claude Code can run adb in its terminal to install APKs, take screenshots, tap coordinates and type text. It works best for fixed steps. The agent has to read screenshots or UI dumps and work out coordinates itself, and it needs the phone or emulator on the same machine.
Do I need a physical Android phone for Claude Code?
No. You can use a local emulator from Android Studio, or a cloud phone. A cloud phone also works where an emulator can't run, such as a CI runner, a cloud sandbox or a laptop without hardware acceleration.
What is the easiest way to give Claude Code an Android phone?
A hosted MCP server is the fewest steps: claude mcp add --transport http phonebox https://phonebox.dev/mcp with your API key. Claude Code gets 13 phone tools, reads the screen as labelled text and taps by label, and parks the phone when it's done. It costs $0.06 a minute while running, and new accounts get $2 of free credit.