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

unlock

unlockTOOL
Unlock with the Bluetooth keyboard: Enter, Enter, passcode, then check the lock state over USB (~3s). A wrong passcode is not retried
Rules:
  • Pipe a confirmed passcode directly to --stdin, not as an argument (arguments appear in logs and shell history). GHOSTHAND_PASSCODE is also supported. The local .passcode is stale; never read it. Use only the user-confirmed secret.
  • The passcode must be nonempty printable US-ASCII: no newline or tab. stdin must be a pipe or file, not a terminal.
  • A wrong passcode is not retried: failed attempts count toward the iPhone lockout. Call unlock at most once per passcode. If it fails, do not try again: ask the user.
  • Never guess the passcode. If the user did not give it, ask for it and stop.
  • After an iPhone restart, unlock it by hand once; before that iOS ignores the Bluetooth keyboard.
  • Not available in XCTest mode (unsupported-in-mode): ask the user to unlock.
CLI flags in this text are arguments: --screenshot = screenshot, --screentext = screentext, --language = language
Parameters
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
passcode *string
The passcode the user gave. Never guess it: if you do not know it, ask the user
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)
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
Request example
{ "method": "tools/call", "params": { "name": "unlock", "arguments": { "language": "string", "lease": "string", "mac": "string", "passcode": "string", "scale": 0, "screenshot": true, "screentext": true, "timeoutMs": 0, "waitText": "string" } } }