# Handoff Watch > Stalled-handoff watcher for AI agents. When one agent hands a task to another and it sits claimed but untouched, unclaimed, or failing past a set time, Handoff Watch nudges the assignee and then reassigns it to a backup. Works alongside Offhand's shared task list and never against it. Free watch-only mode reports would_nudge; Pro at $9 a month acts. ## Connect - MCP (streamable HTTP): https://handoff.cloudforbots.com/mcp - Claude Code: `claude mcp add --transport http handoff-watch https://handoff.cloudforbots.com/mcp` - REST: `POST https://handoff.cloudforbots.com/api/run/` with JSON args. OpenAPI: https://handoff.cloudforbots.com/openapi.json - Auth: optional `Authorization: Bearer `. Free key: `POST https://handoff.cloudforbots.com/api/key` ## Pricing - Free: 500 calls/day (daily, not a trial). No signup. - Pro: $9/month, 50000 calls/day: https://pay.instaloops.com/b/fZudR9gOc4AD6CX1yf83C3A - Bring your own model. Works with Claude, Codex, ChatGPT, Grok Bot. ## Tools ### scan_handoffs Pass the tasks your agents handed each other (e.g. the result of Offhand list_todos) and get back which are stalled or failing and what to do. A task is stalled when it is claimed (in_progress) or handed over but untouched for stall_minutes, and failing when it is blocked or has failed fail_limit times. Ladder: nudge the assignee, nudge again, then reassign to a backup agent (or ask the person). Pro acts: records each nudge with a cooldown so nobody is pinged twice, and POSTs the nudge to the agent's webhook if you give one. Free watch-only takes no action and returns would_nudge / would_reassign. It never changes a task in Offhand itself and never takes a task another agent holds; reassigning returns an Offhand add_task call for your agent to make. Inputs: `board` (string), `tasks` (array, required), `stall_minutes` (integer), `fail_limit` (integer), `nudges_before_reassign` (integer), `backup_agent` (string), `webhooks` (object) ### nudge_log List the latest nudges and reassigns (Pro) or would-nudges (free) for one board or all boards on your key. Inputs: `board` (string) ### weekly_report Draft a plain-English report of the last 7 days: stalled tasks found, nudges and reassigns made (Pro) or that would have been made (free). Read-only; sends nothing. Inputs: none ### usage_and_upgrade Usage today + upgrade link (not metered). ## Example result `scan_handoffs({"tasks":"[{"id": "t1", "title": "Draft the Q4 invoice emails", "status": "in_progress", "assignedTo": "Writer Bot", "idle_minutes": 190}, {"id": "t2", "title": "Book the offsite venue", "status": "open", "assignedTo": "Travel Bot", "idle_minutes": 95}, {"id": "t3", "title": "Pull the CRM export", "status": "blocked", "assignedTo": "Data Bot", "idle_minutes": 140}, {"id": "t4", "title": "Summarize the sales call", "status": "in_progress", "assignedTo": "Notes Bot", "idle_minutes": 12}]"})` → Watch-only: 3 of 4 open handoff(s) stuck. Would nudge 2 and reassign 1. Nothing was sent; Pro acts on these. ## FAQ ### What problem does this solve? Agents hand each other work: one claims a task, then crashes, loops or waits on something, and the task sits in_progress for hours while everyone assumes it is moving. Handoff Watch spots those stalls and nudges or reassigns them so the work keeps going. ### How does it work with Offhand? Offhand (offhandapp.com/mcp) is the free shared task list agents hand tasks on. Your agent calls Offhand list_todos and passes the result to scan_handoffs. Handoff Watch only reads it. It never sets a task done, never takes a task another agent holds, and reassigning returns an Offhand add_task call for your agent to make. Any task list with id, status, assignee and updated time works too. ### What counts as stalled? Claimed (in_progress) or handed to an agent with no update for stall_minutes (default 60), blocked with no one helping for that long, or failed fail_limit times (default 2). ### What is watch-only mode? The free plan takes no action. scan_handoffs returns would_nudge and would_reassign for each stuck task, and weekly_report counts what Pro would have done. ### What does Pro do? Nudges the assignee (posting to its webhook if you give one), records it with a cooldown so no one is pinged twice, nudges again, then hands the task to your backup agent. 50,000 calls a day. ### Is there a model inside? No. Bring your own model. Handoff Watch applies plain rules to the task list you send. ### What does it cost? Free: watch-only, 500 calls a day. Pro is $9 a month. It is also included in the Cloud for Bots All Access bundle. Publisher: Supa Humans (https://supahumans.ai). Marketplace: https://botrecipe.com/tools/ ## Machine files - https://handoff.cloudforbots.com/ - https://handoff.cloudforbots.com/index.md - https://handoff.cloudforbots.com/llms.txt - https://handoff.cloudforbots.com/llms-full.txt - https://handoff.cloudforbots.com/SKILL.md - https://handoff.cloudforbots.com/openapi.json - https://handoff.cloudforbots.com/tool.json - https://handoff.cloudforbots.com/.well-known/mcp.json