openclaw - 💡(How to fix) Fix doctor --fix populates plugins.allow with only non-bundled plugins, blocking all 65 bundled plugins under bundledDiscovery: compat

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

  • Severity: Config-breaking on doctor --fix (the recommended maintenance command)
  • Recovery: Manually revert plugins.allow to [] and restart gateway
  • Loop: Running --fix again repeats the same breakage because the 5 items still show as pending in doctor
  • v2026.5.27 regression: This was partially addressed in #56717 for bundled channel plugins, but the fix did not extend to bundled provider/tool/utility plugins. The doctor --fix auto-population behavior makes this much more likely to hit.

Fix Action

Workaround

After running doctor --fix, manually revert plugins.allow to []:

python3 -c "
import json
with open('$HOME/.openclaw/openclaw.json') as f:
    c = json.load(f)
c['plugins']['allow'] = []
with open('$HOME/.openclaw/openclaw.json', 'w') as f:
    json.dump(c, f, indent=2)
"
systemctl --user restart openclaw-gateway

Code Example

Doctor changes preview
   minimax auth configured, enabled automatically.
   opencode-go/deepseek-v4-pro model configured, enabled automatically.
   tavily web search provider selected, enabled automatically.
   openclaw-honcho tool configured, enabled automatically.
   ollama plugin config present, added to plugin allowlist.

---

OpenClaw 2026.5.27 (27ae826)
Node v26.0.0
Linux (Ubuntu 24.04 VM)
Install method: Homebrew (linuxbrew)

---

python3 -c "
import json
with open('$HOME/.openclaw/openclaw.json') as f:
    c = json.load(f)
c['plugins']['allow'] = []
with open('$HOME/.openclaw/openclaw.json', 'w') as f:
    json.dump(c, f, indent=2)
"
systemctl --user restart openclaw-gateway
RAW_BUFFERClick to expand / collapse

Bug Description

openclaw doctor --fix populates plugins.allow with only non-bundled plugins, which blocks all 65 bundled stock plugins from loading when plugins.bundledDiscovery is "compat".

Reproduction Steps

  1. Start with plugins.allow: [] and plugins.bundledDiscovery: "compat" (the v2026.5.27 default after fresh install)
  2. Install a non-bundled plugin (e.g., openclaw-honcho) and configure bundled providers (e.g., minimax, ollama, opencode-go) and a search plugin (e.g., tavily)
  3. Run openclaw doctor — it shows:
    ◇  Doctor changes preview
    minimax auth configured, enabled automatically.
    opencode-go/deepseek-v4-pro model configured, enabled automatically.
    tavily web search provider selected, enabled automatically.
    openclaw-honcho tool configured, enabled automatically.
    ollama plugin config present, added to plugin allowlist.
  4. Run openclaw doctor --fix

Observed Behavior

  • --fix writes plugins.allow: ["minimax", "opencode-go", "tavily", "openclaw-honcho", "ollama"]
  • On gateway restart: 65 loaded → 5 loaded, 27 disabled → 87 disabled
  • All bundled provider plugins, tool plugins, and utility plugins are blocked
  • openclaw doctor still shows the same 5 "Doctor changes preview" items again (plugins.allow was reverted by config auto-restore)
  • Gateway startup log: (2 plugins: openclaw-honcho, tavily; 2.1s) instead of the expected 65

Expected Behavior

Either:

  1. doctor --fix should NOT populate plugins.allow when bundledDiscovery: "compat" is active, since compat mode means bundled plugins auto-load regardless of the allowlist
  2. OR bundledDiscovery: "compat" should actually exempt bundled plugins from the allowlist gate at plugin load time (not just for provider discovery/inventory), so that a non-empty plugins.allow doesn't block bundled plugins
  3. OR doctor --fix should add ALL detected bundled plugins to the allowlist, not just the 5 non-bundled/config-entry ones

Impact

  • Severity: Config-breaking on doctor --fix (the recommended maintenance command)
  • Recovery: Manually revert plugins.allow to [] and restart gateway
  • Loop: Running --fix again repeats the same breakage because the 5 items still show as pending in doctor
  • v2026.5.27 regression: This was partially addressed in #56717 for bundled channel plugins, but the fix did not extend to bundled provider/tool/utility plugins. The doctor --fix auto-population behavior makes this much more likely to hit.

Version

OpenClaw 2026.5.27 (27ae826)
Node v26.0.0
Linux (Ubuntu 24.04 VM)
Install method: Homebrew (linuxbrew)

Related Issues

  • #56717 — Same class of bug, fixed only for bundled channel plugins
  • #77802 — doctor --fix atomicity failure (exacerbates this — if --fix fails partway through, config is left in broken state)
  • #75575 — Feature request for plugins.bundledMode / bundledDiscovery
  • #79806 — CPU pegged with bundledDiscovery: "compat" (performance concern with compat mode)

Workaround

After running doctor --fix, manually revert plugins.allow to []:

python3 -c "
import json
with open('$HOME/.openclaw/openclaw.json') as f:
    c = json.load(f)
c['plugins']['allow'] = []
with open('$HOME/.openclaw/openclaw.json', 'w') as f:
    json.dump(c, f, indent=2)
"
systemctl --user restart openclaw-gateway

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix doctor --fix populates plugins.allow with only non-bundled plugins, blocking all 65 bundled plugins under bundledDiscovery: compat