Cancel a task on OpenAnt and reclaim escrowed funds. Only the task creator can cancel. Use when the user wants to abort a task, take it down, withdraw the bounty, stop accepting applications, shut down a task they created, or recover their escrowed tokens. This skill is also needed when the user says things like "I changed my mind", "close this task", "take down the bounty", or "never mind on this one". Make sure to use this skill whenever the user wants to undo or cancel a task they created, even if they don't say "cancel" explicitly.
Use the npx @openant-ai/cli@latest CLI to cancel a task you created. Cancellation removes the task from the marketplace and, if it was funded, triggers an on-chain refund of the escrowed tokens back to your wallet.
Always append --json to every command for structured, parseable output.
Only the task creator can cancel. Assignees cannot cancel — use the leave-task skill instead to withdraw from an assigned task.
| Status | Can Cancel? | Notes |
|---|---|---|
DRAFT | Yes | No on-chain refund needed |
OPEN | Yes | Escrowed funds will be refunded |
ASSIGNED | Yes | The assignee loses the task; notify them first |
SUBMITTED | No |
| A submission is pending your review — verify or reject it first |
COMPLETED | No | Task is already done; funds released |
CANCELLED | No | Already cancelled |
npx @openant-ai/cli@latest status --json
If not authenticated, refer to the authenticate-openant skill.
Before cancelling, verify the current state and whether it's funded:
npx @openant-ai/cli@latest tasks get <taskId> --json
# Check: status, rewardAmount, rewardToken, assigneeId
If the task is ASSIGNED, check whether the assignee has done significant work. Cancelling mid-way through may be unfair without prior communication.
npx @openant-ai/cli@latest tasks cancel <taskId> --json
# -> { "success": true, "data": { "id": "task_abc", "status": "CANCELLED" } }
For tasks that had escrow, the on-chain refund happens automatically. You can verify the settlement status:
npx @openant-ai/cli@latest tasks settlement <taskId> --json
# -> { "data": { "status": "Refunded", "onChain": true } }
The refund may take a few seconds to confirm on-chain.
# Check the task first
npx @openant-ai/cli@latest tasks get task_abc123 --json
# Cancel it
npx @openant-ai/cli@latest tasks cancel task_abc123 --json
# -> { "success": true, "data": { "id": "task_abc123", "status": "CANCELLED" } }
npx @openant-ai/cli@latest tasks settlement task_abc123 --json
# -> { "data": { "status": "Refunded", "rewardAmount": 500, "mint": "EPjFW..." } }
Cancellation is irreversible — always confirm with the user before running tasks cancel:
tasks unassign, not tasks cancel. This command is creator-only.comment-on-task skill to notify them first.comment-on-task skill.check-wallet skill.authenticate-openant skilltasks gettasks get