Troubleshooting2026-02-04

Fix 'package.json missing openclaw.extensions' error

Plugin install failed? Use the unified channels package instead.

By: LazyDev•
#Troubleshooting#Plugins

TL;DR: The Instant Fix

The Problem: Installing an OpenClaw plugin fails with package.json missing openclaw.extensions. The plugin package is outdated and doesn't include the required metadata.

The Error: package.json is missing openclaw.extensions field

The Solution:

  1. Quick Fix: Use the unified @openclaw-extensions/channels package instead
  2. Real Fix: Contact plugin maintainer to add openclaw.extensions metadata

Deploy on Vultr (High Availability & Free Credit) (Plugin ecosystems break locally. A clean cloud environment + pinned versions reduces surprise breakage.)


The Log: What You're Seeing

The Error:

[INFO] Installing plugin: @openclaw-extensions/my-plugin
[ERROR] Plugin validation failed
Error: package.json is missing openclaw.extensions field

Package validation failed for: @openclaw-extensions/my-plugin
Expected format:
{
  "openclaw": {
    "extensions": {
      "type": "provider",
      "entry": "./dist/index.js"
    }
  }
}

[Agent] Unable to load plugin
[CLI] Installation aborted

Context: This error occurs when installing OpenClaw plugins that were created before the unified extensions schema was standardized. The plugin package exists but lacks the required openclaw.extensions metadata in its package.json.

Observed Behavior:

  • Plugin download succeeds
  • Validation immediately fails
  • OpenClaw refuses to load the plugin
  • No workaround in the UI

Why This Happens (It's a Metadata Schema Mismatch)

This is a Plugin Metadata Schema Issue.

OpenClaw's plugin system assumes:

  • All plugins include openclaw.extensions metadata
  • Metadata format matches the current schema
  • Plugin maintainers update packages when schema changes

But you're installing:

  • An outdated plugin created before schema standardization
  • A third-party package that doesn't follow OpenClaw conventions
  • A deprecated plugin that hasn't been updated

The Schema Evolution Problem

EraPlugin FormatMetadata RequiredStatus
Early OpenClawAd-hoc, unstandardizedOptional or noneāŒ Deprecated
TransitionalMixed formatsVaried by plugināš ļø May break
CurrentUnified schemaopenclaw.extensions requiredāœ… Standard

The error means: The plugin you're trying to install was created before OpenClaw standardized the openclaw.extensions metadata field. Current versions of OpenClaw require this field for all plugins.


āš ļø Critical Crash Warning

If this step fails not with an error message, but with a sudden crash or spawn EINVAL, do not keep retrying. Your environment may be corrupted. Go to the Spawn EINVAL Decision System →


The easiest fix is to use the official @openclaw-extensions/channels package, which includes all common integrations with proper metadata.

Step 1: Uninstall the Broken Plugin

# Remove the problematic plugin
openclaw plugin remove @openclaw-extensions/my-plugin

# Or manually delete from node_modules
rm -rf node_modules/@openclaw-extensions/my-plugin

Step 2: Install the Unified Package

# Install the official extensions package
npm install -g @openclaw-extensions/channels

# Or using OpenClaw CLI
openclaw plugin install @openclaw-extensions/channels

Step 3: Verify Installation

# Check installed plugins
openclaw plugin list

# Should show:
# @openclaw-extensions/channels (installed)

Why This Works: The unified package is maintained by the OpenClaw team and includes all standard integrations (Slack, Discord, Teams, etc.) with correct metadata.


Solution B: Manually Add Metadata (For Custom Plugins)

If you're developing your own plugin or need to use a specific third-party plugin, you can manually add the required metadata.

Step 1: Locate the Plugin's package.json

# Find the plugin directory
cd node_modules/@openclaw-extensions/my-plugin

# Or if globally installed
cd /usr/local/lib/node_modules/@openclaw-extensions/my-plugin

Step 2: Edit package.json

Add the openclaw.extensions field:

{
  "name": "@openclaw-extensions/my-plugin",
  "version": "1.0.0",
  "openclaw": {
    "extensions": {
      "type": "provider",
      "entry": "./dist/index.js",
      "schema": "1.0"
    }
  }
}

Step 3: Reload OpenClaw

# Restart OpenClaw to pick up changes
openclaw restart

# Or if running as service
systemctl restart openclaw

āš ļø Warning: This is a temporary fix. If you update the plugin, your changes will be overwritten. Contact the plugin maintainer to add the metadata permanently.


Solution C: Pin OpenClaw Version (Last Resort)

If you must use an outdated plugin, you can downgrade OpenClaw to a version that didn't require openclaw.extensions metadata.

Step 1: Check Plugin Requirements

# Check the plugin's documentation
# Look for "Compatible with OpenClaw version X.Y.Z"

Step 2: Downgrade OpenClaw

# Uninstall current version
npm uninstall -g openclaw

# Install specific version
npm install -g openclaw@<compatible-version>

# Example:
# npm install -g openclaw@0.5.12

āš ļø Warning: Downgrading exposes you to security vulnerabilities and bugs that were fixed in newer versions. Only do this if absolutely necessary.


The "Survival" Recommendation

Stop debugging plugin metadata mismatches.

Every hour you spend editing package.json files, hunting for compatible versions, or manually adding metadata is an hour you're not shipping.

Plugin ecosystems break locally. A clean cloud environment + pinned versions reduces surprise breakage.

Local Development vs Cloud VPS Comparison

IssueLocal DevelopmentCloud VPS (Vultr)
Plugin compatibilityMixed versions, breaks oftenFresh install, all current
Metadata schemaOutdated plugins cause errorsEverything standardized
Debug time2-4 hours (version hunting)0 minutes (works immediately)
UpdatesManual, breaks thingsControlled, tested
Cost"Free" (but your time = billable hours)Hourly billing options

Deploy on Vultr (High Availability & Free Credit) (Plugin ecosystems break locally. A clean cloud environment + pinned versions reduces surprise breakage.)


Complete Working Example

Verified Plugin Installation

# 1. Remove broken plugin (if installed)
openclaw plugin remove @openclaw-extensions/my-plugin

# 2. Clear npm cache
npm cache clean --force

# 3. Install unified extensions package
npm install -g @openclaw-extensions/channels

# 4. Verify installation
openclaw plugin list

# Output:
# Installed plugins:
# - @openclaw-extensions/channels (v2.1.0)
#   - slack: Enabled
#   - discord: Enabled
#   - teams: Enabled

# 5. Test plugin functionality
openclaw test --plugin slack

# Success: Plugin loaded and functional

Docker Alternative (Bypasses Plugin Issues)

FROM node:18-alpine

# Install OpenClaw
RUN npm install -g openclaw

# Install unified extensions
RUN npm install -g @openclaw-extensions/channels

# Set working directory
WORKDIR /app

CMD ["openclaw"]
# Build and run
docker build -t openclaw-with-plugins .
docker run -it --rm openclaw-with-plugins

# Plugins work immediately in fresh container

FAQ

Q: Why did this plugin work before but not now?

A: OpenClaw updated its plugin schema to require openclaw.extensions metadata. Plugins created before this change don't have the required field. You either need to use a newer version of the plugin or manually add the metadata.

Q: Can I contact the plugin author to fix this?

A: Yes, and you should. Open an issue on the plugin's GitHub repository or contact the maintainer. The fix is simple — they just need to add the openclaw.extensions field to their package.json.

Q: What if the plugin is abandoned?

A: Use the unified @openclaw-extensions/channels package instead. It includes all common integrations and is actively maintained. If you need custom functionality, consider forking the plugin and adding the metadata yourself.

Q: Will manually editing package.json survive updates?

A: No. When you update the plugin (npm update), your changes will be overwritten. This is a temporary workaround. The permanent fix is for the plugin maintainer to add the metadata.

Q: Is downgrading OpenClaw worth it?

A: Usually not. Downgrading exposes you to security vulnerabilities and bugs that were fixed in newer versions. Use the unified extensions package or find an alternative plugin that's actively maintained.

Q: How do I prevent this in the future?

A: Pin your OpenClaw and plugin versions in package.json. Use "openclaw": "1.2.3" instead of "openclaw": "latest". Test updates in a staging environment before deploying to production. Deploy on a VPS where you can snapshot and rollback easily.



Bottom Line: Plugin metadata errors are a schema mismatch problem.

Use the unified @openclaw-extensions/channels package or pin your versions to avoid breakage.

Deploy on Vultr (High Availability & Free Credit) (Plugin ecosystems break locally. A clean cloud environment + pinned versions reduces surprise breakage.)


Still Stuck? Check Your Hardware

Sometimes the code is fine, but the GPU is simply refusing to cooperate. Before you waste another hour debugging, compare your specs against the Hardware Reality Table to see if you are fighting impossible physics.

Bookmark this site

New fixes are added as soon as they appear on GitHub Issues.

Browse Error Index →