Summary
External channel plugins (e.g., DingTalk) do not appear in interactive menus for openclaw configure --section channels and openclaw onboard, even though they are properly installed, implemented OnbroadAdapter, and visible in other commands like openclaw channels status.
Steps to reproduce
- Install an external channel plugin dingtalk:
openclaw plugins install https://github.com/soimy/openclaw-channel-dingtalk
- Run:
openclaw configure --section channels
- Observe that only core channels appear in the interactive selection menu
- Run:
openclaw onboard
- External plugins do not appear in the onboarding flow
Expected behavior
External channel plugins should be discoverable and selectable in interactive configuration and onboarding menus, just like core channels.
Actual behavior
Only core channels (Telegram, Discord, Slack, etc.) appear in these menus. External plugins are completely hidden from the interactive user flows, though they work fine in other commands like openclaw channels status.
OpenClaw version
2026.2.15
Operating system
Cross-platform (bug affects all systems)
Install method
npm global / pnpm dev
Logs, screenshots, and evidence
Impact and severity
- Affected users: External plugin developers and users who have linked plugin channels
- Severity: High - blocks plugin discoverability during interactive workflows
- Frequency: 100% reproducible
- Consequence: Users cannot configure external channels interactively, must use command-line flags or manual config file edits instead
Additional information
Root cause
The PLUGIN_REQUIRED_COMMANDS whitelist in src/cli/program/preaction.ts only includes 'message', 'channels', and 'directory'. This controls which commands trigger ensurePluginRegistryLoaded() in the preAction hook.
Without plugin registry initialization, interactive channel selection menus fall back to core-only channels.
Related links
Summary
External channel plugins (e.g., DingTalk) do not appear in interactive menus for
openclaw configure --section channelsandopenclaw onboard, even though they are properly installed, implementedOnbroadAdapter, and visible in other commands likeopenclaw channels status.Steps to reproduce
openclaw plugins install https://github.com/soimy/openclaw-channel-dingtalkopenclaw configure --section channelsopenclaw onboardExpected behavior
External channel plugins should be discoverable and selectable in interactive configuration and onboarding menus, just like core channels.
Actual behavior
Only core channels (Telegram, Discord, Slack, etc.) appear in these menus. External plugins are completely hidden from the interactive user flows, though they work fine in other commands like
openclaw channels status.OpenClaw version
2026.2.15
Operating system
Cross-platform (bug affects all systems)
Install method
npm global / pnpm dev
Logs, screenshots, and evidence
Impact and severity
Additional information
Root cause
The PLUGIN_REQUIRED_COMMANDS whitelist in src/cli/program/preaction.ts only includes 'message', 'channels', and 'directory'. This controls which commands trigger ensurePluginRegistryLoaded() in the preAction hook.
Without plugin registry initialization, interactive channel selection menus fall back to core-only channels.
Related links