Report Progress
report_progress is one of the 32 MCP tools in Weft, the AI task manager you run by talking to Claude, Cursor, Codex or ChatGPT through one MCP endpoint. Say you are still working. A claim on a task expires if the client goes quiet, and this renews it. Without a heartbeat a long-running task is treated as abandoned and offered to someone else — deliberately, because an agent that dies mid-run reports nothing, so silence is the only signal the board has.
Weft is the AI task manager for solo founders and small teams.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
| runId | string | yes | The runId returned by start_task |
| leaseToken | string | yes | The leaseToken returned by start_task |
| status | 'working' | 'blocked' | 'needs_input' | no | 'working' (default) renews the claim; the other two park the task for the human |
| note | string | no | One line on where you are (≤280 chars) |
| learnings | (string | { trigger, content })[] | no | Up to 3 lessons worth remembering beyond this task — saved as memory notes, surfaced in future get_my_work calls. |
Returns
ok plus the new leaseExpiresAt and renewEverySeconds. When the claim has expired or moved to another client, ok:false with reason "lease_lost" — stop working and call start_task again.
Annotations
- idempotent. Calling the tool twice with the same arguments has the same effect as calling it once.
Example
What the user says:
"Keep going, this will take a while."What the AI calls under the hood:
{
"name": "report_progress",
"arguments": {
"runId": "…",
"leaseToken": "…",
"status": "working"
}
}Related
- All 32 MCP tools — the catalog view.
- Shuttle — how the AI client uses these tools.
- Call this tool through your own client: see setup guides, or hit
https://letsweft.com/api/mcpdirectly.