> ## Documentation Index
> Fetch the complete documentation index at: https://phone-harness.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw

> Let your OpenClaw agent drive a real phone with one tool. Every script asks you first.

The Phone Harness plugin for [OpenClaw](https://docs.openclaw.ai) adds one tool, `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](https://docs.astral.sh/uv/getting-started/installation/) on the machine that runs the Gateway.

```bash theme={null}
openclaw plugins install clawhub:phone-harness
```

OpenClaw shows what the plugin can do and asks you to accept it. Where it cannot ask, such as in a script or with `/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:

```bash theme={null}
uvx phone-harness cloud login
```

## Try it

Start a new chat and ask:

```text theme={null}
Start my cloud phone for 10 minutes, open Settings, and tell me what's on the screen. Then stop the phone.
```

> [!NOTE]
>
> 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.

If nobody can answer, the script does not run. That includes `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

The `coding` 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, set `DO_NOT_TRACK=1` in the Gateway's environment, or run `uvx phone-harness config set telemetry false` as the user the Gateway runs as.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.