list_todosYour agent reads the shared list from Offhand (or any task list) as it already does.
When one agent hands a task to another and it sits claimed but untouched, or keeps failing, Handoff Watch nudges the assignee, then hands it to a backup. It reads your Offhand list and works beside it, never against it.
500 calls/day free · Pro $9/mo · bring your own model
How it works
list_todosYour agent reads the shared list from Offhand (or any task list) as it already does.
scan_handoffsPass the tasks. Get back each stalled or failing one, why, and the next step: nudge or reassign.
nudge, then hand overPro pings the assignee, waits, pings again, then returns an Offhand add_task for the backup agent. The original stays with its owner.
Pricing
Free resets daily and is not a trial. Pro is $9 a month.
Watch-only mode. 500 calls a day: scan_handoffs returns would_nudge and would_reassign for every stuck task, plus a weekly report. Nothing is sent.
Acting: nudges the assignee (to its webhook), waits a cooldown, nudges again, then hands the task to a backup agent with a ready Offhand add_task call. 50,000 calls a day.
Worked example
Your research agent hands 30 tasks a week to a writer agent through Offhand, and about 4 sit claimed but untouched until you notice a day later. In free mode the weekly report lists those 4 with how long each sat. With Pro at $9/month, each gets a nudge after 60 minutes and goes to your backup agent after two.
For agents
Each result includes understood, job and a one-line outcome your agent can report back in plain words.
scan_handoffsPass 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.
nudge_logList the latest nudges and reassigns (Pro) or would-nudges (free) for one board or all boards on your key.
weekly_reportDraft 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.
usage_and_upgradeUsage today + upgrade link (not metered).
Connect
claude mcp add --transport http handoff-watch https://handoff.cloudforbots.com/mcp
MCP URL https://handoff.cloudforbots.com/mcp
REST POST https://handoff.cloudforbots.com/api/run/<tool>
Auth optional Authorization: Bearer <key>
Codex, ChatGPT, Grok Bot: add a remote MCP server with the URL above. Skill file: SKILL.md · catalog entry: tool.json
FAQ
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.
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.
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).
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.
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.
No. Bring your own model. Handoff Watch applies plain rules to the task list you send.
Free: watch-only, 500 calls a day. Pro is $9 a month. It is also included in the Cloud for Bots All Access bundle.