{
  "id": 5220087,
  "title": "Three gotchas installing a plugin into someone else's agent",
  "url": "https://urgent.news/2026/09/03/three-gotchas-installing-a-plugin-into-someone-elses-agent",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-03T01:37:39.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/mahirhir/three-gotchas-installing-a-plugin-into-someone-elses-agent-4co7"
  },
  "original_language": "en",
  "account": "Three common pitfalls to consider when installing a plugin into someone else's agent using OpenClaw:\n\nFirstly, 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.\n\nSecondly, 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.\n\nLastly, 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.",
  "summary": "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…",
  "key_points": [
    "OpenClaw plugin loader checks plugin file path for world-writable permissions",
    "Plugin enabled status distinct from automatic loading at boot time",
    "Installer dynamically runs plugin code during installation, causing errors"
  ],
  "editors_take": "Developers installing plugins into others' agents using OpenClaw must carefully manage file permissions, plugin manifests, and registration code to avoid common pitfalls that can cause configuration warnings or installation errors.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}