Three gotchas installing a plugin into someone else's agent
Three gotchas installing a plugin into someone else's agent This one is scoped tight: getting a plugin into OpenClaw's gateway so it loads, registers, and shows up next to the bundled providers. Nothing here about whether a real model's tool call actually reaches it; that part is a separate piece, with its own log lines and receipts. Three things broke on the way, and every one of them turned out…
Three common pitfalls to consider when installing a plugin into someone else's agent using OpenClaw:
Firstly, OpenClaw's plugin loader checks the path of the plugin file for world-writable permissions. In this case, the plugin was initially placed under a world-writable WSL mount, causing a configuration warning. Moving the plugin directory to a more restricted file system resolved this issue.
Secondly, the status of a plugin being enabled and loaded at boot time are distinct concepts. Even if the plugin is enabled, it may not automatically load during the gateway startup process. The manifest of the plugin must declare activation: { onStartup: true } for it to be loaded automatically. If it lacks a manifest, the loader won't consider it a candidate for startup activation.
Lastly, during the installation process, the installer dynamically runs your plugin code before you can interact with the `openclaw plugins install` command. Any errors in the registration process will be immediately apparent, as the installer calls your registration function directly. In this instance, the error was caused by incorrectly formatting the matcher option in the plugin's registration, resulting in a TypeError. Ensuring the correct format for the matcher option avoids this common issue.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.