Chatwoot CLIOpen source

Chatwoot CLI puts your coding agents to work on support.

The official CLI lets coding agents read conversations, search your help center, and prepare support work from the terminal. The bundled agent skill has them hold anything customer-visible for your approval.

Open source · Chatwoot Cloud and self-hosted

support-agent — chatwoot

agent Summarize urgent conversations. Read only. Do not change anything.

● Loading the Chatwoot CLI skill and checking the queue.

$ chatwoot convs --assignee all -s open -o json

{

"data": { "payload": [

{ "id": 8421, "priority": "urgent",

"status": "open", "inbox_id": 7 },

{ "id": 8398, "priority": "high",

"status": "open", "inbox_id": 3 }

] }

}

Queue read

2 conversations need attention

Changes made

None

Ready with a summary.

One interface, real support work

What your AI agent can do in Chatwoot

The CLI returns structured data your agent can reason over. When the next step would reply, assign, label, or resolve, the official skill has your agent show you the exact command first.

Queue briefing

Start the day with a useful support brief.

Read only
Prompt your agent

Summarize the open conversations assigned to me. Group them by urgency, and do not change anything in Chatwoot.

Command
$ chatwoot convs --assignee me -s open -o json

Structured output → agent summary

Open queue: 12 conversations
Urgent: 2 · High: 3 · Standard: 7

#8421 — refund blocked after duplicate charge
#8398 — enterprise SSO setup waiting 18h

No changes made.

Triage

Find the conversations that need a human now.

Read only
Prompt your agent

Find every open urgent conversation across all inboxes. Return the IDs and the latest customer messages. Read only.

Command
$ chatwoot convs --assignee all -s open -o json | jq '.data.payload[] | select(.priority == "urgent")'

Filtered JSON

{
  "id": 8421,
  "priority": "urgent",
  "status": "open",
  "inbox_id": 7
}

Knowledge lookup

Ground a response in published help content.

Read only
Prompt your agent

Search our help center for articles about changing a billing email. Give me the best match and cite its public link.

Command
$ chatwoot hc articles --query "billing email" -o json

Help center search result

{
  "title": "Update your billing details",
  "slug": "update-billing-details",
  "category": "Account settings",
  "link": "https://support.example.com/..."
}

Privileged action

Draft first. Send only after you approve.

Approval required
Prompt your agent

Read conversation 8421 and draft a concise reply. Show me the exact reply command, but do not run it until I approve.

Command
$ chatwoot conv 8421 reply "I found the duplicate charge and asked our billing team to reverse it. I’ll update you here within one business day."

Approval checkpoint

Proposed customer-visible reply prepared.
Command not run.

Waiting for explicit approval for conversation #8421.

Chatwoot for coding agents

The Chatwoot CLI: a proper interface to the support queue.

A coding agent is useful when it can get reliable context and show its work. Chatwoot CLI gives it both. Instead of clicking through the dashboard or scraping terminal tables, the agent can request support desk conversations, CRM contacts, inboxes, labels, teams, and help center articles in a predictable format.

Alongside the CLI, Chatwoot also offers Captain, the AI copilot inside the product, and Agent Bots, which let you plug custom bots into your inboxes. The CLI is for the coding agent already working with you in a terminal: Codex, Claude, Cursor, Grok, or another tool that can run shell commands.

01

Triage without tab hopping

Ask for the open queue, a single conversation, or every message that mentions a refund. The agent can summarize what it finds, group related issues, and point you to the conversations worth opening in Chatwoot.

convsconv <id>messagescontactsinboxes
02

Use published answers

Search your Chatwoot Help Center before drafting a response. The CLI can list portals, search articles by query or category, and fetch the full article your agent should use as context.

hcshc articles --queryhc article <slug>
03

Return data an agent can trust

Text output is meant for people. Agents can request JSON for parsing, CSV for an export, or quiet mode when a pipeline only needs resource IDs. Exit codes and errors behave like a normal command-line tool.

-o json-o csv-qnon-zero exit on error
04

Handle the unusual cases

The common support jobs have first-class commands. When the CLI does not cover an endpoint yet, the raw API command can make an authenticated request against the configured Chatwoot account. Non-GET calls still require approval.

chatwoot api /conversations/123-X PATCH--data
AI in Chatwoot

Three ways to put AI to work

How it works

Set up the Chatwoot CLI in four steps.

The official agent skill teaches your coding agent the CLI grammar, structured output contract, and the rule that shared-state writes wait for explicit confirmation.

  1. 01

    Install the CLI

    The installer detects your operating system and architecture, downloads the matching release binary, and verifies its SHA256 checksum.

    curl -fsSL https://chwt.app/install-cli | sh
  2. 02

    Authenticate

    Enter your Chatwoot base URL, API key, and account ID. The CLI validates them before saving; the API key goes to your OS keyring.

    chatwoot auth login
  3. 03

    Add the agent skill

    Install the official bundled skill so your coding agent knows the command grammar, output formats, and write-approval rules.

    npx skills add chatwoot/cli
  4. 04

    Ask, inspect, approve

    Let the agent read and summarize freely. For replies, assignments, labels, priorities, statuses, or mutating API calls, review the exact command and confirm it first.

Built for agents. Accountable to humans.

Reads are easy. Writes wait for you.

An agent can inspect the queue and prepare a plan on its own. The official skill instructs it to stop and ask you before changing shared support data or sending a message.

Read freely

convsmessagescontactsinboxesagentslabelsteamshelp centerGET requests

Confirm before writes

replyassignresolvelabelprioritystatus changesnon-GET API calls
Credentials
Local API keys live in the operating system keyring. CHATWOOT_API_KEY is available for CI and headless environments.
Deployment
Login accepts your base URL, so the same CLI works with Chatwoot Cloud or your self-hosted installation.
Agent output
Use JSON for reliable parsing, CSV for exports, or quiet mode for ID-only pipelines. Human-readable text remains the default.
API coverage
Prefer first-class commands. When one does not exist, the raw chatwoot api command provides an authenticated escape hatch under the configured account.

Quick start

Install the Chatwoot CLI in minutes.

Install the release, sign in to your Chatwoot account, then add the official skill so your agent knows the commands and safety rules.

quick-start

1 — Install

$ curl -fsSL https://chwt.app/install-cli | sh

2 — Connect

$ chatwoot auth login

3 — Teach your agent

$ npx skills add chatwoot/cli

✓ Credentials validated

✓ API key saved to the OS keyring

✓ Agent skill ready

New to Chatwoot?

Handle customer support with the coding agents you already use.

Chatwoot is the open-source customer support platform behind the CLI: omnichannel inbox, help center, and Captain AI. If your team already works in a coding agent, it can triage conversations, look up published answers, and draft replies for your approval from day one, on Chatwoot Cloud or self-hosted.

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Gemini CLI
  • Grok
  • Windsurf

…and any other agent that can run shell commands.

Questions, answered

Chatwoot CLI and AI agents

The practical details before you give an agent access to a real support account.

What is Chatwoot CLI?

Chatwoot CLI is the official open-source command-line interface for Chatwoot. It lets people, scripts, and coding agents read support data and run common conversation workflows from a terminal.

How is the CLI different from Captain and Agent Bots?

They cover three different surfaces. Captain is Chatwoot's AI copilot inside the product, answering customers from your help content. Agent Bots connect a custom bot to your inboxes through the Agent Bot API. The Chatwoot CLI is for coding agents in your terminal, which read support data and prepare work you approve.

Which AI coding agents can use it?

Any agent that can run shell commands can use the CLI. That includes Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Grok, and Windsurf. The bundled Chatwoot skill is designed for agent environments that support installable skills or project instructions.

Does it work with self-hosted Chatwoot?

Yes. During login you provide the Chatwoot base URL, API key, and account ID. That lets the same CLI connect to Chatwoot Cloud or a self-hosted Chatwoot installation.

Can an agent send replies or resolve conversations?

The CLI supports replies, private notes, assignments, labels, priorities, and status changes. The official agent skill treats these as privileged writes: the agent should show the exact command and wait for explicit approval before running it.

Where does the CLI store my API key?

Interactive login stores the API key in your operating system keyring. Non-secret settings live in the Chatwoot CLI config file. CI and headless environments can provide CHATWOOT_API_KEY instead.

Can I use Chatwoot CLI in scripts?

Yes. Use JSON output when code needs the full response, CSV for tabular exports, or quiet mode for one ID per line. The raw API command is available when a workflow does not yet have a first-class CLI command.

The official interface for coding agents

Put the queue where your agent works.

or request a demo