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

# CLI Commands

> Learn the Chatwoot CLI command grammar and commonly used commands.

Full command reference. New here? Start with **[Getting started](/cli)**. For output formats and automation, see **[Scripting & output](/cli/scripting)**.

## Grammar at a glance

* **Plural noun = list:** `chatwoot convs`, `chatwoot contacts`, `chatwoot agents`
* **Singular + id = view:** `chatwoot conv 123` shows conversation 123
* **Singular + id + verb = act:** `chatwoot conv 123 reply "thanks"` — id before verb, the way you'd say it

Verb-first form (`chatwoot conv reply 123 "thanks"`) also works.

## Conversations

### List

```bash theme={null}
chatwoot convs                                 # open conversations assigned to you (default)
chatwoot convs -s resolved                     # by status: open | resolved | pending | snoozed
chatwoot convs --assignee all                  # me (default) | unassigned | all | <name> | <id>
chatwoot convs --inbox 5                       # filter by inbox ID
chatwoot convs -l billing,urgent               # filter by labels
chatwoot convs --query "refund"                # search by message content
```

### Act on one

```bash theme={null}
chatwoot conv 123                              # view (default)
chatwoot conv 123 messages                     # list messages
```

**Reply:**

```bash theme={null}
chatwoot conv 123 reply "Thanks, looking into it"
chatwoot conv 123 reply "internal note" --private
```

**Status:**

```bash theme={null}
chatwoot conv 123 resolve
chatwoot conv 123 open
chatwoot conv 123 pending
chatwoot conv 123 snooze                       # snooze until next reply
chatwoot conv 123 snooze --until 24h           # 7d, 2026-05-10, ...
```

**Assignment:**

```bash theme={null}
chatwoot conv 123 assign --agent me            # yourself
chatwoot conv 123 assign --agent alice         # case-insensitive substring on name
chatwoot conv 123 assign --agent 42            # by agent ID
chatwoot conv 123 assign --team 7              # assign to a team
chatwoot conv 123 unassign
```

**Labels & priority:**

```bash theme={null}
chatwoot conv 123 label billing,urgent         # sets labels (replaces existing)
chatwoot conv 123 priority urgent              # urgent | high | medium | low | none
```

**Contact:**

```bash theme={null}
chatwoot conv 123 contact                      # view the contact (sender) for this conversation
```

## Contacts

```bash theme={null}
chatwoot contacts                              # list
chatwoot contacts --search "john"              # name, email, or phone
chatwoot contact 456                           # view
chatwoot contact 456 conversations             # this contact's conversations
```

## Inboxes, agents, labels, teams

```bash theme={null}
chatwoot inboxes                               # list inboxes
chatwoot inbox 5                               # view one
chatwoot agents                                # list agents
chatwoot labels                                # list account-level labels
chatwoot teams                                 # list teams
```

## Help centers

`hc articles` uses the saved default help center and locale. Pass `--portal` or `--locale` when you want to override them for one command.

```bash theme={null}
chatwoot hcs                                   # list help centers
chatwoot hc default user-guide                 # save default help center and locale
chatwoot hc default                            # show current default
chatwoot hc default --clear                    # clear current default
chatwoot hc articles --query "api channel"     # search articles
chatwoot hc articles --category channels       # list/search within a category
chatwoot hc article 1677839703-how-to-create-an-api-channel-inbox
chatwoot hc articles --portal user-guide --locale en
```

## Profile

```bash theme={null}
chatwoot me                                    # your profile (alias of auth status)
chatwoot whoami                                # same
```

## Raw API

Use `chatwoot api` for authenticated API calls that do not have a first-class CLI command yet. Account-relative paths are expanded under `/api/v1/accounts/<account_id>`, so do not include the `/api/v1/accounts/...` prefix.

```bash theme={null}
chatwoot api /conversations/123                # GET /api/v1/accounts/<id>/conversations/123
chatwoot api -X PATCH /conversations/123 --data '{"status":"open"}'
chatwoot api --exact /api/v1/profile           # non-account-scoped endpoint
```

Use the application Swagger as the endpoint reference before raw API calls: [application\_swagger.json](https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json).

## Auth & config

```bash theme={null}
chatwoot auth login                            # interactive login (caches user_id)
chatwoot auth logout                           # remove saved credentials
chatwoot auth status                           # current user and instance
chatwoot config path                           # print config file path
chatwoot config view                           # print config and credential source
```

## Version

```bash theme={null}
chatwoot version                               # print the CLI version
chatwoot version --check                       # check GitHub for a newer release
chatwoot --version                             # same as `version`, as a flag
```

## Global flags

| Flag         | Short | Description                          |
| ------------ | ----- | ------------------------------------ |
| `--output`   | `-o`  | Output format: `text`, `json`, `csv` |
| `--account`  | `-a`  | Override account ID                  |
| `--quiet`    | `-q`  | Print only IDs (for scripting)       |
| `--no-color` |       | Disable colored output               |
| `--verbose`  | `-v`  | Show request/response details        |
| `--version`  |       | Print version                        |

For pipelines and exports using these flags, see **[Scripting & output](/cli/scripting)**.
