Skip to content

[Bug]: 2026.4.27 browser-control fails because plugin-runtime-deps cannot resolve ajv #74899

@lnxg33k

Description

@lnxg33k

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

  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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions