#23540: fix(compat): add legacy manifest keys for clawdbot and moltbot plugins
size: XS
Cluster:
OpenClaw Plugin Enhancements
## Problem
Plugins published before the OpenClaw rename may use `clawdbot` or `moltbot` as their manifest key in `package.json`. Currently, `LEGACY_MANIFEST_KEYS` is empty, causing the plugin loader to only recognize `openclaw` manifests.
This results in warning spam for users with older plugins:
```
Config warnings: plugin id mismatch (manifest uses "jfl", entry hints "moltbot-jfl")
```
## Solution
Add `clawdbot` and `moltbot` to `LEGACY_MANIFEST_KEYS` so the plugin loader checks all three:
- `openclaw` (current)
- `clawdbot` (legacy)
- `moltbot` (legacy)
## Testing
- Verified the plugin loader in `src/shared/frontmatter.ts` already iterates over `[MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS]`
- One-line change, minimal risk
## Impact
Backwards compatibility for all plugins created before the OpenClaw rename.
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Added `clawdbot` and `moltbot` to `LEGACY_PROJECT_NAMES` for backwards compatibility with plugins published before the OpenClaw rename.
**Key changes:**
- Populated previously empty `LEGACY_PROJECT_NAMES` array with `["clawdbot", "moltbot"]`
- Added documentation explaining the legacy naming eras
- `LEGACY_MANIFEST_KEYS` now exports these legacy names for use in manifest parsing
**Potential incomplete fix:**
The change enables legacy key support in `src/shared/frontmatter.ts` (used for hooks/skills), but `getPackageManifestMetadata()` in `src/plugins/manifest.ts:150` only checks the current `MANIFEST_KEY` ("openclaw"). Legacy plugins with `moltbot` or `clawdbot` keys in package.json may still trigger id mismatch warnings because their metadata won't be found during plugin discovery.
<h3>Confidence Score: 3/5</h3>
- Safe to merge with minor risk of incomplete fix
- The change is backwards compatible and correct in adding legacy keys to the constant. However, `getPackageManifestMetadata()` doesn't use these legacy keys, which may leave the id mismatch warnings unresolved for some plugins. The change won't break anything but may not fully solve the stated problem.
- Check `src/plugins/manifest.ts` - `getPackageManifestMetadata()` may need updating to check legacy keys
<sub>Last reviewed commit: 34d5399</sub>
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#2556: fix(plugin-install): handle existing plugins and filter workspace deps
by longmaba · 2026-01-27
77.4%
#7090: fix: plugin install uses manifest ID for folder name (#2796)
by dial481 · 2026-02-02
76.8%
#11602: fix(config): skip stale legacy config files when openclaw.json exists
by akoscz · 2026-02-08
76.6%
#20424: Fix plugin extension path traversal in discovery/install
by markmusson · 2026-02-18
76.5%
#11439: fix(security): warn on relative OPENCLAW_CONFIG_PATH and disable co...
by coygeek · 2026-02-07
75.8%
#4263: fix(plugins): default configSchema when missing from manifest
by SoulSniper-V2 · 2026-01-30
75.6%
#21871: fix(plugins): suppress false duplicate warning when user-installed ...
by hydro13 · 2026-02-20
75.0%
#4881: docs(plugin): clarify memory-lancedb is bundled (no npm install nee...
by AverageSuami · 2026-01-30
74.6%
#12849: fix(plugins): fallback bundled channel specs when npm install retur...
by vincentkoc · 2026-02-09
73.9%
#7611: fix: migrate channels.telegram.token to botToken on config load
by luiginotmario · 2026-02-03
73.8%