Skip to content

docs: add 'openclaw plugins enable' step to Options 2 & 3#7

Merged
KillerQueen-Z merged 1 commit into
mainfrom
fix/readme-add-enable-step
May 13, 2026
Merged

docs: add 'openclaw plugins enable' step to Options 2 & 3#7
KillerQueen-Z merged 1 commit into
mainfrom
fix/readme-add-enable-step

Conversation

@KillerQueen-Z
Copy link
Copy Markdown
Collaborator

Why

`openclaw plugins install` writes the install record (`plugins.entries`) but does NOT add the plugin to `plugins.allow` — the whitelist the gateway checks at startup. Without the explicit `enable` step, the gateway never loads the plugin, `register()` never runs, and the BlockRun provider is never injected into `openclaw.json`. Net result: TUI model picker shows "no models available".

Reproduced live just now:
```
$ openclaw plugins install @blockrun/xclawrouter # installs files
$ openclaw gateway restart # gateway up, but plugin NOT loaded
$ openclaw # TUI: "no models available"

$ grep 'BlockRun provider' /tmp/openclaw/openclaw-2026-05-13.log

(empty — register never fired)

```

Fix is a single command:
```
openclaw plugins enable xclawrouter
```
which appends `xclawrouter` to `plugins.allow`. Next restart actually loads the plugin.

Why Option 1 doesn't need this

`scripts/reinstall.sh` and `scripts/update.sh` both edit `plugins.allow` themselves as part of their post-install cleanup. The curl one-liner has always worked end-to-end; only Options 2 and 3 — which bypass those scripts — were broken.

Why `@blockrun/clawrouter` users never hit this

The OpenClaw plugin install command has never auto-enabled plugins, but clawrouter's user docs only ever recommended the curl path, so the bug stayed invisible. XClawRouter exposing Options 2/3 in the README brought it to the surface.

Long-term fix (out of scope for this PR)

This is fundamentally an OpenClaw UX issue: `install` should imply `enable`. Worth filing upstream so every plugin doesn't have to document this trap.

Changes

Two lines, one in Option 2's code block, one in Option 3's.

Test plan

  • Reproduced the bug on a fresh install
  • Confirmed `openclaw plugins enable xclawrouter` adds to `plugins.allow` and gateway picks up the plugin on next restart
  • `npx prettier --check README.md` clean

`openclaw plugins install` writes the install record (plugins.entries)
but does NOT add the plugin to plugins.allow — the whitelist the gateway
checks at startup to decide which plugins to actually load. Without an
explicit enable, users following Options 2 or 3 saw:

  $ openclaw plugins install @blockrun/xclawrouter
  $ openclaw gateway restart
  # plugin loaded? no.
  # register() called? no.
  # BlockRun provider injected into openclaw.json? no.
  # models in OpenClaw TUI picker? no — "no models available".

Reproduced live this afternoon. The fix is a single command:

  openclaw plugins enable xclawrouter

which appends "xclawrouter" to plugins.allow in openclaw.json and tells
the user to restart the gateway. With that line in place, the next
restart actually loads the plugin, register() runs, the provider gets
injected, and TUI sees blockrun models.

Option 1 doesn't need this addition because scripts/reinstall.sh and
scripts/update.sh both handle plugins.allow themselves.
@KillerQueen-Z KillerQueen-Z merged commit 13d6daa into main May 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant