phone_exec. Your agent writes a short Python script, you approve it, and the script runs on your phone. The phone can be a Cloud Android or iPhone on your account, your own iPhone through iPhone Mirroring, or an Android over adb.
Install
You need OpenClaw 2026.10.9 or newer, and uv on the machine that runs the Gateway./plugins install in a chat, run the command again with --accept-capabilities once you have reviewed the plugin. A running Gateway picks it up straight away.
For a cloud phone, sign in once on the same machine:
Try it
Start a new chat and ask:A rented Cloud Android bills by the minute, so the agent asks before it starts one and stops it when the task is done.
Approving scripts
Every script asks you first. You see the script and choose:- Allow once runs this script.
- Always allow runs this script and every later script in the same session. A new conversation asks again.
- Deny stops it.
openclaw agent from a terminal and scheduled jobs.
Only the owner of the OpenClaw can drive the phone. Anyone else who messages your agent is refused.
Which agents get the tool
Thecoding and full tool profiles include phone_exec. The messaging profile does not, so a chat bot does not offer your phone by default. To add it, set tools.alsoAllow to ["phone_exec"].
Sandboxed sessions never get the tool, because the script would run on the Gateway machine, outside the sandbox.
What stays private
The script runs without your API keys, tokens or passwords in its environment. Phone Harness sends usage data, including scripts and what they print, to PostHog. To turn it off, setDO_NOT_TRACK=1 in the Gateway’s environment, or run uvx phone-harness config set telemetry false as the user the Gateway runs as.