-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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-plugin → openclaw-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.