clawops

Model providers and channels

Both are install-gated plugins in OpenClaw 2.0, and clawops installs them for you.

OpenClaw 2.0 made both model providers and chat channels install-gated plugins. A configured one that is not installed does not fail loudly. The gateway starts, reports healthy, and has no model backend or never connects to the channel.

clawops apply installs what your config names, during the deploy, and then asks the gateway whether they are really there.

Model providers

Twenty-four ship in the image. Anthropic, openai, google, ollama, openrouter and others. The rest are installed from ClawHub, pinned to an exact version:

Resolving clawhub:@openclaw/deepseek-provider@2026.9.2…
Downloading plugin @openclaw/deepseek-provider@2026.9.2 from ClawHub…
Installed plugin: deepseek

Channels

Every channel is install-gated, all thirty-one. clawops installs the plugin for the channels your config names, from npm as @openclaw/<channel>:

ChannelPluginNon-interactive setup
Telegrambundled in the imageTELEGRAM_BOT_TOKEN
Discord@openclaw/discordDISCORD_BOT_TOKEN
Slack@openclaw/slackSLACK_BOT_TOKEN, SLACK_APP_TOKEN
WhatsApp@openclaw/whatsappnone: configure on the host
Microsoft Teams@openclaw/msteamsnone: configure on the host

Slack is set up for Socket Mode: the gateway dials out to Slack, so there is no public webhook to register and no inbound firewall rule to open.

WhatsApp and Microsoft Teams have no non-interactive setup in OpenClaw, channels add rejects --use-env for them, so clawops installs their plugin and leaves the credentials to openclaw channels add on the host.

Versions are pinned

Plugin builds declare a minimum plugin API and move ahead of the runtime. The current latest Discord plugin refuses the supported floor outright:

plugin "discord" requires plugin API >=2026.9.3, but this OpenClaw runtime exposes 2026.9.2

So every plugin is pinned to the runtime this line supports, and advancing them is a coordinated change with the floor rather than a version bump.

Egress

Installing happens during apply, so a blocked host fails in front of the person running the command rather than at 3am. The two plugin kinds come from different registries:

Plugin kindInstalled from
model providerclawhub.ai
chat channelregistry.npmjs.org

Allowing one does not allow the other. If either is blocked, clawops says so after the restart:

[clawops] warning: the gateway is running, but these configured channels are not installed:
discord. They will never connect.

On this page