openclaw - ✅(Solved) Fix Upgrade breaks plugin path: extensions/feishu → dist/extensions/feishu not auto-migrated [1 pull requests, 1 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#54963Fetched 2026-04-08 01:34:05
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
closed ×1commented ×1cross-referenced ×1locked ×1

Error Message

Invalid config:
- plugins.load.paths: plugin: plugin path not found: /home/ecs-user/.npm-global/lib/node_modules/openclaw/extensions/feishu

Fix Action

Workaround

Manually edit ~/.openclaw/openclaw.json:

{
  "plugins": {
    "load": {
      "paths": [
        "/home/ecs-user/.npm-global/lib/node_modules/openclaw/dist/extensions/feishu"
      ]
    }
  }
}

PR fix notes

PR #55054: fix(doctor): migrate legacy bundled plugin load paths

Description (problem / solution / changelog)

Summary

  • detect legacy bundled plugin load paths that still point at extensions/<id> after packaged builds moved to dist/extensions/<id>
  • teach openclaw doctor --fix to rewrite those stale bundled paths automatically
  • surface the migration in doctor preview warnings so users get an actionable fix hint before startup fails

Why

Users upgrading from older installs can be left with bundled plugin load paths like .../openclaw/extensions/feishu, which no longer exist in packaged builds. That currently blocks startup with plugin path not found, even though the matching bundled plugin now lives under dist/extensions/<id>.

Scope

  • adds a targeted doctor repair for legacy bundled plugin load paths
  • adds regression coverage for both the repair and preview warning paths
  • does not change startup-time auto-migration behavior in this PR

Verification

  • pnpm test -- src/commands/doctor/shared/bundled-plugin-load-paths.test.ts src/commands/doctor/shared/preview-warnings.test.ts
  • pnpm exec oxfmt --check src/commands/doctor/shared/bundled-plugin-load-paths.ts src/commands/doctor/shared/bundled-plugin-load-paths.test.ts src/commands/doctor/shared/preview-warnings.ts src/commands/doctor/shared/preview-warnings.test.ts src/commands/doctor/repair-sequencing.ts

Closes #54963

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • src/commands/doctor/repair-sequencing.ts (modified, +2/-0)
  • src/commands/doctor/shared/bundled-plugin-load-paths.test.ts (added, +202/-0)
  • src/commands/doctor/shared/bundled-plugin-load-paths.ts (added, +171/-0)
  • src/commands/doctor/shared/preview-warnings.test.ts (modified, +40/-0)
  • src/commands/doctor/shared/preview-warnings.ts (modified, +14/-0)

Code Example

Upgrade breaks plugin path: extensions/feishu → dist/extensions/feishu not auto-migrated

---

Invalid config:
- plugins.load.paths: plugin: plugin path not found: /home/ecs-user/.npm-global/lib/node_modules/openclaw/extensions/feishu

---

{
  "plugins": {
    "load": {
      "paths": [
        "/home/ecs-user/.npm-global/lib/node_modules/openclaw/dist/extensions/feishu"
      ]
    }
  }
}
RAW_BUFFERClick to expand / collapse

GitHub Issue - OpenClaw 插件路径升级 Bug

标题

Upgrade breaks plugin path: extensions/feishu → dist/extensions/feishu not auto-migrated

正文

Bug Description

After upgrading OpenClaw, the plugin path changed from extensions/feishu to dist/extensions/feishu, but the configuration file was not auto-migrated, causing Gateway to fail to start.

Reproduction Steps

  1. Upgrade OpenClaw (e.g., 2026.3.13 → latest)
  2. Run openclaw gateway start
  3. Error: plugin path not found: /home/ecs-user/.npm-global/lib/node_modules/openclaw/extensions/feishu

Error Message

Invalid config:
- plugins.load.paths: plugin: plugin path not found: /home/ecs-user/.npm-global/lib/node_modules/openclaw/extensions/feishu

Workaround

Manually edit ~/.openclaw/openclaw.json:

{
  "plugins": {
    "load": {
      "paths": [
        "/home/ecs-user/.npm-global/lib/node_modules/openclaw/dist/extensions/feishu"
      ]
    }
  }
}

Expected Behavior

  1. openclaw doctor --fix should auto-fix the path
  2. Or upgrade script should auto-migrate the config

Environment

  • OS: Linux 6.8.0-100-generic (x64)
  • Node: v22.22.1
  • OpenClaw: 2026.3.13

📤 提交步骤

  1. 访问:https://github.com/openclaw/openclaw/issues/new
  2. 登录 GitHub
  3. 粘贴标题和正文
  4. 点击 "Submit new issue"

创建时间:2026-03-26 14:24 创建者:岳洋(洋哥)

extent analysis

Fix Plan

To fix the plugin path issue after upgrading OpenClaw, follow these steps:

  • Manually update the openclaw.json configuration file:
    • Open ~/.openclaw/openclaw.json in a text editor.
    • Update the plugins.load.paths section to point to the new plugin path:

{ "plugins": { "load": { "paths": [ "/home/ecs-user/.npm-global/lib/node_modules/openclaw/dist/extensions/feishu" ] } } }

* Alternatively, create a fix for the `openclaw doctor --fix` command to auto-update the configuration file:
  * Modify the `openclaw doctor` script to check for outdated plugin paths and update them to the new format.
  * Example code:
    ```javascript
const fs = require('fs');
const path = require('path');

// ...

const configPath = '~/.openclaw/openclaw.json';
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));

// Update plugin paths
config.plugins.load.paths = config.plugins.load.paths.map((p) => {
  if (p.includes('extensions')) {
    return p.replace('extensions', 'dist/extensions');
  }
  return p;
});

fs.writeFileSync(configPath, JSON.stringify(config, null, 2));

Verification

To verify that the fix worked:

  • Run openclaw gateway start to check if the Gateway starts successfully.
  • Check the openclaw.json configuration file to ensure that the plugin paths have been updated correctly.

Extra Tips

  • Make sure to backup the openclaw.json configuration file before making any changes.
  • If you're using a version control system, commit the updated configuration file to ensure that the changes are persisted.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING