Handoff
Mark a tab for human intervention, inspect the handoff state, then resume automation when the manual step is complete.
There is currently no dedicated CLI wrapper. Handoff is API-only.
Temporary status: the current handoff implementation is advisory only.
POST /tabs/{id}/handoffrecordspaused_handoff, but it does not yet enforce a hard execution block across later automation requests. Treat it as coordination metadata for now, not as a security boundary. A stricter blocking model tied to session-owned locks is expected later.
curl -X POST http://localhost:9867/tabs/<tabId>/handoff \ -H "Content-Type: application/json" \ -d '{"reason":"captcha","timeoutMs":120000}'curl http://localhost:9867/tabs/<tabId>/handoffcurl -X POST http://localhost:9867/tabs/<tabId>/resume \ -H "Content-Type: application/json" \ -d '{"status":"completed","resolvedData":{"operator":"human"}}'
curl -X POST http://localhost:9867/tabs/<tabId>/handoff \ -H "Content-Type: application/json" \ -d '{"reason":"captcha","timeoutMs":120000}'curl http://localhost:9867/tabs/<tabId>/handoffcurl -X POST http://localhost:9867/tabs/<tabId>/resume \ -H "Content-Type: application/json" \ -d '{"status":"completed","resolvedData":{"operator":"human"}}'
Notes:
POST /tabs/{id}/handoffsets the tab state topaused_handoffGET /tabs/{id}/handoffreturns the current handoff state, oractivewhen no handoff is setPOST /tabs/{id}/resumeclears the handoff state and can carry resume metadata such asstatusorresolvedData- today this is informational state only; it does not by itself block other later automation
- use this for CAPTCHA, 2FA, login approval, or other human-only steps only if your caller also coordinates access separately