Control any
Android phone
over HTTP

One app. 37 endpoints. Full device control.
No ADB. No root. No PC required.

v1.8.0 · AccessibilityService · CLI: cua

Claw Use Android app showing service status, HTTP server running on port 7333, with accessibility service enabled
37
API Endpoints
0
Root Required
7
API Categories
<1s
Setup Time

Three steps to full control

Install the app, enable the accessibility service, and start sending HTTP requests. That's it.

01

Install the APK

Download the latest release from GitHub and install on any Android device. No special permissions at install time.

02

Enable Accessibility

Open Settings → Accessibility → Claw Use Android → toggle on. This grants the app UI tree access and input control.

03

Connect via HTTP

The app serves a local HTTP API. Connect from any device on the same network—or tunnel through Tailscale.

curl http://phone:7333/ping
Claw Use Android app main screen showing HTTP server active and accessibility service status

The app — service running

Android Settings app being controlled remotely via Claw Use HTTP API, showing Chinese language UI

Settings — controlled via HTTP

37 endpoints, 7 categories

Every endpoint returns JSON. Authenticate with the X-Bridge-Token header.

GET/screen

Returns the full UI accessibility tree as structured JSON. The foundation for AI agent perception.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/screen
GET/screenshot

Captures the current screen as a JPEG image. Useful for visual AI models and debugging.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/screenshot -o screen.jpg
GET/notifications

Lists active notifications with title, text, package, and timestamp.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/notifications
GET/screen/state

Check if the screen is on/off and locked/unlocked.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/screen/state
GET/info

Device model, OS version, display resolution, installed packages.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/info
GET/status

Service health: uptime, version, accessibility state, active connections.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/status
POST/tap

Tap at screen coordinates (x, y).

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"x": 540, "y": 1200}' \
     http://phone:7333/tap
POST/click

Click a UI element by text content, description, or resource ID. No coordinates needed.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"text": "Send"}' \
     http://phone:7333/click
POST/type

Type text into the currently focused input field.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"text": "Hello from Claw!"}' \
     http://phone:7333/type
POST/swipe

Swipe between two points with configurable duration.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"x1":540,"y1":1500,"x2":540,"y2":500,"duration":300}' \
     http://phone:7333/swipe
POST/global

Trigger global actions: back, home, recents, notifications, quick settings, power dialog.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"action": "back"}' \
     http://phone:7333/global
POST/launch

Launch any installed app by package name.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"package": "com.android.chrome"}' \
     http://phone:7333/launch
POST/tts

Speak text aloud using the device's text-to-speech engine.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"text": "Task complete"}' \
     http://phone:7333/tts
GET/clipboard

Read clipboard contents. POST to set clipboard text.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/clipboard
POST/camera

Capture a photo from front or rear camera. Returns JPEG.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"camera": "back"}' \
     http://phone:7333/camera -o photo.jpg
GET/battery

Battery level, charging state, temperature, and health.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/battery
GET/location

Current GPS coordinates (requires location permission).

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/location
GET/contacts

List device contacts with names and phone numbers.

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/contacts
POST/sms

Send an SMS message programmatically.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"to": "+1234567890", "message": "Hello!"}' \
     http://phone:7333/sms
POST/flow

Execute a scripted sequence of actions in order. Chain taps, swipes, types, and waits into a single request.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"steps": [
  {"action": "launch", "package": "com.whatsapp"},
  {"action": "wait", "ms": 2000},
  {"action": "click", "text": "John"},
  {"action": "type", "text": "On my way!"},
  {"action": "click", "text": "Send"}
]}' \
     http://phone:7333/flow
POST/batch

Execute multiple independent commands in parallel. Returns results for each.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -d '{"commands": [
  {"endpoint": "/battery"},
  {"endpoint": "/wifi"},
  {"endpoint": "/screen/state"}
]}' \
     http://phone:7333/batch
GET/ping

Health check. Returns pong if the service is running.

bash
curl http://phone:7333/ping
GET/config

View or update runtime configuration (port, token, allowed origins).

bash
curl -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/config
POST/install

OTA self-update. Downloads and installs the latest version without leaving the app.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     http://phone:7333/install
POST/file/upload

Upload a file to the device storage.

bash
curl -X POST -H "X-Bridge-Token: YOUR_TOKEN" \
     -F "file=@local.apk" \
     http://phone:7333/file/upload

▶ AI agent navigating Settings, WiFi, and browser on a Xiaomi Pad 5

Demo: AI agent navigating through Android apps via HTTP API

Built for real problems

Not a toy. People use this to solve actual problems with actual phones.

Real Case
🦉

AI Does Your Duolingo

"81-day streak? The AI maintained it."

Your friend is learning French on Duolingo. You point Claw Use at her phone, and an AI agent reads each question, figures out the answer, taps the right options. Multiple choice, word arrangement, fill-in-the-blank — all handled. The streak lives on.

📱

Cracked Screen? Full Recovery

"WiFi works = full control. No screen needed."

Touch digitizer dead, USB port corroded. But WiFi connects. Install the APK via ADB once, and you've got 37 HTTP endpoints to transfer photos, read messages, back up contacts, even set up a replacement phone — all without touching the screen.

🌍

Control Your Phone from Anywhere

"Your phone is now a remote node on your mesh network."

Install Tailscale on the phone, enable Claw Use. Now from your laptop at a coffee shop, you can check your home security camera app, read a verification code that arrived via SMS, or trigger a smart home routine. The phone sits at home, always connected.

👴

Tech Support for Parents, Reimagined

"Stop saying 'click the gear icon'. Just click it for them."

Mom calls: "I can't find the WiFi settings." Instead of a 20-minute phone tutorial, you SSH into her phone's Claw Use endpoint, read the screen, navigate to Settings > WiFi, connect to the right network. Done in 30 seconds. She thinks you're a wizard.

🤖

Give Your LLM a Real Phone

"37 endpoints. Real hardware. No emulator."

Your agent framework calls /screen to perceive, /click to act, /screenshot for vision models. It's not a simulator — it's a real Android device with a real SIM card, real apps, real notifications. The agent can send WhatsApp messages, check bank apps, take photos. Computer Use, but for phones.

⚙️

Spare Phone → Dedicated Worker

"That drawer phone? It has a job now."

Old phone + charger + WiFi = a dedicated automation node. Run scheduled tasks: check app prices daily, screenshot competitor dashboards, send good-morning messages, monitor delivery status. Plug it in, forget about it. It works while you sleep.

Up and running in 60 seconds

Install the CLI tool and connect to your device immediately.

Download Latest Release
bash
# Install the CLI
pip install claw-use-android

# Verify connection
cua ping --host phone:7333

# Read the screen
cua screen --host phone:7333

# Take a screenshot
cua screenshot --host phone:7333 -o screen.jpg

# Tap a button
cua click --text "Settings" --host phone:7333