Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

hold

holdTOOL
Press and hold (long press) at screenshot coordinates or on text found by OCR, via the AssistiveTouch mouse pointer
The button goes down, stays still for --duration, then goes up. Same targets as tap (coordinates, or --text with --index).
  • Home Screen icon: opens its context menu (Edit Home Screen, Remove App, ...). Hold the icon, not its label. Close a menu with key esc.
  • Links, photos, messages, buttons with menus: context menu or preview.
  • A button that ignored tap: read the screen, then press it once more (tap or hold --duration 400). A just-opened alert can ignore the first press; the second worked in the iOS 18 alert tests, with tap, hold or swipe alike.
  • Still blocked: try hold --duration 5000 at verified coordinates, then check the result. On an SE2, iOS 26.5.2, Apple Account's Do Not Sign Out accepted this after taps and 1500...2500 ms holds failed. One success; duration is not a proven cause.
  • To move the item after the long press (reorder icons or rows), use hold-drag.
CLI flags in this text are arguments: --text = text, --index = index, --duration = durationMs, --language = language, --screenshot = screenshot, --screentext = screentext, --scale = scale, --wait-text = waitText, --timeout-ms = timeoutMs
Examples (arguments): {"lease":"studio:42","screenshot":true,"x":60,"y":120} {"durationMs":400,"lease":"studio:42","screentext":true,"text":"Allow"}
Parameters
durationMs?number
How long the button stays down, 100-10000 (default: 1000)
index?integer
With text: the nth match, top to bottom (1-based)
language?string
OCR language, e.g. it-IT; en-US is always included
lease *string
Lease id exactly as acquire printed it, e.g. "studio:42"
mac?string
Mac slug from list, e.g. "studio". Needed when several Macs are online
scale?number
Image and coordinate size as a fraction of native pixels (default: screen points; 1 = native)
screenshot?boolean
Return the screen image after the input, once the screen is still
screentext?boolean
Return the OCR text of the screen after the input (x,y wxh text lines)
text?string
Instead of x and y: hold the OCR line that equals or contains this (case-insensitive)
timeoutMs?number
With waitText: deadline in ms, 1...60000 (default: 5000)
waitText?string
After the input, poll OCR until a line contains this (case-insensitive); never repeat input
x?number
From the left edge, in screenshot coordinates
y?number
From the top edge, in screenshot coordinates
Request example
{ "method": "tools/call", "params": { "name": "hold", "arguments": { "durationMs": 0, "index": 0, "language": "string", "lease": "string", "mac": "string", "scale": 0, "screenshot": true, "screentext": true, "text": "string", "timeoutMs": 0, "waitText": "string", "x": 0, "y": 0 } } }