phone_reconnect
Restart on-device automation for the configured phone when it is released or offline and a user-requested operation cannot proceed. Call once with wait_secs to block until the phone is drivable or blocked.
Instructions
Start/restart on-device automation for the configured phone. This occupies the phone and may require the operator to unlock it. Use only to continue a current user-requested phone operation or screen/UI read that cannot proceed; never reconnect for initialization, status/health checks, a completed task, or to keep the phone ready. Idle release is intentional. Require phone_status released/offline and recovery_owner=daemon; inspect hint/setup_blocked_on first. Do not reconnect while releasing/reconnecting or a blocker remains. Once these conditions are met, call once, then wait for the outcome: pass wait_secs (e.g. 180) to block until drivable=true, a blocker (setup_blocked_on), or the timeout, instead of polling phone_status; wait.outcome is drivable, blocked, stopped or timeout. While it is reconnecting, report setup_phase/setup_message and obey setup_blocked_on. This tool never accepts a UDID and cannot switch devices. An externally managed runner returns an operator-owned recovery error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| instance | No | Installed local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure. | |
| wait_secs | No | Wait up to this many seconds (1–300) for the outcome instead of returning at once: the call returns when the phone is drivable, a blocker appears (setup_blocked_on, e.g. the passcode), or the time is up — with the compact final state (a blocker other than the passcode must hold for 20 s first). A runner rebuild after an upgrade takes 1–2 min, so 180 covers it. Omit to return immediately. |