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

# Boards

> Create and manage Hiro Task Manager boards with the `hirotm` CLI.

The **`hirotm boards`** commands let you list boards, **probe** a board’s structure without loading every task (**`boards describe`**), create or rename boards, send boards to Trash and bring them back, and change task groups and priorities (**`boards configure …`**). Task rows use **`hirotm tasks list --board`** (see [Tasks](/task-manager/cli/tasks)). Global options and output modes: [hirotm CLI](/task-manager/cli/cli-commands).

Turn on the CLI permissions you need in the board or app settings—see [CLI access policy](/task-manager/cli/cli-access-policy). Creating a **new** board also requires **Create board** for the CLI in the app settings.

For columns on a board, see [Lists](/task-manager/cli/lists). For individual work items, see [Tasks](/task-manager/cli/tasks). For connection options (**`--profile`**, **`--client-name`**) shared across commands, see [hirotm CLI](/task-manager/cli/cli-commands).

**Access policy**

Enable the right toggles in Board settings (and app-wide settings for **`boards add`**). If the CLI is not allowed to do something, the command fails with an error message.

***

## Board Operations

### `boards list`

List boards you can access with the CLI.

**Sort:** boards appear in **name** order, **A→Z**, case-insensitive (same order as the API’s `GET /api/boards`). See [Default sort order](/task-manager/cli/cli-commands#default-sort-order).

| Option            | Type                                            | Required                        | Description                                                                                                                                                                                      |
| ----------------- | ----------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `--limit <n>`     | <Badge size="sm" color="purple">integer</Badge> | <Icon icon="minus" size={14} /> | Page size (omit for one full response from the server).                                                                                                                                          |
| `--offset <n>`    | <Badge size="sm" color="purple">integer</Badge> | <Icon icon="minus" size={14} /> | Skip this many boards (default **0**).                                                                                                                                                           |
| `--page-all`      | <Badge size="sm" color="orange">flag</Badge>    | <Icon icon="minus" size={14} /> | Merge all pages (uses **`--limit`** or **500** per HTTP request).                                                                                                                                |
| `--count-only`    | <Badge size="sm" color="orange">flag</Badge>    | <Icon icon="minus" size={14} /> | Total rows only ([Paging](/task-manager/cli/cli-commands#paging-list-results)); not with **`--limit`**, **`--offset`**, **`--page-all`**, or **`--fields`**.                                     |
| `--fields <keys>` | <Badge size="sm" color="blue">string</Badge>    | <Icon icon="minus" size={14} /> | Comma-separated API keys per row. Allowed: `boardId`, `slug`, `name`, `emoji`, `description`, `cliPolicy`, `createdAt`. See [Field projection](/task-manager/cli/cli-commands#field-projection). |

This command accepts the global **`-q` / `--quiet`** flag (with **`--format ndjson`**): one plain-text value per row, default **`slug`** then **`boardId`**. See [Pipe-friendly quiet](/task-manager/cli/cli-commands#pipe-friendly-quiet).

Shared connection options (**`--profile`**, **`--client-name`**) are documented on [hirotm CLI](/task-manager/cli/cli-commands).

**CLI Examples**

```bash theme={null}
hirotm boards list
hirotm boards list --count-only
hirotm boards list --limit 50 --offset 0                    # pagination
hirotm boards list --fields boardId,slug,name             # slimmer rows
hirotm boards list --page-all --limit 100                  # merge all pages
hirotm boards list --format human                          # table
hirotm boards list --profile dev                           # non-default profile (optional; same for any command)
```

**AI Agent Examples**

<Prompt description="List all Task Manager boards I can access with the CLI." actions={["copy", "cursor"]}>
  List all Task Manager boards I can access with the CLI.
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {"boardId":1,"slug":"sprint","name":"Sprint","emoji":null,"description":"","cliPolicy":{"readBoard":true,"createTasks":true,"createLists":true},"createdAt":"2026-04-01T10:00:00.000Z"}
    ```

    ```text human theme={null}
    Id    Slug               Name                 Em
    ----- ------------------ -------------------- ----
    1     sprint             Sprint
    total 1 · showing 1 · limit 500 · offset 0
    ```

    ```json error theme={null}
    {
      "error": "Server not reachable"
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards describe`

Return a **compact probe** for one board: identity, truncated **description**, full **`cliPolicy`**, and optional sections for **lists**, **groups**, **priorities**, **releases**, **global workflow statuses**, and optional **aggregate slice stats**—**without** any **tasks** and without board UI prefs (layout, stats, visible-status prefs, theme). Backed by **`GET /api/boards/:id/describe`** (single nested JSON object).

**CLI stdout:** with default **`--format ndjson`**, the CLI prints **multiple** compact JSON lines (same idea as list reads):

1. **`kind: "board"`** — **`boardId`**, **`slug`**, **`name`**, **`emoji`**, **`description`**, and optional **`descriptionTruncated`** (no **`cliPolicy`** on this line).
2. **`kind: "policy"`** — same boolean fields as **`board.cliPolicy`**, flattened on one object.
3. Row lines in **`--entities`** order: **`kind: "list"`**, **`"group"`**, **`"priority"`**, **`"release"`**, **`"status"`** (only for sections you requested).
4. If **`meta`** appears in **`--entities`**, a single **`kind: "meta"`** line with **`lists`**, **`groups`**, **`priorities`**, **`releases`**, and **`statuses`** — each value is **`{ truncated, total, shown }`** (reflects the **100-row cap** per slice).

Omit **`--entities`** to request the **five** row sections in this order: **list → group → priority → release → status** (no **`meta`**). **`human`** uses the **same** block order after board + description + policy table. **`--format human`** together with global **`--quiet`** exits **2** (same as other commands that render tables).

Use this when you need **ids and labels** for flags like **`--list`**, **`--group`**, **`--priority`**, **`--release-id`**, or **`--status`**, or to confirm what the CLI may do on the board, without downloading the full task graph. For task rows, use **`hirotm tasks list --board`** (add **`--page-all`** to merge every page) or **`hirotm query search`**. The web app loads the full board document over **`GET /api/boards/:id`**; there is **no** `hirotm boards show` command.

**Access:** same as other board reads—**`readBoard`** must be on for the CLI (see [CLI access policy](/task-manager/cli/cli-access-policy)).

**Limits:** each array section returns at most **100** items (board column order for lists, group sort order, priority **`value`**, releases by **`releaseDate` descending** with **null dates last**, statuses in workflow order). If more rows exist, the slice includes **`truncated: true`** and **`total`**. Board **`description`** is capped at **4096** UTF-16 code units; when shortened, **`board.descriptionTruncated`** is **`true`**.

| Option             | Type                                         | Required                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------ | -------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<id-or-slug>`     | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Board id or slug.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `--entities <csv>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | Comma-separated tokens: **`list`**, **`group`**, **`priority`**, **`release`**, **`status`**, **`meta`**. Order controls **CLI stdout** (and is preserved when you read line-by-line). The HTTP **`?entities=`** query lists the same tokens (the CLI may sort them for the request; the response includes every requested section). Omit the flag for the **default five** sections (**no** **`meta`**). The JSON **`board`** object (identity, description, **`cliPolicy`**) is **always** in the HTTP body. **`board`** is **not** a valid token. Duplicates or unknown names → exit **2** (`invalid_value`). |

There is **no** **`--fields`** on this command (use **`--entities`** to trim the **HTTP** response; the CLI still reshapes stdout as above).

**CLI examples**

```bash theme={null}
hirotm boards describe sprint
hirotm boards describe 1 --profile dev                     # non-default profile
hirotm boards describe sprint --entities list,group,priority
hirotm boards describe sprint --entities list,meta
```

**AI agent examples**

<Prompt description="Describe board sprint: lists, groups, priorities, releases, statuses, and CLI policy, without tasks." actions={["copy", "cursor"]}>
  Describe board sprint: lists, groups, priorities, releases, statuses, and CLI policy, without tasks.
</Prompt>

<Expandable title="Example shapes" defaultOpen={false}>
  **HTTP (`GET /api/boards/:id/describe`)** — one JSON object. With **`?entities=meta`** (alone or combined), a top-level **`meta`** object is included:

  ```json theme={null}
  {
    "board": {
      "boardId": 1,
      "slug": "sprint",
      "name": "Sprint",
      "emoji": null,
      "description": "",
      "cliPolicy": { "readBoard": true, "createTasks": true, "manageCliCreatedTasks": true, "manageAnyTasks": false, "createLists": true, "manageCliCreatedLists": true, "manageAnyLists": false, "manageStructure": false, "deleteBoard": false, "editBoard": false }
    },
    "lists": { "items": [{ "listId": 10, "name": "Ready" }] },
    "groups": { "items": [{ "groupId": 2, "label": "feature", "default": true }] },
    "meta": {
      "lists": { "truncated": false, "total": 1, "shown": 1 },
      "groups": { "truncated": false, "total": 1, "shown": 1 },
      "priorities": { "truncated": false, "total": 0, "shown": 0 },
      "releases": { "truncated": false, "total": 0, "shown": 0 },
      "statuses": { "truncated": false, "total": 2, "shown": 2 }
    }
  }
  ```

  **CLI stdout (`--format ndjson`)** — one JSON object per line (abbreviated; default entities, no **`meta`**):

  ```json theme={null}
  {"kind":"board","boardId":1,"slug":"sprint","name":"Sprint","emoji":null,"description":""}
  {"kind":"policy","readBoard":true,"createTasks":true,"manageCliCreatedTasks":true,"manageAnyTasks":false,"createLists":true,"manageCliCreatedLists":true,"manageAnyLists":false,"manageStructure":false,"deleteBoard":false,"editBoard":false}
  {"kind":"list","listId":10,"name":"Ready"}
  {"kind":"group","groupId":2,"label":"feature","default":true}
  ```

  **CLI validation error** (`--entities` typo, stderr):

  ```json theme={null}
  {
    "error": "unknown entity: wat"
  }
  ```

  Passing **`board`** as a token is rejected (the board header is always returned):

  ```json theme={null}
  {
    "error": "unknown entity: board (board is always included in the response; omit it)"
  }
  ```
</Expandable>

***

### Filtered task listing

Use **`hirotm tasks list --board <id-or-slug>`** with optional filters (list, group, priority, status, release, dates). See [Tasks](/task-manager/cli/tasks#tasks-list).

***

### `boards add`

Create a board. Needs **Create board** turned on for the CLI in the app settings (not a per-board switch).

| Option                      | Type                                         | Required                        | Description                                          |
| --------------------------- | -------------------------------------------- | ------------------------------- | ---------------------------------------------------- |
| `[name]`                    | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} /> | Board name; omit to use the app default.             |
| `--emoji <text>`            | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} /> | Optional emoji before the name.                      |
| `--description <text>`      | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} /> | Short description text.                              |
| `--description-file <path>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} /> | Read description from a text file.                   |
| `--description-stdin`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} /> | Read description from the terminal until input ends. |

**CLI Examples**

```bash theme={null}
hirotm boards add "Q2 Planning"
hirotm boards add --emoji "📌" "Releases"
```

**AI Agent Examples**

<Prompt description="Create a board named &#x22;Paris Ideas&#x22; with the CLI." actions={["copy", "cursor"]}>
  Create a board named "Paris Ideas" with the CLI.
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 2,
      "boardSlug": "paris-ideas",
      "boardUpdatedAt": "2026-04-09T16:00:00.000Z",
      "entity": {
        "type": "board",
        "boardId": 2,
        "slug": "paris-ideas",
        "name": "Paris Ideas",
        "emoji": null,
        "createdAt": "2026-04-09T16:00:00.000Z",
        "updatedAt": "2026-04-09T16:00:00.000Z"
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "CLI board creation is disabled. Ask the owner to enable it in TaskManager CLI settings (web app)."
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards update`

Change board name, emoji, description, or color preset. You must pass at least one change.

| Option                      | Type                                         | Required                                      | Description                                                                    |
| --------------------------- | -------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------ |
| `<id-or-slug>`              | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Board id or slug.                                                              |
| `--name <text>`             | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | New board name.                                                                |
| `--emoji <text>`            | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | Emoji before the name.                                                         |
| `--clear-emoji`             | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Remove the board emoji.                                                        |
| `--description <text>`      | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | Description text.                                                              |
| `--description-file <path>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | Description from a text file.                                                  |
| `--description-stdin`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Description from the terminal until input ends.                                |
| `--clear-description`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Clear the description (do not use with other description options).             |
| `--board-color <preset>`    | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | One of: stone, cyan, azure, indigo, violet, rose, amber, emerald, coral, sage. |
| `--clear-board-color`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Remove the board color preset.                                                 |

**CLI Examples**

```bash theme={null}
hirotm boards update --name "Sprint 42" sprint
hirotm boards update --board-color cyan --clear-emoji sprint
```

**AI Agent Examples**

<Prompt description="Rename board sprint to &#x22;Sprint April&#x22;." actions={["copy", "cursor"]}>
  Rename board sprint to "Sprint April".
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 1,
      "boardSlug": "sprint-april",
      "boardUpdatedAt": "2026-04-09T16:05:00.000Z",
      "entity": {
        "type": "board",
        "boardId": 1,
        "slug": "sprint-april",
        "name": "Sprint April",
        "emoji": null,
        "createdAt": "2026-04-01T10:00:00.000Z",
        "updatedAt": "2026-04-09T16:05:00.000Z"
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "At least one update field is required"
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards delete`

Send a board to Trash. The CLI needs **delete board** permission on that board.

| Option         | Type                                         | Required                                      | Description                                                                                                             |
| -------------- | -------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `<id-or-slug>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Board id or slug.                                                                                                       |
| `--dry-run`    | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Print a preview JSON only; do not move to Trash. See [Dry-run preview](/task-manager/cli/cli-commands#dry-run-preview). |
| `-y`, `--yes`  | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Skip the confirmation prompt.                                                                                           |

**CLI Examples**

```bash theme={null}
hirotm boards delete old-sprint
hirotm boards delete old-sprint --dry-run
hirotm boards delete old-sprint --yes
```

**AI Agent Examples**

<Prompt description="Move board old-sprint to Trash (non-interactive)." actions={["copy", "cursor"]}>
  hirotm boards delete old-sprint --yes
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 1,
      "boardSlug": "old-sprint",
      "boardUpdatedAt": "2026-04-09T16:15:00.000Z",
      "trashed": {
        "type": "board",
        "boardId": 1,
        "slug": "old-sprint",
        "trashed": true
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "Board not found",
      "board": "old-sprint"
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards restore`

Bring a board back from Trash. Use the numeric id or the slug shown for that board in Trash.

| Option         | Type                                         | Required                                      | Description                   |
| -------------- | -------------------------------------------- | --------------------------------------------- | ----------------------------- |
| `<id-or-slug>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Trashed board id or slug.     |
| `-y`, `--yes`  | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Skip the confirmation prompt. |

**CLI Examples**

```bash theme={null}
hirotm boards restore 1
hirotm boards restore old-sprint --yes
```

**AI Agent Examples**

<Prompt description="Restore trashed board old-sprint (non-interactive)." actions={["copy", "cursor"]}>
  hirotm boards restore old-sprint --yes
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 1,
      "boardSlug": "old-sprint",
      "boardUpdatedAt": "2026-04-09T16:20:00.000Z",
      "entity": {
        "type": "board",
        "boardId": 1,
        "slug": "old-sprint",
        "name": "Old sprint",
        "emoji": null,
        "createdAt": "2026-04-01T10:00:00.000Z",
        "updatedAt": "2026-04-09T16:20:00.000Z"
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "Board not in Trash (no matching slug)",
      "board": "unknown"
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards purge`

Remove a board from Trash forever. This cannot be undone. Needs **delete board** permission.

| Option         | Type                                         | Required                                      | Description                                                                                                     |
| -------------- | -------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `<id-or-slug>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Trashed board id or slug.                                                                                       |
| `--dry-run`    | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Print a preview JSON only; do not purge. See [Dry-run preview](/task-manager/cli/cli-commands#dry-run-preview). |
| `-y`, `--yes`  | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Skip the confirmation prompt.                                                                                   |

**CLI Examples**

```bash theme={null}
hirotm boards purge 1
hirotm boards purge 1 --dry-run
hirotm boards purge 1 --yes
```

**AI Agent Examples**

<Prompt description="Permanently delete trashed board 1 from Trash (non-interactive)." actions={["copy", "cursor"]}>
  hirotm boards purge 1 --yes
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "purged": {
        "type": "board",
        "boardId": 1
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "Board not in Trash (no matching slug)",
      "board": "unknown"
    }
    ```
  </CodeGroup>
</Expandable>

***

## Board Settings

These commands change **structure** on a board (task groups and priorities). The CLI needs the matching permission—see [CLI access policy](/task-manager/cli/cli-access-policy) (**manage structure**).

### `boards configure groups`

Update task groups from JSON. Give the data with **`--file`**, **`--json`**, or **`--stdin`** (exactly one). The JSON shape is aimed at automation; see the Task Manager repository **`docs/ai-cli.md`** for the full format.

| Option          | Type                                         | Required                                      | Description                                                                                                                                     |
| --------------- | -------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `<id-or-slug>`  | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Board id or slug.                                                                                                                               |
| `--json <text>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | JSON inline.                                                                                                                                    |
| `--file <path>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | JSON from a file.                                                                                                                               |
| `--stdin`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | JSON from the terminal until input ends.                                                                                                        |
| `--dry-run`     | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Validate input and print a preview JSON (with current groups); no PATCH. See [Dry-run preview](/task-manager/cli/cli-commands#dry-run-preview). |
| `-y`, `--yes`   | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Skip the confirmation prompt.                                                                                                                   |

**CLI Examples**

```bash theme={null}
hirotm boards configure groups --file groups.json sprint
hirotm boards configure groups --file groups.json sprint --dry-run
hirotm boards configure groups --file groups.json sprint --yes
```

**AI Agent Examples**

<Prompt description="Update task groups on board sprint from groups.json (non-interactive)." actions={["copy", "cursor"]}>
  hirotm boards configure groups --file groups.json sprint --yes
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 1,
      "boardSlug": "sprint",
      "boardUpdatedAt": "2026-04-09T16:10:00.000Z",
      "entity": {
        "type": "board",
        "boardId": 1,
        "slug": "sprint",
        "name": "Sprint",
        "emoji": null,
        "createdAt": "2026-04-01T10:00:00.000Z",
        "updatedAt": "2026-04-09T16:10:00.000Z"
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "Invalid task groups JSON",
      "details": {}
    }
    ```
  </CodeGroup>
</Expandable>

***

### `boards configure priorities`

Replace task priorities from JSON. Use **`--file`**, **`--json`**, or **`--stdin`** (exactly one). The file can be a plain array or an object with a **`taskPriorities`** field.

| Option          | Type                                         | Required                                      | Description                                                                                                                                         |
| --------------- | -------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<id-or-slug>`  | <Badge size="sm" color="blue">string</Badge> | <Icon icon="check" color="green" size={14} /> | Board id or slug.                                                                                                                                   |
| `--json <text>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | JSON inline.                                                                                                                                        |
| `--file <path>` | <Badge size="sm" color="blue">string</Badge> | <Icon icon="minus" size={14} />               | JSON from a file.                                                                                                                                   |
| `--stdin`       | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | JSON from the terminal until input ends.                                                                                                            |
| `--dry-run`     | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Validate input and print a preview JSON (with current priorities); no PATCH. See [Dry-run preview](/task-manager/cli/cli-commands#dry-run-preview). |
| `-y`, `--yes`   | <Badge size="sm" color="orange">flag</Badge> | <Icon icon="minus" size={14} />               | Skip the confirmation prompt.                                                                                                                       |

**CLI Examples**

```bash theme={null}
hirotm boards configure priorities --file priorities.json sprint
hirotm boards configure priorities --file priorities.json sprint --dry-run
hirotm boards configure priorities --file priorities.json sprint --yes
```

**AI Agent Examples**

<Prompt description="Replace priorities on board sprint from priorities.json (non-interactive)." actions={["copy", "cursor"]}>
  hirotm boards configure priorities --file priorities.json sprint --yes
</Prompt>

<Expandable title="Example responses" defaultOpen={false}>
  <CodeGroup>
    ```json json theme={null}
    {
      "ok": true,
      "boardId": 1,
      "boardSlug": "sprint",
      "boardUpdatedAt": "2026-04-09T16:12:00.000Z",
      "entity": {
        "type": "board",
        "boardId": 1,
        "slug": "sprint",
        "name": "Sprint",
        "emoji": null,
        "createdAt": "2026-04-01T10:00:00.000Z",
        "updatedAt": "2026-04-09T16:12:00.000Z"
      }
    }
    ```

    ```json error theme={null}
    {
      "error": "Board not found",
      "board": "sprint"
    }
    ```
  </CodeGroup>
</Expandable>

***

## Learn more

Run **`hirotm help boards`** or **`hirotm help boards <subcommand>`** for the full help text in your installed CLI.
