openclaw - 💡(How to fix) Fix [Bug]: 2026.4.27 browser-control fails because plugin-runtime-deps cannot resolve ajv [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#74899Fetched 2026-05-01 05:40:13
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Author
Timeline (top)
closed ×1commented ×1cross-referenced ×1

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/[email protected] 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 Message

[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

Root Cause

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/[email protected] declares ajv as a dependency.

Fix Action

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.

Code Example

[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
RAW_BUFFERClick to expand / collapse

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/[email protected] 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

  1. Upgrade to OpenClaw 2026.4.27
  2. Start/restart the gateway
  3. Use the browser tool or wait for browser-control plugin startup
  4. 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.

extent analysis

TL;DR

Downgrade to OpenClaw 2026.4.26 to avoid the browser-control plugin failure due to the ajv dependency issue.

Guidance

  • Verify that the @modelcontextprotocol/sdk version 1.29.0 is correctly installed and its dependencies, including ajv, are resolved.
  • Check the runtime-deps mirror configuration to ensure it correctly includes or resolves ajv and ajv-formats required by the @modelcontextprotocol/sdk.
  • Consider manual patching of the runtime deps tree as a temporary workaround, but be aware it's not a stable long-term fix.
  • Monitor for updates to OpenClaw and the @modelcontextprotocol/sdk to resolve the underlying issue.

Example

No code snippet is provided as the issue is related to dependency resolution and configuration.

Notes

The issue appears to be related to a broader regression in the runtime-deps mirror in OpenClaw 2026.4.27, and downgrading to 2026.4.26 is the most straightforward workaround.

Recommendation

Apply the workaround by downgrading to OpenClaw 2026.4.26, as it is a known stable version that avoids the browser-control plugin failure due to the ajv dependency issue.

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…

FAQ

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.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: 2026.4.27 browser-control fails because plugin-runtime-deps cannot resolve ajv [1 comments, 2 participants]