openclaw/docs/cli/plugins.md
Peter Steinberger 355181c0af
feat(plugins): manage multiple plugins in one CLI command (#149910)
* feat(plugins): manage multiple plugins in one CLI command

* test(plugins): split multi-ID uninstall coverage

* fix(plugins): wait for rejected lifecycle admission in CLI batches

* fix(gateway): capture candidate plugin records before watcher checks
2026-09-16 04:10:52 -07:00

8.8 KiB

summary read_when title sidebarTitle
CLI reference for `openclaw plugins` (init, build, validate, list, install, reload, marketplace, uninstall, enable/disable, doctor)
You want to install or manage Gateway plugins or compatible bundles
You want to scaffold or validate a simple tool plugin
You want to debug plugin load failures
Plugins CLI Plugins

openclaw plugins

Manage Gateway plugins, hook packs, and compatible bundles.

End-user guide for installing, enabling, and troubleshooting plugins. Quick examples for install, list, update, uninstall, and publishing. Bundle compatibility model. Manifest fields and config schema. Security hardening for plugin installs.

Commands

openclaw plugins list [--enabled] [--verbose] [--json]
openclaw plugins search <query> [--limit <n>] [--json]
openclaw plugins install <path-or-spec> [--link] [--force] [--pin] [--accept-capabilities] [--acknowledge-install-policy-warning] [--marketplace <source>]
openclaw plugins inspect <id> [--runtime] [--json]
openclaw plugins inspect --all [--runtime] [--json]
openclaw plugins info <id>                    # alias for inspect
openclaw plugins enable <ids...> [--accept-capabilities]
openclaw plugins disable <ids...>
openclaw plugins reload <ids...> [--accept-capabilities] [--json]
openclaw plugins uninstall <ids...> [--dry-run] [--keep-files] [--force]
openclaw plugins update <ids-or-npm-specs...> | --all [--dry-run]
openclaw plugins registry [--refresh] [--json]
openclaw plugins doctor [--json]
openclaw plugins init <id> [--name <name>] [--type tool|provider|feature] [--directory <path>]
openclaw plugins build [--root <path>] [--entry <path>] [--check]
openclaw plugins validate [--root <path>] [--entry <path>] [--json]
openclaw plugins pack [--root <path>] [--out <file.tgz>] [--json]
openclaw plugins marketplace entries [--offline] [--feed-profile <name>] [--json]
openclaw plugins marketplace list <source> [--json]
openclaw plugins marketplace refresh [--feed-profile <name>] [--expected-sha256 <sha256>] [--json]

For slow install, inspect, uninstall, or registry-refresh investigation, run the command with OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1. The trace writes phase timings to stderr and keeps JSON output parseable. See Debugging.

In Nix mode (`OPENCLAW_NIX_MODE=1`), `openclaw.json` is immutable. `install`, `update`, `uninstall`, `enable`, and `disable` all refuse to run. Manage those choices in the Nix source for this install (`programs.openclaw.config` or `instances..config` for nix-openclaw), then rebuild. Reload remains available when no new capability consent needs to be recorded; it preserves config and installation state. See the agent-first [Quick Start](https://github.com/openclaw/nix-openclaw#quick-start). Bundled plugins ship with OpenClaw. Some are enabled by default (for example bundled model providers, bundled speech providers, and the bundled browser plugin); others require `plugins enable`.

Native OpenClaw plugins ship openclaw.plugin.json with an inline JSON Schema (configSchema, even if empty). Compatible bundles use their own bundle manifests instead.

plugins list shows Format: openclaw or Format: bundle. Verbose list/info output also shows the bundle subtype (agent (Agent Plugins), codex, claude, or cursor) plus detected bundle capabilities.

Plugins pages

This page is an index. openclaw plugins is documented on six pages, one per reader job. Open the page that matches your task.

Page Read it when
Author plugins You are scaffolding, building, validating, or packing a plugin project.
Install plugins You are installing from ClawHub, npm, git, a path, an archive, or a marketplace.
List installed plugins You want the installed inventory, discovery diagnostics, or the plugin index.
Uninstall and update plugins You are removing or reloading a plugin, or updating its version and source.
Inspect and diagnose plugins You need plugin identity, runtime registrations, load errors, or registry state.
Marketplace feeds You are browsing, listing, or refreshing a marketplace or hosted signed feed.

Where each section moved

Every section anchor from the previous single-page version keeps its id here, so an existing link such as /cli/plugins#registry still resolves. Each entry points at the page that now holds the content.