Bug type
Regression (worked before, now fails)
Summary
After upgrading to OpenClaw 2026.4.27, the bundled browser-control plugin can fail to start because the plugin runtime dependency mirror cannot resolve ajv, even though @modelcontextprotocol/sdk@1.29.0 declares ajv as a dependency.
This appears to be the same runtime-deps mirror class as the recent sqlite-vec / chokidar issues, but affecting the MCP SDK AJV validator path used by browser-control.
Error
[plugins] plugin service failed (browser-control, plugin=browser):
Cannot find package 'ajv' imported from ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.27-<hash>/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
Did you mean to import "ajv/dist/ajv.js"?
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'ajv' imported from ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.27-<hash>/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
Environment
- OpenClaw:
2026.4.27
- OS: Linux x64
- Node:
22.x
- Install method: npm global
- Gateway: systemd user service
- Affected plugin:
browser-control
- Runtime deps path:
~/.openclaw/plugin-runtime-deps/openclaw-2026.4.27-<hash>/
Steps to reproduce
- Upgrade to OpenClaw
2026.4.27
- Start/restart the gateway
- Use the browser tool or wait for browser-control plugin startup
- Observe browser-control failing with
ERR_MODULE_NOT_FOUND for ajv
Expected behavior
The browser-control plugin should start successfully. The runtime-deps mirror should include or resolve ajv and ajv-formats required by @modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.
Actual behavior
The browser-control plugin fails to start with ERR_MODULE_NOT_FOUND for ajv.
Additional context
This appears related to the broader runtime-deps mirror regression already reported for sqlite-vec and chokidar in 2026.4.27, but this report tracks the ajv/MCP SDK/browser-control variant specifically.
Manual local patching of the runtime deps tree can work around it, but it is not stable or appropriate as a long-term fix.
Workaround
Downgrading to 2026.4.26 avoided the browser-control ajv failure in this environment. Manual patching/copying dependencies into the generated runtime-deps tree may also temporarily restore browser-control, but the generated tree can be rebuilt later.
Bug type
Regression (worked before, now fails)
Summary
After upgrading to OpenClaw
2026.4.27, the bundled browser-control plugin can fail to start because the plugin runtime dependency mirror cannot resolveajv, even though@modelcontextprotocol/sdk@1.29.0declaresajvas a dependency.This appears to be the same runtime-deps mirror class as the recent
sqlite-vec/chokidarissues, but affecting the MCP SDK AJV validator path used by browser-control.Error
Environment
2026.4.2722.xbrowser-control~/.openclaw/plugin-runtime-deps/openclaw-2026.4.27-<hash>/Steps to reproduce
2026.4.27ERR_MODULE_NOT_FOUNDforajvExpected behavior
The browser-control plugin should start successfully. The runtime-deps mirror should include or resolve
ajvandajv-formatsrequired by@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.Actual behavior
The browser-control plugin fails to start with
ERR_MODULE_NOT_FOUNDforajv.Additional context
This appears related to the broader runtime-deps mirror regression already reported for
sqlite-vecandchokidarin2026.4.27, but this report tracks theajv/MCP SDK/browser-control variant specifically.Manual local patching of the runtime deps tree can work around it, but it is not stable or appropriate as a long-term fix.
Workaround
Downgrading to
2026.4.26avoided the browser-controlajvfailure in this environment. Manual patching/copying dependencies into the generated runtime-deps tree may also temporarily restore browser-control, but the generated tree can be rebuilt later.