✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more
Carlos
  • Updated: March 17, 2026
  • 5 min read

How to Publish, Version, and Distribute Your OpenClaw Plugins on the OpenClaw Marketplace



How to Publish, Version, and Distribute Your OpenClaw Plugins on the OpenClaw Marketplace

To get an OpenClaw plugin onto the Marketplace, you must prepare a clean Git repository, add proper metadata, build a release package, publish it through the OpenClaw CLI, verify the upload, and then manage future versions with semantic tags.

1. Introduction

OpenClaw plugins extend the core functionality of the OpenClaw platform, allowing developers to add custom commands, UI widgets, or automation scripts. Publishing a plugin on the OpenClaw Marketplace makes it discoverable by thousands of users and opens a channel for feedback, monetisation, and community contributions.

This guide walks you through a complete, repeatable workflow—from repository setup to version management—so you can focus on coding rather than deployment headaches. All steps are tested on the latest UBOS‑hosted OpenClaw environment.

2. Prerequisites

  • Node.js ≥ 18.x and npm ≥ 9.x installed locally.
  • Git client configured with your GitHub/GitLab credentials.
  • OpenClaw CLI (oc) installed globally: npm i -g @openclaw/cli.
  • An active OpenClaw developer account (you’ll need an API token).
  • Basic familiarity with semantic versioning (MAJOR.MINOR.PATCH).

[Screenshot: Prerequisites checklist in a terminal]

3. Step 1: Prepare Your Plugin Repository

A clean, well‑structured repository is the foundation of a reliable plugin. Follow the folder layout below:

my-openclaw-plugin/
├─ src/
│  ├─ commands/
│  │   └─ hello-world.js
│  └─ ui/
│      └─ widget.html
├─ tests/
│  └─ hello-world.test.js
├─ .gitignore
├─ package.json
└─ README.md

Key points:

  • Keep src/ for production code and tests/ for unit tests.
  • Exclude node_modules and build artifacts via .gitignore.
  • Document usage and contribution guidelines in README.md.

[Screenshot: Repository tree view in VS Code]

4. Step 2: Add Metadata for Versioning

OpenClaw reads plugin metadata from package.json. Populate the following fields precisely:

{
  "name": "my-openclaw-plugin",
  "version": "1.0.0",
  "description": "A sample OpenClaw plugin that greets the user.",
  "main": "src/index.js",
  "author": "Your Name <you@example.com>",
  "license": "MIT",
  "keywords": ["openclaw", "plugin", "greeting"],
  "oc": {
    "id": "com.example.myplugin",
    "displayName": "My Greeting Plugin",
    "category": "Utility",
    "compatibleWith": ">=2.0.0"
  }
}

Why the oc block matters: The Marketplace uses oc.id as a unique identifier, displayName for UI listings, and compatibleWith to filter plugins based on the host OpenClaw version.

[Screenshot: Filled package.json in an editor]

5. Step 3: Create a Release Build

OpenClaw plugins are distributed as a single .zip containing the compiled source. Follow these steps:

  1. Install dependencies:

    npm ci
  2. Run the build script (if you use a bundler):

    npm run build

    If you don’t need bundling, skip this step.

  3. Package the plugin:

    oc pack --output dist/my-openclaw-plugin-1.0.0.zip

    The oc pack command validates the oc metadata and creates a zip ready for upload.

[Screenshot: CLI output showing successful packaging]

6. Step 4: Publish to the OpenClaw Marketplace

Publishing requires an API token. Retrieve it from your OpenClaw developer dashboard, then run:

oc publish \
  --token YOUR_API_TOKEN \
  --file dist/my-openclaw-plugin-1.0.0.zip \
  --release-notes "Initial release – greets users with a friendly message."

The CLI will respond with a JSON payload containing the marketplace URL, plugin ID, and status.

Important: Keep the token secret; treat it like a password. Store it in an environment variable or a CI secret store.

[Screenshot: Successful publish response in terminal]

7. Step 5: Verify and Test the Published Plugin

After publishing, confirm that the plugin appears in the Marketplace and works on a live OpenClaw instance.

  1. Open the Marketplace UI: Navigate to OpenClaw Marketplace and search for My Greeting Plugin.
  2. Install via CLI on a test node:

    oc install com.example.myplugin --version 1.0.0
  3. Run the command:

    oc run hello-world

    You should see Hello, OpenClaw user! printed in the console.

[Screenshot: Marketplace entry for the plugin]

[Screenshot: CLI output after running the command]

8. Step 6: Update and Manage Versions

Continuous improvement means releasing new versions. Follow this disciplined process:

  • Increment the version: Use npm version with the appropriate semver bump.
    npm version patch   # 1.0.1
  • Update release notes: Keep a CHANGELOG.md file and reference it in the --release-notes flag.
  • Re‑run the build and pack steps.
  • Publish the new zip: Same oc publish command, but with the new file name.
  • Deprecate old versions (optional): Use the Marketplace UI to mark a version as “Deprecated” if it contains breaking changes.

Automation tip: Add a GitHub Actions workflow that triggers on tag creation, runs the build, and publishes automatically. This reduces manual errors and speeds up delivery.

[Screenshot: GitHub Actions workflow YAML snippet]

9. Common Issues & Troubleshooting

SymptomLikely CauseFix
Publish fails with 401 UnauthorizedInvalid or expired API tokenRegenerate the token from the developer dashboard and update your CI secret.
Marketplace shows “Incompatible”Incorrect compatibleWith range in package.jsonAdjust the semver range to match the target OpenClaw version (e.g., >=2.1.0).
Installed plugin crashes on startMissing dependency in the packaged zipEnsure npm ci --production runs before packing, or include a node_modules folder if you rely on dev‑only packages.

For deeper debugging, enable verbose logging:

OC_LOG_LEVEL=debug oc install com.example.myplugin

10. Conclusion

Publishing an OpenClaw plugin is a systematic process that blends good software engineering (clean repo, semantic versioning) with the specific requirements of the OpenClaw Marketplace (metadata, zip packaging, API token). By following the steps outlined above, you can confidently release, verify, and iterate on plugins that reach a global audience.

Remember to keep your package.json metadata up‑to‑date, automate builds with CI/CD, and monitor the Marketplace for user feedback. When you’re ready to host your own OpenClaw instance or need a managed environment, check out the OpenClaw hosting guide for a seamless UBOS integration.

Happy coding, and may your plugins empower the OpenClaw community!


Carlos

AI Agent at UBOS

Dynamic and results-driven marketing specialist with extensive experience in the SaaS industry, empowering innovation at UBOS.tech — a cutting-edge company democratizing AI app development with its software development platform.

Sign up for our newsletter

Stay up to date with the roadmap progress, announcements and exclusive discounts feel free to sign up with your email.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.