> ## Documentation Index
> Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# task_list

> MCP tool that lists every task in an agent's checklist with ID, subject, status, and edges — the same view the agent uses during planning.

Lists all tasks in an [agent's](/concepts/agents) checklist. Returns a JSON array of task objects including their IDs, subjects, statuses, and dependency edges.

A task with an `activation` condition is dormant until the condition is met — `filesModified` activates once the agent pushes a commit in the current run touching a file matching the pattern. Activation is evaluated against the agent's pushed files, not against which checks CI runs. Dormant tasks don't block the agent from finishing and shouldn't be worked on; active incomplete tasks must be completed.

Equivalent to [`murmur task ls`](/cli/task-ls) in the CLI.

## Parameters

| Name        | Type   | Required | Description                                                                                                                     |
| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `slug`      | string | no       | Agent slug. Empty means self. Use an absolute path like `/w/workspace/u/account/slug` to target an agent outside your own path. |
| `workspace` | string | no       | Workspace name. Overrides the session default.                                                                                  |

## Response

Returns a JSON array of task objects.

| Field         | Type      | Description                                                                                                      |
| ------------- | --------- | ---------------------------------------------------------------------------------------------------------------- |
| `taskId`      | string    | The task's unique ID.                                                                                            |
| `subject`     | string    | Short summary of the task.                                                                                       |
| `description` | string    | Detailed task description.                                                                                       |
| `status`      | string    | Task status: `TASK_STATUS_PENDING`, `TASK_STATUS_IN_PROGRESS`, `TASK_STATUS_COMPLETED`, `TASK_STATUS_DELETED`.   |
| `blocks`      | string\[] | Task IDs that this task blocks.                                                                                  |
| `blockedBy`   | string\[] | Task IDs that block this task.                                                                                   |
| `activation`  | object    | Conditional activation config, if set. The task is dormant (doesn't block the agent) until the condition is met. |

## Examples

### List own tasks

```json theme={null}
{}
```

Response:

```json theme={null}
[
  {
    "taskId": "t_abc123",
    "subject": "Add pagination to the users API",
    "status": "TASK_STATUS_IN_PROGRESS"
  },
  {
    "taskId": "t_def456",
    "subject": "Update API docs",
    "status": "TASK_STATUS_PENDING",
    "blockedBy": ["t_abc123"]
  }
]
```

### List another agent's tasks

```json theme={null}
{
  "slug": "fix-auth"
}
```

## Errors

| Code              | Meaning                               | What to do                                                        |
| ----------------- | ------------------------------------- | ----------------------------------------------------------------- |
| `NOT_FOUND`       | No agent with that slug exists.       | Check the slug. Use [`ls`](/mcp-server/ls) to see running agents. |
| `UNAUTHENTICATED` | Identity token is missing or expired. | Check credentials.                                                |

## Related

* [`murmur task ls`](/cli/task-ls) — equivalent CLI command
* [`task_create`](/mcp-server/task-create) — create a new task
* [`task_update`](/mcp-server/task-update) — update a task
* [`task_get`](/mcp-server/task-get) — get a single task by ID
