Summary
openclaw 2026.4.20 hard-imports @larksuiteoapi/node-sdk from the Feishu dist bundle, but the top-level package manifest does not declare that dependency.
On a clean global install, openclaw status --deep can fail until the module is installed manually:
Error: Cannot find package '@larksuiteoapi/node-sdk'
Evidence
Top-level manifest does not declare the dependency:
node -e "const p=require('/usr/local/lib/node_modules/openclaw/package.json'); console.log(JSON.stringify({version:p.version,dep:p.dependencies?.['@larksuiteoapi/node-sdk']||null,opt:p.optionalDependencies?.['@larksuiteoapi/node-sdk']||null},null,2))"
Output on 2026.4.20:
{
"version": "2026.4.20",
"dep": null,
"opt": null
}
But the built Feishu bundle imports it directly:
/usr/local/lib/node_modules/openclaw/dist/extensions/feishu/monitor-CHPxutCS.js:20:import * as Lark from "@larksuiteoapi/node-sdk";
/usr/local/lib/node_modules/openclaw/dist/extensions/feishu/client-yWGpoGkZ.js:3:import * as Lark from "@larksuiteoapi/node-sdk";
There is also a nested dist manifest containing the dependency:
/usr/local/lib/node_modules/openclaw/dist/extensions/feishu/package.json:7: "@larksuiteoapi/node-sdk": "^1.60.0",
Repro
- Install
[email protected] on a clean machine/global prefix.
- Run
openclaw status --deep.
- Observe failure when the Feishu bundle path is loaded and
@larksuiteoapi/node-sdk is absent.
Workaround
Manual install unblocks it:
npm i -g @larksuiteoapi/node-sdk
Expected
Either:
- declare
@larksuiteoapi/node-sdk in the main package manifest so global installs pull it in, or
- ensure Feishu code is lazy/optional and does not hard-import the dependency on hosts that do not use Feishu.
Impact
This affects clean installs/upgrades/rollbacks of 2026.4.20+ and creates a false baseline-failure blocker unrelated to the user's configured channels.
Summary
openclaw2026.4.20 hard-imports@larksuiteoapi/node-sdkfrom the Feishu dist bundle, but the top-level package manifest does not declare that dependency.On a clean global install,
openclaw status --deepcan fail until the module is installed manually:Evidence
Top-level manifest does not declare the dependency:
node -e "const p=require('/usr/local/lib/node_modules/openclaw/package.json'); console.log(JSON.stringify({version:p.version,dep:p.dependencies?.['@larksuiteoapi/node-sdk']||null,opt:p.optionalDependencies?.['@larksuiteoapi/node-sdk']||null},null,2))"Output on 2026.4.20:
{ "version": "2026.4.20", "dep": null, "opt": null }But the built Feishu bundle imports it directly:
There is also a nested dist manifest containing the dependency:
Repro
[email protected]on a clean machine/global prefix.openclaw status --deep.@larksuiteoapi/node-sdkis absent.Workaround
Manual install unblocks it:
Expected
Either:
@larksuiteoapi/node-sdkin the main package manifest so global installs pull it in, orImpact
This affects clean installs/upgrades/rollbacks of 2026.4.20+ and creates a false baseline-failure blocker unrelated to the user's configured channels.