Skip to content

openclaw.extensions missing from package.json breaks plugin installer on openclaw v2026.3.8+ #14

@openclaw-bitrouterai

Description

@openclaw-bitrouterai

Problem

The openclaw plugin installer (v2026.3.8+) requires a openclaw.extensions array in package.json to locate the plugin entry point. Without it, openclaw plugins install <path> fails with:

package.json missing openclaw.extensions; update the plugin package to include openclaw.extensions
(for example ["./dist/index.js"]). See https://docs.openclaw.ai/help/troubleshooting#plugin-install-fails-with-missing-openclaw-extensions

The package currently only has openclaw.id:

"openclaw": {
  "id": "bitrouter"
}

Fix

Add extensions field (included in PR #11):

"openclaw": {
  "id": "bitrouter",
  "extensions": ["./dist/index.js"]
}

Impact

Any user trying to install the plugin via openclaw plugins install on openclaw v2026.3.8+ gets a hard failure. The plugin only works if manually added to plugins.load.paths in openclaw.json (the old path-based approach), which also produces a persistent plugin id mismatch warning because the installer derives a hint ID from the path segment (dist) rather than the manifest.

Notes

After adding openclaw.extensions, there is still a cosmetic warning:

plugin id mismatch (manifest uses "bitrouter", entry hints "openclaw-plugin")

This is because openclaw derives its hint from the npm package name (@bitrouter/openclaw-pluginopenclaw-plugin) rather than the openclaw.id field. Worth checking whether the openclaw installer should prefer openclaw.id over the package name as the canonical hint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions