Skip to content

[Bug]: External channel plugins do not appear in configure/onboard interactive menus #17266

@soimy

Description

@soimy

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

  1. Install an external channel plugin dingtalk: openclaw plugins install https://github.com/soimy/openclaw-channel-dingtalk
  2. Run: openclaw configure --section channels
  3. Observe that only core channels appear in the interactive selection menu
  4. Run: openclaw onboard
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions