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

# Command reference

> Every chief command, grouped by resource.

New to the CLI? Start with the [CLI overview](/tools/cli/overview) to install and
authenticate first.

Run `chief help` or `chief <command> --help` for full, generated usage at any
time. This page summarizes the command tree and the most common flags.

```
chief
├── login                 Authenticate to a host and save credentials
├── doctor                Diagnose local configuration and connectivity
├── project               Manage the default project
│   ├── list
│   └── switch
├── chats                 Start and continue conversations
│   ├── create / send / get / list / update / delete
├── assets                Upload and manage files
│   ├── upload / list / get / update / delete
├── actions               Scheduled and triggered automations
│   ├── create / list / get / update / delete
│   └── enable / disable
├── labels                Organize assets with labels
│   ├── create / list / get / update / delete
│   └── attach / detach
├── skills                Reusable instructions for chat turns
│   ├── create / list / get / update / delete
│   └── enable / disable
├── memories              Persistent context the assistant recalls
│   └── create / list / get / update / delete
├── sessions              Inspect and manage sessions
│   └── list / get / update / delete
├── mcp                   Generate MCP server config for coding agents
│   └── config
└── api                   Make a raw authenticated API request
```

## Chats

Start a conversation, send follow-ups, and read transcripts. By default `create`
and `send` wait for the assistant's response and render it as Markdown; pass
`--no-wait` to return as soon as the turn is accepted.

```bash theme={null}
# Start a chat and wait for the answer.
chief chats create "Draft a release note from the latest commits"

# Continue an existing chat.
chief chats send chat_5f3c "Make it half as long"

# Tune the turn.
chief chats create "Research our top three competitors" \
  --intelligence research \
  --provider anthropic \
  --skill competitor-analysis \
  --public-data \
  --label-id label_market

# Print the full transcript, or enqueue and poll later.
chief chats get chat_5f3c
chief chats create "Long-running analysis" --no-wait
```

By default the assistant's answer renders as Markdown right in your terminal:

<Frame caption="chief chats create renders the assistant's answer inline.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-chats-create.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=3a4d588b11487b4867264545c83dd1c0" alt="chief chats create rendering a two-bullet summary in the terminal" width="2846" height="1217" data-path="images/demos/cli-chats-create.png" />
</Frame>

Turn-tuning flags (shared by `create` and `send`):

| Flag             | Description                                                    |
| ---------------- | -------------------------------------------------------------- |
| `--intelligence` | Mode preset: `auto`, `fast`, `expert`, or `research`           |
| `--provider`     | Provider bias: `automatic`, `anthropic`, `openai`, or `google` |
| `--skill`        | Enable a skill for the turn (repeatable)                       |
| `--public-data`  | Allow public-web search (otherwise follows the mode preset)    |
| `--label-id`     | Scope to a label (repeatable)                                  |
| `--asset-id`     | Scope to an asset (repeatable)                                 |
| `--chat-id`      | Include a past chat as context (repeatable)                    |
| `--project-id`   | Scope to a project (repeatable)                                |
| `--concept-id`   | Scope to a concept (repeatable)                                |
| `--no-wait`      | Return once the turn is accepted instead of waiting            |
| `--timeout`      | How long to wait for the response (default `5m`)               |

## Assets

Upload a single file or a whole directory, then list, inspect, and manage what's
in your project. Uploads run in parallel, content-identical files are skipped
server-side, and by default the CLI waits for each file to finish ingesting.

```bash theme={null}
chief assets upload ./report.pdf
chief assets upload ./docs --recursive --concurrency 8
chief assets upload ./big.csv --no-wait        # don't block on ingest

chief assets list --limit 20
chief assets get asset_abc
chief assets update asset_abc --name "Q3 report" --description "Final"
chief assets delete asset_abc
```

Uploading shows per-file progress and skips content-identical files:

<Frame caption="Uploads run in parallel, skip content-identical files, and wait for ingest by default.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-assets-upload.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=13fb6cc334dd1b73988be3b7c05edab6" alt="chief assets upload showing per-file ready, dedup, and failed statuses" width="2180" height="1289" data-path="images/demos/cli-assets-upload.png" />
</Frame>

`chief assets list` then shows each file's ingest status at a glance:

<Frame caption="chief assets list shows each file's ingest status at a glance.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-assets-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=b487b97a5a1145d944baa7a74002b969" alt="chief assets list table with ready and failed statuses" width="4546" height="1217" data-path="images/demos/cli-assets-list.png" />
</Frame>

| Flag            | Default | Description                                    |
| --------------- | ------- | ---------------------------------------------- |
| `--recursive`   | `true`  | Descend into subdirectories                    |
| `--concurrency` | `4`     | Number of parallel uploads                     |
| `--no-wait`     | `false` | Return after upload without waiting for ingest |
| `--timeout`     | `15m`   | Per-file wait timeout                          |

## Actions

Actions are automations that run a prompt on a schedule or in response to
events, optionally emailing the result. `update` replaces an action wholesale —
any schedule, trigger, scope, or email not passed as a flag is cleared.

```bash theme={null}
# Every day at 07:00 UTC, summarize new assets and email the team.
chief actions create "Daily digest" \
  --prompt "Summarize assets added to the project in 5 bullet points" \
  --hour 7 --timezone UTC \
  --email team@example.com --email-subject "Daily digest"

# Run whenever a new asset lands in a label.
chief actions create "Triage incoming" \
  --prompt "Tag and route this document" \
  --trigger new --label-id label_inbox

chief actions list
chief actions disable action_123
chief actions enable action_123
chief actions delete action_123
```

`chief actions list` shows every automation, its schedule, and status:

<Frame caption="chief actions list shows each automation, its schedule, and status.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-actions-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=0f642009b8083723957662b0dfb33c0e" alt="chief actions list showing scheduled actions with their cron schedules and enabled status" width="3380" height="1064" data-path="images/demos/cli-actions-list.png" />
</Frame>

| Flag              | Description                                                    |
| ----------------- | -------------------------------------------------------------- |
| `--prompt`        | Instruction the action runs (required on `create`)             |
| `--description`   | Human-readable description                                     |
| `--hour`          | Cron hour field (unset positions default to `*`)               |
| `--weekday`       | `*` or a lowercase day name (`monday`..`sunday`); omit for `*` |
| `--month-day`     | Cron day-of-month field                                        |
| `--timezone`      | IANA timezone for the schedule (default `UTC`)                 |
| `--trigger`       | Event trigger: `new` or `all`                                  |
| `--email`         | Email recipient (repeatable)                                   |
| `--email-subject` | Subject line for the email outcome                             |
| `--label-id`      | Scope the action to a label (repeatable)                       |
| `--asset-id`      | Scope the action to an asset (repeatable)                      |

## Labels

Labels organize the assets in a project. Create one with an optional color and
icon, attach it to an asset by name, and detach or delete it by id.

```bash theme={null}
chief labels create "Contracts" --color "#6b7280" --icon file
chief labels list
chief labels attach asset_abc Contracts      # attach by name
chief labels detach asset_abc label_xyz      # detach by id
chief labels delete label_xyz
```

`chief labels list` shows every label in the project:

<Frame caption="chief labels list shows every label in the project.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-labels-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=143b4862ca0521c3d74825fcb2b574df" alt="chief labels list showing label names, colors, and ids" width="1813" height="1140" data-path="images/demos/cli-labels-list.png" />
</Frame>

## Skills

Skills are reusable instructions (a prompt fragment, a persona, a procedure) you
enable per chat turn with `chief chats … --skill <name>`.

```bash theme={null}
chief skills create competitor-analysis \
  --content "When asked about competitors, produce a SWOT table and cite sources." \
  --description "Structured competitor breakdowns" \
  --scope project --category skill

chief skills list
chief skills disable competitor-analysis
```

`chief skills list` shows your reusable instructions and whether each is enabled:

<Frame caption="chief skills list shows your reusable instructions and whether each is enabled.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-skills-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=9597855e3fbe075455923ea7db56015f" alt="chief skills list showing skills with their scope, category, and enabled status" width="3280" height="1064" data-path="images/demos/cli-skills-list.png" />
</Frame>

| Flag             | Description                       |
| ---------------- | --------------------------------- |
| `--content`      | Skill body (required on `create`) |
| `--display-name` | Human-readable name               |
| `--description`  | What the skill does               |
| `--scope`        | `project` or `user`               |
| `--category`     | `skill` or `persona`              |
| `--icon`         | Icon name                         |

## Memories

Memories are durable facts the assistant carries across conversations —
identity, preferences, standing instructions.

```bash theme={null}
chief memories create \
  --content "Always answer in metric units." \
  --category instruction --importance 8

chief memories list
chief memories update mem_abc --content "Answer in metric units, 24h time."
```

`chief memories list` shows the facts the assistant carries across chats:

<Frame caption="chief memories list shows the facts the assistant carries across chats.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-memories-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=2880b210577bc3dc58d652c21ba5a6ab" alt="chief memories list showing memory content, category, and importance score" width="3846" height="1064" data-path="images/demos/cli-memories-list.png" />
</Frame>

| Flag           | Description                                                   |
| -------------- | ------------------------------------------------------------- |
| `--content`    | Memory text (required on `create`)                            |
| `--category`   | `identity`, `preference`, `fact`, `context`, or `instruction` |
| `--importance` | Importance score                                              |
| `--scope`      | Empty (global) or `project`                                   |

## Sessions

Live sessions are real-time working sessions in your project. List them, read
one in full, rename or annotate it, or delete it.

```bash theme={null}
chief sessions list --limit 20
chief sessions get session_abc
chief sessions update session_abc --name "Onboarding" --description "Notes"
chief sessions delete session_abc
```

`chief sessions list` shows recent live sessions in the project:

<Frame caption="chief sessions list shows recent live sessions in the project.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-sessions-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=f1c54710e61a117ca0dfe528d1af09f7" alt="chief sessions list showing session names, descriptions, and timestamps" width="3813" height="987" data-path="images/demos/cli-sessions-list.png" />
</Frame>

## Project

Manage which project the CLI reads from and writes to. `list` shows the projects
your token can reach; `switch` sets the default for every later command.

```bash theme={null}
chief project list
chief project switch project_d8a4td4dib27i4beefb0
```

`chief project list` shows the projects your token can reach, with their ids:

<Frame caption="chief project list shows the projects your token can reach — and their ids.">
  <img src="https://mintcdn.com/chief-2d405d1a/QGBlzHNeqRlizFjv/images/demos/cli-project-list.png?fit=max&auto=format&n=QGBlzHNeqRlizFjv&q=85&s=4aebb6cab52433d402d0b2eb5bb896c7" alt="chief project list showing project names and project ids with the active one marked" width="2480" height="1064" data-path="images/demos/cli-project-list.png" />
</Frame>

## MCP

`chief mcp config <harness>` prints a ready-to-paste MCP server snippet for a
coding agent, prefilled with your current credentials. Supported harnesses:
`claude`, `cursor`, and `codex`. See [MCP server](/mcp/overview) for
details.

```bash theme={null}
chief mcp config claude
```

The snippet comes prefilled with your binary path and credentials, ready to paste:

<Frame caption="chief mcp config prints a ready-to-paste server snippet with your credentials filled in.">
  <img src="https://mintcdn.com/chief-2d405d1a/JOumVErt7265p8jU/images/demos/cli-mcp-config.png?fit=max&auto=format&n=JOumVErt7265p8jU&q=85&s=b11a01c75f2286a6f9105ff36dcb1d99" alt="chief mcp config claude printing an MCP server JSON snippet" width="4446" height="1743" data-path="images/demos/cli-mcp-config.png" />
</Frame>
