{
  "title": "Peekaboo Bridge (macOS UI automation)",
  "content": "OpenClaw can host **PeekabooBridge** as a local, permission‑aware UI automation\nbroker. This lets the `peekaboo` CLI drive UI automation while reusing the\nmacOS app’s TCC permissions.\n\n## What this is (and isn’t)\n\n* **Host**: OpenClaw\\.app can act as a PeekabooBridge host.\n* **Client**: use the `peekaboo` CLI (no separate `openclaw ui ...` surface).\n* **UI**: visual overlays stay in Peekaboo.app; OpenClaw is a thin broker host.\n\n* Settings → **Enable Peekaboo Bridge**\n\nWhen enabled, OpenClaw starts a local UNIX socket server. If disabled, the host\nis stopped and `peekaboo` will fall back to other available hosts.\n\n## Client discovery order\n\nPeekaboo clients typically try hosts in this order:\n\n1. Peekaboo.app (full UX)\n2. Claude.app (if installed)\n3. OpenClaw\\.app (thin broker)\n\nUse `peekaboo bridge status --verbose` to see which host is active and which\nsocket path is in use. You can override with:\n\n## Security & permissions\n\n* The bridge validates **caller code signatures**; an allowlist of TeamIDs is\n  enforced (Peekaboo host TeamID + OpenClaw app TeamID).\n* Requests time out after \\~10 seconds.\n* If required permissions are missing, the bridge returns a clear error message\n  rather than launching System Settings.\n\n## Snapshot behavior (automation)\n\nSnapshots are stored in memory and expire automatically after a short window.\nIf you need longer retention, re‑capture from the client.\n\n* If `peekaboo` reports “bridge client is not authorized”, ensure the client is\n  properly signed or run the host with `PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1`\n  in **debug** mode only.\n* If no hosts are found, open one of the host apps (Peekaboo.app or OpenClaw\\.app)\n  and confirm permissions are granted.",
  "code_samples": [],
  "headings": [
    {
      "level": "h2",
      "text": "What this is (and isn’t)",
      "id": "what-this-is-(and-isn’t)"
    },
    {
      "level": "h2",
      "text": "Enable the bridge",
      "id": "enable-the-bridge"
    },
    {
      "level": "h2",
      "text": "Client discovery order",
      "id": "client-discovery-order"
    },
    {
      "level": "h2",
      "text": "Security & permissions",
      "id": "security-&-permissions"
    },
    {
      "level": "h2",
      "text": "Snapshot behavior (automation)",
      "id": "snapshot-behavior-(automation)"
    },
    {
      "level": "h2",
      "text": "Troubleshooting",
      "id": "troubleshooting"
    }
  ],
  "url": "llms-txt#peekaboo-bridge-(macos-ui-automation)",
  "links": []
}