diff --git a/docs/plugins/building-plugins.md b/docs/plugins/building-plugins.md index 7424ca3c6d2..4018ad3b82d 100644 --- a/docs/plugins/building-plugins.md +++ b/docs/plugins/building-plugins.md @@ -76,6 +76,9 @@ and provider plugins have dedicated guides linked above. "id": "my-plugin", "name": "My Plugin", "description": "Adds a custom tool to OpenClaw", + "activation": { + "onStartup": true + }, "configSchema": { "type": "object", "additionalProperties": false @@ -84,7 +87,9 @@ and provider plugins have dedicated guides linked above. ``` - Every plugin needs a manifest, even with no config. See + Every plugin needs a manifest, even with no config, and every plugin should + declare `activation.onStartup` intentionally. Runtime-registered tools need + startup import, so this example sets it to `true`. See [Manifest](/plugins/manifest) for the full schema. The canonical ClawHub publish snippets live in `docs/snippets/plugin-publish/`. diff --git a/docs/snippets/plugin-publish/minimal-openclaw.plugin.json b/docs/snippets/plugin-publish/minimal-openclaw.plugin.json index e936c8d612e..8b2547c655d 100644 --- a/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +++ b/docs/snippets/plugin-publish/minimal-openclaw.plugin.json @@ -2,6 +2,9 @@ "id": "my-plugin", "name": "My Plugin", "description": "Adds a custom tool to OpenClaw", + "activation": { + "onStartup": true + }, "configSchema": { "type": "object", "additionalProperties": false