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

task

taskTOOL
Do a task in plain words: a fast agent on ghosthand.dev reads the screen with OCR and taps until it is done, then answers
The agent (Claude Haiku 5.5 on ghosthand.dev) reads the screen text after every action and stops when the task is done or blocked. Progress (each tool call and the first line of its result) goes to stderr, the answer to stdout, then the task id.
  • Use it for multi-step navigation, to save your own steps and context. Check the result with screentext when it matters.
  • It reads OCR text, not images: it can miss icons and misread text. Name the target by its visible text when you can.
  • It never pays, buys, deletes data or types passwords unless the prompt asks exactly that. Do sensitive steps yourself.
  • Ctrl-C stops the task. A dropped connection reconnects by itself; if the command still fails, task --resume <id> follows the running turn.
  • --resume <id> <prompt> while a turn of that task runs stops the turn and starts the new prompt, with the stopped turn in the history.
  • The agent knows the iPhone's name, model, iOS version, language and region, so it looks for labels in that language.
  • Needs a signed-in Mac (ghosthand account) and the lease. Send no other input while it runs. A task is kept one day after its last turn.
CLI flags in this text are arguments: --resume = task
Examples (arguments): {"lease":"studio:42","prompt":"open Settings > General > About and tell me the iOS version"} {"lease":"studio:42","prompt":"now go back to the Home Screen","task":"tsk_8f2k3x9a1b2c"}
Parameters
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
prompt?string
What to do, in plain words, e.g. "open the TikTok likes tab"
task?string
Id of an earlier task, to continue it with its history. Without prompt: follow its running turn
Request example
{ "method": "tools/call", "params": { "name": "task", "arguments": { "lease": "string", "mac": "string", "prompt": "string", "task": "string" } } }