Skip to main content
Blocks until the task is paused or completed, or returns monitor_timed_out: true after timeout_s. This is the entire polling loop: monitor, check, monitor again. Read-only: it never changes task state.

Parameters

string
required
The task to wait on, as returned by phone_run_task.
integer
default:"120"
Maximum wait per call, in seconds. 120 is both the default and the cap.
boolean
Include the task’s recorded steps (screenshots, thinking) in the payload.
integer
Return only steps newer than this step number. Use with include_steps to fetch incremental progress without re-downloading history.

Response

The task’s status payload (the same shape as phone_task_status), plus:
boolean
  • false - the task is now paused or completed. Act on it.
  • true - the wait ended while the task was still pending or running. Call the monitor again.

What the monitor catches

The monitor returns for every actionable phone event, not only successful completion:
  • Mobile message_user, needs_confirmation, need_login, need_login_details, and CAPTCHA actions arrive as a completed task with terminal: "needs_user_control".
  • A successful mobile finished action returns terminal: "ok".
  • Errors, cancellation, timeout, queue expiry, offline devices, expired sessions, and iteration limits return immediately after they are recorded.
When the task completes, read terminal and act on it - the full table is in Task lifecycle.
monitor_timed_out: true is not a failure. It exists so your client never blocks indefinitely; the task keeps working regardless. A paused status is actionable too - resume it with phone_task_resume and keep monitoring the same task_id.