All tools

ui_wait_for_element

Screen, windows & UI · macOS · Windows

Effect: read (strongest supported action). Status: gated.

Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.

macOS

Purpose

Deterministic synchronization — replaces all sleeps. Polls for an element until it reaches state (present|enabled|focused|absent) or times out. A timeout is an EXPLICIT error, never a false success. Returns {satisfied, waited_ms, element_ref?, bounds?, enabled_unknown?}. state:'enabled' is satisfied unless the app publishes AXEnabled=false; if the app publishes no AXEnabled at all the result carries enabled_unknown:true — the wait did not block, but nothing was actually verified about enabled-ness.

Required inputs

No required inputs are declared in this platform's schema. Optional selectors and runtime requirements may still apply.

Permissions and confirmation

No explicit confirmation parameter is exposed in this snapshot. This does not grant permission to act: obtain user authorization before any real action.

Full input schema — macOS
{
  "properties": {
    "app_bundle_id": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "match": {
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "poll_ms": {
      "description": "Default 150.",
      "type": "integer"
    },
    "role": {
      "type": "string"
    },
    "state": {
      "description": "Default present.",
      "enum": [
        "present",
        "enabled",
        "focused",
        "absent"
      ],
      "type": "string"
    },
    "timeout_ms": {
      "description": "Default 5000.",
      "type": "integer"
    },
    "window_id": {
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "label": "Save"
}

Windows

Purpose

Deterministic synchronization — replaces all sleeps. Polls for an element until it reaches state (present|enabled|focused|absent) or times out. A timeout is an EXPLICIT error, never a false success. Returns {satisfied, waited_ms, element_ref?, bounds?}.

Required inputs

No required inputs are declared in this platform's schema. Optional selectors and runtime requirements may still apply.

Permissions and confirmation

No explicit confirmation parameter is exposed in this snapshot. This does not grant permission to act: obtain user authorization before any real action.

Full input schema — Windows
{
  "properties": {
    "app": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "match": {
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "poll_ms": {
      "description": "Default 150.",
      "type": "integer"
    },
    "role": {
      "type": "string"
    },
    "state": {
      "description": "Default present.",
      "enum": [
        "present",
        "enabled",
        "focused",
        "absent"
      ],
      "type": "string"
    },
    "timeout_ms": {
      "description": "Default 5000.",
      "type": "integer"
    }
  },
  "required": [],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "label": "Save"
}