Skip to content

v2026.5.12-beta.5 plugin update disables lossless-claw after @beta fallback and leaves stale contextEngine config #81499

@BKF-Gitty

Description

@BKF-Gitty

Summary

During a 2026.5.12-beta.4 -> 2026.5.12-beta.5 update on one macOS npm/pnpm install, configured external plugin lossless-claw had no @beta release, so the updater fell back to @latest. The beta 5 plugin scanner then blocked the installed tree for dangerous patterns in transitive dependency/example files, disabled the plugin, and left stale config references including the configured contextEngine slot.

Core OpenClaw remained healthy after update, but the host lost its configured context engine and now falls back to legacy with stale plugin config warnings.

Environment

  • OpenClaw before: 2026.5.12-beta.4
  • OpenClaw after: 2026.5.12-beta.5 (2cdd69a)
  • Install mode/root: npm/pnpm global install under Homebrew Node prefix
  • OS: macOS
  • Update command:
openclaw update --channel beta --tag 2026.5.12-beta.5 --yes --timeout 1800

Hostnames, usernames, local paths, account IDs, and tokens are intentionally omitted.

What happened

The update completed the core package upgrade, but plugin update output included:

Could not check lossless-claw before update; falling back to installer path: Package not found on npm: @martian-engineering/lossless-claw@beta.
Plugin "lossless-claw" has no beta npm release for @martian-engineering/lossless-claw@beta; using @martian-engineering/lossless-claw@latest instead. Core update can still complete.
WARNING: Plugin "lossless-claw" installed tree contains dangerous code patterns: Shell command execution detected (child_process); Dynamic code execution detected; Environment variable access combined with network send.
Disabled "lossless-claw" after plugin update failure; OpenClaw will continue without it.

After update, config and doctor output showed stale references:

Config warnings:
- plugins.entries.lossless-claw: plugin not found: lossless-claw (stale config entry ignored; remove it from plugins config)
- plugins.allow: plugin not found: lossless-claw (stale config entry ignored; remove it from plugins config)

Doctor:
- plugins.slots.contextEngine: slot references missing plugin "lossless-claw"

Runtime logs also confirmed fallback away from the configured context engine:

[context-engine] Context engine "lossless-claw" is not registered; falling back to default engine "legacy".

openclaw plugins doctor printed the stale config warnings, but still ended with:

No plugin issues detected.

Expected behavior

If a channel-specific plugin install falls back to @latest and the security scanner blocks the resulting tree, the updater should avoid leaving the host in a half-disabled/stale-config state. Possible acceptable outcomes:

  • Keep or restore the previously working plugin version if it was already installed and passed prior validation.
  • Disable the plugin but atomically clean or rewrite dependent config such as plugins.allow, plugins.entries, and plugins.slots.contextEngine.
  • Leave config untouched but emit a high-signal remediation summary that clearly says the context engine was disabled and what command/operator action is needed next.

The scanner may be correct to block this install; the bug is the confusing post-update state and stale context-engine configuration.

Actual post-update state

Healthy:

  • openclaw --version: OpenClaw 2026.5.12-beta.5 (2cdd69a)
  • openclaw gateway status --deep: LaunchAgent loaded, gateway running, CLI and gateway both beta 5, connectivity probe OK
  • Direct agent check through openai/gpt-5.5 / agentHarnessId: codex passed with fallbackUsed: false

Regressed/degraded:

  • lossless-claw absent from selected plugins after update
  • stale plugins.entries.lossless-claw
  • stale plugins.allow reference
  • plugins.slots.contextEngine still points at missing plugin
  • runtime falls back to legacy context engine
  • plugins doctor still says No plugin issues detected after printing related warnings

Likely source areas

  • src/plugins/update.ts
  • src/plugins/install-security-scan.runtime.ts
  • src/plugins/config-activation-shared.ts
  • src/plugins/effective-plugin-ids.ts
  • src/plugins/slots.ts
  • context engine registration/fallback path

Not treated as failures

  • Existing task-audit warnings on the host predated beta 5.
  • Optional model-pricing warnings did not block model routing.
  • I did not force reinstall the plugin or run openclaw doctor --fix, because either would mutate the operator state beyond update/audit verification.

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