Complete reference for openclaw channels, inspecting channel health, managing auth accounts, and resolving platform-specific IDs across WhatsApp, Slack, Discord, Telegram, and more.

What does Openclaw Channels Manage?
Channels are the configured connections between OpenClaw and your external messaging platforms, WhatsApp, Slack, Discord, Telegram, and others. Each channel can have one or more accounts (useful for multi-workspace or multi-bot setups), each holding its own auth credentials and display name.
The channels command surface is where you add those accounts, check whether they’re healthy, read their logs, and query platform-specific metadata like scopes, intents, and user IDs.
Finding the Right Subcommand
If you’re setting up a new platform connection for the first time, start with add,the interactive wizard handles most of the heavy lifting and can bind the account to an agent in the same flow. If a channel is misbehaving, check status –probe and logs before digging deeper.
Use resolve when you need exact platform IDs for routing rules or bindings, human-readable names like #general or @jane won’t work in those contexts. The Common Options apply to most subcommands and aren’t repeated per-command below.
Supported Channels
The –channel flag accepts the following platform identifiers across all subcommands.
whatsapp | telegram | discord | slack | mattermost | signal | imessage | msteams | googlechat
Inspection Subcommands
Read-only commands for understanding the current state of your channel configuration and connectivity.
| openclaw channelslist Shows all configured channels and their authentication profiles. –no-usage | –json Append –no-usage to skip model provider usage and quota snapshots, useful when you just want account state without waiting on quota API calls. –json for machine-readable output. |
| openclaw channelsstatus Checks Gateway reachability and the health of your connected channels. –probe The –probe flag runs extra live checks and connection probes against each channel. Use it when list shows a channel as configured but you suspect it’s not actually reachable. |
| openclaw channelslogs Displays recent channel-specific logs from the Gateway log file. –channel <name|all> | –lines <n> | –json –channel defaults to all. –lines defaults to 200. Pass a lower value to keep output scannable when tailing for a specific error. |
| openclaw channelscapabilities Fetches provider capability hints, such as Discord intents or Slack scopes, and static feature support flags for a channel. –target <channel:id> Use --target channel:123 (e.g. channel:123 for Discord) to check capabilities on a specific target rather than the whole channel account. |
| openclaw channelsresolve Resolves human-readable channel or user names to their internal platform IDs using the provider’s directory. Essential before setting up routing rules or bindings that require exact IDs. –kind user|group|auto Use –kind to force a specific target type when the resolver can’t auto-detect whether a name is a user or a group. Defaults to auto. |
Account Management
Commands that create, remove, or change authentication state for channel accounts.
| openclaw channelsadd Adds a new channel account. Running this without flags launches an interactive wizard that walks through credential setup and can also automatically bind the newly configured account to specific agents in the same flow. To bypass the wizard entirely, pass credentials directly as flags, e.g. –token. You must also provide –channel and –account when going non-interactive. –channel <name> | –account <id> | –name <label> | –token <value> |
| openclaw channelsremove Removes a channel account from the active session. –delete Pass –delete to also remove the configuration entries from disk without interactive prompts. Without it, the command may ask for confirmation before deleting stored credentials. |
| openclaw channelslogin Initiates an interactive channel login. Primarily used for WhatsApp Web QR pairing, run this when you need to re-authenticate a WhatsApp session that has expired or been logged out. –verbose |
| openclaw channelslogout Logs out of a specific channel session, clearing the authentication state for that account. Support varies by channel provider, not all platforms expose a programmatic logout endpoint. |
For WhatsApp, logout clears the local session but does not revoke the linked device on your phone. To fully deauthorize, also remove the linked device from WhatsApp settings on your mobile device.
Common Options
These standard flags are accepted by most openclaw channels subcommands. They’re not repeated in each command’s entry above.
| Flag | Description |
|---|---|
--channel <name> | Specifies the target channel platform. Accepts: whatsapp telegram discord googlechat slack mattermost signal imessage msteams. |
--account <id> | Targets a specific account ID when you have a multi-account setup for the same platform. Defaults to default if omitted. |
--name <label> | Sets a human-readable display name for the account. Used by add and surfaced in list output. |
When running multiple accounts on the same channel (e.g. two Discord bots), always pass –account <id> explicitly. Omitting it will target the default account, which may not be the one you intend to modify.

Examples
Four working patterns covering the most common channel management tasks.
01 Checking the status of all channels with a live connection probe
openclaw channels status --probe
When to use: Start here when a channel isn’t receiving or sending messages. The –probe flag does active connection testing, not just a config check.
02 Adding a new Discord bot account non-interactively
openclaw channels add --channel discord --account work --name "Work Bot" --token $DISCORD_BOT_TOKEN
Note: Passing –token bypasses the interactive wizard. Store the token in an env var rather than inline to avoid it appearing in shell history.
03 Resolving a Slack user and channel name to their exact IDs
openclaw channels resolve --channel slack "#general" "@jane"
When to use: Run this before setting up routing bindings or –reply-to targets. Slack and Discord both require internal IDs, not display names, for reliable routing.
04 Logging into WhatsApp via QR code
openclaw channels login --channel whatsapp
When to use: Required on first setup, or after a session expiry. The command prints a QR code to your terminal, scan it with WhatsApp on your phone to pair the linked device.
