---
title: memhtml help
description: "Describe one command: usage, arguments, flags, response type, examples. Markdown on a terminal, a cli.help envelope when piped."
---

## 1. Synopsis

Describe one command: usage, arguments, flags, response type, examples. Markdown on a terminal, a cli.help envelope when piped.

```sh
memhtml help [command] [options]
```

## 2. Arguments

| Argument | Required | Description |
| --- | --- | --- |
| `command` | no | The command to describe, one or two words (`search`, `index rebuild`). Omitted: the whole manifest, as Markdown on a terminal and as the cli.manifest envelope when piped. |

## 3. Flags

| Flag | Type | Default | Values | Description |
| --- | --- | --- | --- | --- |
| `--json` | flag | `false` | *no fixed set* | Emit the cli.help envelope even when stdout is a terminal. Wins over the terminal check, so a script can never receive Markdown by accident. |

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 `cli.help`, `cli.manifest`.

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

The guide blocks that name this command:

* [`first-call`](/reference/guide/first-call/)

## 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.