{ "title": "`openclaw plugins`", "content": "Manage Gateway plugins/extensions (loaded in-process).\n\n* Plugin system: [Plugins](/plugin)\n* Plugin manifest + schema: [Plugin manifest](/plugins/manifest)\n* Security hardening: [Security](/gateway/security)\n\nBundled plugins ship with OpenClaw but start disabled. Use `plugins enable` to\nactivate them.\n\nAll plugins must ship a `openclaw.plugin.json` file with an inline JSON Schema\n(`configSchema`, even if empty). Missing/invalid manifests or schemas prevent\nthe plugin from loading and fail config validation.\n\nSecurity note: treat plugin installs like running code. Prefer pinned versions.\n\nSupported archives: `.zip`, `.tgz`, `.tar.gz`, `.tar`.\n\nUse `--link` to avoid copying a local directory (adds to `plugins.load.paths`):\n\nUpdates only apply to plugins installed from npm (tracked in `plugins.installs`).", "code_samples": [ { "code": "Bundled plugins ship with OpenClaw but start disabled. Use `plugins enable` to\nactivate them.\n\nAll plugins must ship a `openclaw.plugin.json` file with an inline JSON Schema\n(`configSchema`, even if empty). Missing/invalid manifests or schemas prevent\nthe plugin from loading and fail config validation.\n\n### Install", "language": "unknown" }, { "code": "Security note: treat plugin installs like running code. Prefer pinned versions.\n\nSupported archives: `.zip`, `.tgz`, `.tar.gz`, `.tar`.\n\nUse `--link` to avoid copying a local directory (adds to `plugins.load.paths`):", "language": "unknown" }, { "code": "### Update", "language": "unknown" } ], "headings": [ { "level": "h2", "text": "Commands", "id": "commands" }, { "level": "h3", "text": "Install", "id": "install" }, { "level": "h3", "text": "Update", "id": "update" } ], "url": "llms-txt#`openclaw-plugins`", "links": [] }