---
title: memhtml task add
description: "Open a task: a `task` memory in projects/<ws>/tasks/ or areas/inbox/tasks/."
---

## 1. Synopsis

Open a task: a `task` memory in projects/\<ws>/tasks/ or areas/inbox/tasks/.

```sh
memhtml task add --title <string> [options]
```

## 2. Arguments

This command takes no positional arguments.

## 3. Flags

| Flag | Type | Default | Values | Description |
| --- | --- | --- | --- | --- |
| `--title` | string | *no default* | *no fixed set* | What the task is. Becomes the \<title> and the filename slug. **Required.** |
| `--claim` | string | *no default* | *no fixed set* | The task statement, as the \<mark> span. Defaults to `--title`. |
| `--body` | string, repeatable | *no default* | *no fixed set* | A prose paragraph of working notes. Repeatable, one \<p> each. |
| `--status` | string | `todo` | `todo`, `doing`, `blocked`, `done` | The opening status. `todo` unless you are recording work already underway. |
| `--due` | string | *no default* | *no fixed set* | An ISO date or datetime deadline. Compared as a string, so the form matters. |
| `--workspace` | string | *no default* | *no fixed set* | Routes the task to projects/\<slug>/tasks/. |
| `--tag` | string, repeatable | *no default* | *no fixed set* | A tag. Repeatable; tags scope search but never route a task. |
| `--entity` | string, repeatable | *no default* | *no fixed set* | A `type:name` entity reference. Repeatable. |
| `--session-id` | string | *no default* | *no fixed set* | The Claude Code session that opened the task. |
| `--prompt-id` | string | *no default* | *no fixed set* | The prompt within that session. |
| `--turn-uuid` | string | *no default* | *no fixed set* | The turn within that session. |

Every command also accepts the [global flags](/reference/global-flags/).

## 4. Response

On success the command writes one JSON envelope to stdout, and its `type` is `task.written`.

On failure it writes the failure envelope, whose `code` comes from [error codes](/reference/error-codes/).

[The JSON envelope](/reference/envelope/) gives the fields both shapes carry. [Response types](/reference/response-types/) lists every value `type` takes across the binary.

## 5. Further reading

No guide block names this command. The [guide](/reference/guide/) is the workflow prose the CLI ships beside the command table: which command to reach for, and in what order.

## 6. Provenance

A loader generates this page from `apps/cli/src/commands.ts` while the site builds, so no file in the repository holds it: the `COMMANDS` array there is the one source of argument parsing, of `memhtml manifest`, and of `AGENTS.md`. Change the registry and this page changes with it.