--- summary: "CLI reference for `openclaw plugins` (list, install, uninstall, enable/disable, doctor)" read_when: - You want to install or manage in-process Gateway plugins - You want to debug plugin load failures title: "plugins" --- # `openclaw plugins` Manage Gateway plugins/extensions (loaded in-process). Related: - Plugin system: [Plugins](/tools/plugin) - Plugin manifest + schema: [Plugin manifest](/plugins/manifest) - Security hardening: [Security](/gateway/security) ## Commands ```bash openclaw plugins list openclaw plugins info openclaw plugins enable openclaw plugins disable openclaw plugins uninstall openclaw plugins doctor openclaw plugins update openclaw plugins update --all ``` Bundled plugins ship with OpenClaw but start disabled. Use `plugins enable` to activate them. All plugins must ship a `openclaw.plugin.json` file with an inline JSON Schema (`configSchema`, even if empty). Missing/invalid manifests or schemas prevent the plugin from loading and fail config validation. ### Install ```bash openclaw plugins install ``` Security note: treat plugin installs like running code. Prefer pinned versions. Npm specs are **registry-only** (package name + optional version/tag). Git/URL/file specs are rejected. Dependency installs run with `--ignore-scripts` for safety. Supported archives: `.zip`, `.tgz`, `.tar.gz`, `.tar`. Use `--link` to avoid copying a local directory (adds to `plugins.load.paths`): ```bash openclaw plugins install -l ./my-plugin ``` ### Uninstall ```bash openclaw plugins uninstall openclaw plugins uninstall --dry-run openclaw plugins uninstall --keep-files ``` `uninstall` removes plugin records from `plugins.entries`, `plugins.installs`, the plugin allowlist, and linked `plugins.load.paths` entries when applicable. For active memory plugins, the memory slot resets to `memory-core`. By default, uninstall also removes the plugin install directory under the active state dir extensions root (`$OPENCLAW_STATE_DIR/extensions/`). Use `--keep-files` to keep files on disk. `--keep-config` is supported as a deprecated alias for `--keep-files`. ### Update ```bash openclaw plugins update openclaw plugins update --all openclaw plugins update --dry-run ``` Updates only apply to plugins installed from npm (tracked in `plugins.installs`).