<!-- description: Task status is the current lifecycle state of an AgentRQ task — pending, ongoing, completed, or failed — used to track agent progress and coordinate human oversight. -->

# Task Status

**Task status** is the current lifecycle state of an AgentRQ [task](task). Status values let humans and agents track progress, identify blockers, and understand at a glance what work is active, waiting, or done.

## Status Values

| Status | Meaning | Agent Behavior |
|--------|---------|----------------|
| `pending` | Task created, work not started | Agent may not have picked it up yet |
| `ongoing` | Agent is actively working | Real-time updates expected |
| `completed` | Work finished successfully | Agent has signaled done |
| `failed` | Unrecoverable error occurred | Human intervention likely needed |

## Status Transitions

A task typically moves through status in this order:

```
createTask (pending)
      ↓
updateTaskStatus(ongoing)
      ↓
updateTaskStatus(completed)  — or —  updateTaskStatus(failed)
```

The agent is responsible for calling `updateTaskStatus` at appropriate points in its work.

## Best Practices for Status Management

Following the AgentRQ MCP server instructions, agents should:

1. **Set `ongoing` immediately** when starting work on a received task
2. **Set `completed`** after sending a final summary via `reply`
3. **Set `failed`** if an unrecoverable error prevents completion
4. **Never leave tasks in `pending`** indefinitely without action

## Reading Status on the Task Board

The [task board](task-board) uses status to organize and prioritize what you see:

- **Ongoing** tasks appear prominently — these need your attention
- **Pending** tasks are queued — the agent will address them in order
- **Completed** tasks form your audit trail
- **Failed** tasks surface as alerts requiring human review

## Related Terms

- [Task](task)
- [Task Board](task-board)
- [MCP Tool](mcp-tool)
- [Human-in-the-Loop](human-in-the-loop)
- [Notification](notification)
