Openclaw Channels Command List

O

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.

FlagDescription
--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.

About the author

Hairun Wicaksana

Hi, I just another vibecoder from Southeast Asia, currently based in Stockholm. Building startup experiments while keeping close to the KTH Innovation startup ecosystem. I focus on AI tools, automation, and fast product experiments, sharing the journey while turning ideas into working software.

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.