Skip to content

openclaw-package-valid

OpenClaw package metadata must declare valid extension entries

Severity error (disabled)
Autofix -
Since v0.21.0
Repo Types openclaw-plugin
Category OpenClaw

Why

OpenClaw reads runtime entrypoint metadata from package.json, separately from its native manifest. A non-object openclaw or non-array openclaw.extensions rejects entrypoint discovery. Every array item must be a non-empty string. Missing or null openclaw metadata or extensions permit conventional index entrypoint fallback.

When explicit extensions are declared, a nonempty openclaw.runtimeExtensions array must contain non-empty strings and have the same length as openclaw.extensions. Entries correspond by index. An empty array or a non-array value means no explicit runtime mapping, matching the native loader. Runtime metadata is ignored without explicit source entries. Invalid mappings are reported here; runtime path containment and optional existence checks belong to openclaw-resources.

Activation

Opt-in with --rule openclaw-package-valid or enabled: true while native plugin coverage expands.

How to fix

Use an object for openclaw, and an array of non-empty path strings for extensions when declaring explicit entrypoints. package.json uses JSON, while the native manifest also accepts JSON5. Keep package metadata within the native loader’s 16 MiB limit. A package.json is not mandatory for a native plugin with a conventional index entrypoint. No autofix is provided.

See manifest sources for the pinned loader source. Runtime file existence is an optional check in openclaw-resources, because source checkouts often have not built their distribution files.

Configuration

rules:
  openclaw-package-valid:
    enabled: false  # true | false | auto
    severity: error

Run skillsaw explain openclaw-package-valid to see this documentation and the rule's effective configuration in your terminal.