openclaw - 💡(How to fix) Fix npm-installed third-party channel plugins can load but cannot be configured through the official configure flow

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

A third-party channel plugin installed from npm can be loaded successfully by OpenClaw and can expose a channel capability, but it does not appear in the official configuration flow:

openclaw configure --section channels

As a result, users cannot configure the channel through the official configure flow. The practical workarounds are either manually editing openclaw.json or relying on ClawHub/catalog metadata.

Manually editing openclaw.json should not be the primary workaround. It requires users to understand internal config paths, schema details, and credential fields, and it increases the risk of invalid config or secret/token exposure.

Error Message

If the intended product direction is that third-party channels must be installed through ClawHub to appear in the configure flow, then npm installs should warn clearly when the package declares a channel plugin:

Root Cause

Because the plugin is:

Fix Action

Fix / Workaround

As a result, users cannot configure the channel through the official configure flow. The practical workarounds are either manually editing openclaw.json or relying on ClawHub/catalog metadata.

Manually editing openclaw.json should not be the primary workaround. It requires users to understand internal config paths, schema details, and credential fields, and it increases the risk of invalid config or secret/token exposure.

Why manual config editing is not an acceptable primary workaround

Code Example

openclaw configure --section channels

---

openclaw plugins install @dingtalk-real-ai/dingtalk-connector

---

openclaw plugins inspect dingtalk-connector --json

---

{
     "status": "loaded",
     "origin": "global",
     "install": {
       "source": "npm"
     },
     "channelIds": ["dingtalk-connector"]
   }

---

openclaw configure --section channels

---

openclaw plugins install clawhub:liangzimixin

---

openclaw plugins install <npm-package>

---

openclaw configure --section channels
openclaw channels list --all
RAW_BUFFERClick to expand / collapse

Summary

A third-party channel plugin installed from npm can be loaded successfully by OpenClaw and can expose a channel capability, but it does not appear in the official configuration flow:

openclaw configure --section channels

As a result, users cannot configure the channel through the official configure flow. The practical workarounds are either manually editing openclaw.json or relying on ClawHub/catalog metadata.

Manually editing openclaw.json should not be the primary workaround. It requires users to understand internal config paths, schema details, and credential fields, and it increases the risk of invalid config or secret/token exposure.

Environment

  • OpenClaw: 2026.5.7 (eeef486)
  • OS: macOS
  • OpenClaw install method: npm/global
  • Affected plugin examples:

Steps to reproduce

Using the DingTalk plugin as an example:

  1. Install a third-party channel plugin from npm:

    openclaw plugins install @dingtalk-real-ai/dingtalk-connector
  2. Inspect the plugin:

    openclaw plugins inspect dingtalk-connector --json
  3. The plugin is loaded and exposes a channel:

    {
      "status": "loaded",
      "origin": "global",
      "install": {
        "source": "npm"
      },
      "channelIds": ["dingtalk-connector"]
    }
  4. The package also declares channel metadata in:

    • package.json#openclaw.channels
    • package.json#openclaw.channel
    • openclaw.plugin.json#channelConfigs
  5. Run the official configure command:

    openclaw configure --section channels

Expected behavior

Because the plugin is:

  • installed through the official openclaw plugins install command
  • successfully loaded by OpenClaw
  • exposing channelIds
  • declaring channel metadata in package.json / openclaw.plugin.json

openclaw configure --section channels should offer that channel as a configurable option.

Users should be able to configure the channel through the official configure flow without manually editing openclaw.json.

Actual behavior

The plugin is loaded, but it does not appear in the channel selection list in openclaw configure --section channels.

This means users cannot configure the channel through the official configure flow.

Comparison: ClawHub-backed install path

Another third-party channel plugin, liangzimixin, previously showed a similar behavior on the npm/local install path: the plugin could load, but configure/channel discovery was unreliable or missing.

After installing it through ClawHub:

openclaw plugins install clawhub:liangzimixin

the channel appears in the configure/channel discovery flow.

This suggests the issue is not the channel plugin runtime itself, but that the npm install path is not feeding the plugin-declared channel metadata into configure/channel discovery.

Why manual config editing is not an acceptable primary workaround

Manual editing of openclaw.json should not be the primary workaround because:

  • users need to know internal config paths such as channels.<id>.accounts.default
  • users need to understand each channel's schema
  • fields are easy to get wrong, and errors may not be easy to diagnose
  • writing secrets/tokens directly into config is riskier
  • plugin authors already declare channel metadata in package/manifest metadata, but the official configure flow does not consume it
  • openclaw channels add only covers simple token/password/user-id style mappings and may not represent more complex channel schemas

The official configure flow should be able to consume channel metadata from npm-installed plugins.

Impact

This affects third-party channel plugin authors and users.

The current experience is:

openclaw plugins install <npm-package>

The command succeeds and the plugin loads, but the user still cannot configure the channel through the official configure command.

This makes the plugin appear broken and pushes plugin authors toward asking users to manually edit config files.

Suggested fix

When an npm-installed plugin declares a channel capability and channel metadata, OpenClaw should persist or derive that metadata into the channel catalog used by:

openclaw configure --section channels
openclaw channels list --all

Suggested metadata sources:

  • package.json#openclaw.channels
  • package.json#openclaw.channel
  • package.json#openclaw.install
  • openclaw.plugin.json#channelConfigs

If the intended product direction is that third-party channels must be installed through ClawHub to appear in the configure flow, then npm installs should warn clearly when the package declares a channel plugin:

This package declares a channel plugin. npm-installed channel plugins may not appear in openclaw configure. Use openclaw plugins install clawhub:<package> for guided channel setup.

Otherwise, npm-installed channel plugins end up in a partially usable state: install succeeds, runtime loading succeeds, but users cannot configure the channel through the official setup path.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Because the plugin is:

  • installed through the official openclaw plugins install command
  • successfully loaded by OpenClaw
  • exposing channelIds
  • declaring channel metadata in package.json / openclaw.plugin.json

openclaw configure --section channels should offer that channel as a configurable option.

Users should be able to configure the channel through the official configure flow without manually editing openclaw.json.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix npm-installed third-party channel plugins can load but cannot be configured through the official configure flow