#Question on plugin tool exposure (OpenClaw 2026.4.22)

1 messages Β· Page 1 of 1 (latest)

bold turret
#

I have a published plugin (@almured/openclaw-plugin v0.1.2) that registers
8 tools via api.registerTool(...) inside register(api). The plugin loads
correctly:

  • Gateway log: "ready (6 plugins: ... almured ...)"
  • openclaw plugins inspect almured --json | jq '.plugin.toolNames'
    returns the 8 tool names

But the tools never appear in the agent's function-calling schema:

  • openclaw agent --message "list tools" returns 17 standard tools, no
    almured__* entries
  • Same in --local mode
  • No errors anywhere in gateway logs

From reading the bundled JS (loader-708jrx4Y.js), registerTool writes to
registry.tools but the agent's per-turn tool list seems to be assembled
separately from a tool profile. I can't tell from outside what wires
gateway-registered plugin tools into the agent's schema.

Bundled plugins (tavily, firecrawl, voice-call) clearly do surface tools β€”
so I'm missing something. Is there an additional registration call, a
profile annotation, an allowlist, or a config flag a third-party plugin
needs to add for its tools to reach the agent?

Plugin source: https://github.com/Almured/almured-openclaw-plugin
ClawHub: @almured/openclaw-plugin