Skip to main content

openclaw channels

Manage messaging channel connections and authentication for OpenClaw.

Usage

openclaw channels [command] [options]

Commands

list

List configured channels and auth profiles.
openclaw channels list [options]
--no-usage
boolean
Skip model provider usage/quota snapshots
--json
boolean
Output JSON format

status

Show gateway channel status and health.
openclaw channels status [options]
--probe
boolean
Probe channel credentials and connectivity
--timeout <ms>
number
Timeout in milliseconds (default: 10000)
--json
boolean
Output JSON format

add

Add or update a channel account.
openclaw channels add [options]

General Options

--channel <name>
string
required
Channel type: telegram, discord, slack, signal, whatsapp, imessage, matrix, etc.
--account <id>
string
Account ID (default when omitted)
--name <name>
string
Display name for this account

Telegram/Discord

--token <token>
string
Bot token for Telegram or Discord
--token-file <path>
string
Path to file containing bot token

Slack

--bot-token <token>
string
Slack bot token (xoxb-…)
--app-token <token>
string
Slack app token (xapp-…)

Signal

--signal-number <e164>
string
Signal account number in E.164 format (+12345678900)
--cli-path <path>
string
Path to signal-cli executable
--http-url <url>
string
Signal HTTP daemon base URL
--http-host <host>
string
Signal HTTP daemon host
--http-port <port>
number
Signal HTTP daemon port

WhatsApp

--auth-dir <path>
string
WhatsApp auth directory override

iMessage

--cli-path <path>
string
Path to imsg CLI executable
--db-path <path>
string
iMessage database path
--service <service>
string
iMessage service: imessage, sms, or auto
--region <region>
string
iMessage region for SMS

Matrix

--homeserver <url>
string
Matrix homeserver URL
--user-id <id>
string
Matrix user ID
--access-token <token>
string
Matrix access token
--password <password>
string
Matrix password
--device-name <name>
string
Matrix device name
--initial-sync-limit <n>
number
Matrix initial sync limit

Tlon (Urbit)

--ship <ship>
string
Tlon ship name (~sampel-palnet)
--url <url>
string
Tlon ship URL
--code <code>
string
Tlon login code
--group-channels <list>
string
Comma-separated list of group channels
--dm-allowlist <list>
string
Comma-separated list of allowed ships for DMs
--auto-discover-channels
boolean
Auto-discover group channels

Environment

--use-env
boolean
Use token from environment variable (default account only)

remove

Disable or delete a channel account.
openclaw channels remove [options]
--channel <name>
string
required
Channel name
--account <id>
string
Account ID (default when omitted)
--delete
boolean
Delete config entries without prompting

login

Link a channel account (for channels that support interactive authentication).
openclaw channels login [options]
--channel <channel>
string
Channel name (default: whatsapp)
--account <id>
string
Account ID
--verbose
boolean
Verbose connection logs

logout

Log out of a channel session.
openclaw channels logout [options]
--channel <channel>
string
Channel name (default: whatsapp)
--account <id>
string
Account ID

capabilities

Show provider capabilities (intents/scopes + supported features).
openclaw channels capabilities [options]
--channel <name>
string
Channel name (or “all” for all channels)
--account <id>
string
Account ID (only with —channel)
--target <dest>
string
Channel target for permission audit (e.g., Discord channel:id)
--timeout <ms>
number
Timeout in milliseconds (default: 10000)
--json
boolean
Output JSON format

resolve

Resolve channel/user names to IDs.
openclaw channels resolve <entries...> [options]
entries
string[]
required
Names or IDs to resolve
--channel <name>
string
Channel name
--account <id>
string
Account ID
--kind <kind>
string
Target kind: auto, user, or group (default: auto)
--json
boolean
Output JSON format

logs

Show recent channel logs from the gateway log file.
openclaw channels logs [options]
--channel <name>
string
Channel name (default: all)
--lines <n>
number
Number of lines to show (default: 200)
--json
boolean
Output JSON format

Examples

# List all configured channels
openclaw channels list

# List with JSON output
openclaw channels list --json

# Check channel status
openclaw channels status --probe
Some channels (like WhatsApp) require interactive login with openclaw channels login. Others (like Telegram and Discord) use bot tokens that can be added directly.
Never commit or share channel tokens publicly. Store them securely and use environment variables or token files for automation.

Supported Channels

OpenClaw supports these messaging platforms:
  • Telegram - Bot API with token authentication
  • Discord - Bot with token authentication
  • Slack - Bot with app and bot tokens
  • Signal - via signal-cli or HTTP daemon
  • WhatsApp - via WhatsApp Web (requires QR login)
  • iMessage - macOS only, requires database access
  • Matrix - Homeserver with password or token
  • Google Chat - via webhooks
  • Microsoft Teams - via extension
  • Tlon (Urbit) - Ship connection

Configuration

Channel configurations are stored in ~/.openclaw/openclaw.json under the channels section:
{
  channels: {
    telegram: {
      accounts: {
        default: {
          token: "123456:ABC-DEF"
        }
      }
    }
  }
}

Environment Variables

You can use environment variables for tokens:
export TELEGRAM_BOT_TOKEN=123456:ABC-DEF
export DISCORD_BOT_TOKEN=MTk4...
export SLACK_BOT_TOKEN=xoxb-...
export SLACK_APP_TOKEN=xapp-...
Then add channels with --use-env:
openclaw channels add --channel telegram --use-env
  • gateway - Manage the gateway that channels connect to
  • status - Check overall system status including channels
  • doctor - Diagnose channel connectivity issues