openclaw - ✅(Solved) Fix [Bug]: (doctor): plugins.allow advisory doesn't warn it's an exclusive allowlist [1 pull requests, 2 comments, 3 participants]

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…
GitHub stats
openclaw/openclaw#64982Fetched 2026-04-12 13:26:06
View on GitHub
Comments
2
Participants
3
Timeline
9
Reactions
0
Author
Timeline (top)
referenced ×4commented ×2labeled ×2cross-referenced ×1

openclaw doctor advises adding a plugin to plugins.allow without warning that this field is an exclusive allowlist — all plugins not listed are disabled, causing silent breakage of active channels, memory, and integrations.

Error Message

Two possible fix locations: (a) src/doctor/ — the advisory that suggests plugins.allow should auto-populate existing active plugins or warn about exclusivity, (b) src/plugins/loader.ts — emit a startup warning when plugins.allow would block plugins that were active in the previous session. Related: Clara independently reported the inverse — plugins.allow warning fires even when the field IS populated (cosmetic but same code area).

Root Cause

Doctor suggests adding a single plugin to plugins.allow with no mention of exclusivity. Following the advice disables all other plugins. No warning at startup. 4-hour outage before root cause was identified by manually reviewing config changes.

Fix Action

Fixed

PR fix notes

PR #65040: fix(doctor): warn that plugins.allow is an exclusive allowlist [AI-assisted]

Description (problem / solution / changelog)

AI-assisted: yes (Antigravity). Testing: fully tested — all existing tests passed locally.

Fixes #64982

Summary

When openclaw doctor, security audit, config validation, or the plugin loader suggests setting plugins.allow, the advisory now explicitly warns that this field is an exclusive allowlist — any plugin not listed (including bundled plugins like discord, memory-core) will be disabled. Previously, following the advisory to add a single plugin caused silent breakage of all other active plugins, resulting in a 4-hour production outage for the reporter.

Changes

4 advisory sites updated:

  • src/plugins/loader.ts (warnWhenAllowlistIsOpen): Warning now states that plugins.allow is exclusive and that bundled plugins are also affected, instructing users to include every plugin they rely on.
  • src/security/audit-extra.async.ts (collectPluginsTrustFindings): Remediation text warns about exclusivity and that bundled plugins are also disabled if not listed.
  • src/cli/run-main.ts (resolveMissingPluginCommandMessage): Two CLI error messages now note that plugins.allow is an exclusive allowlist.
  • src/config/validation.ts: Command-alias-in-allowlist warning now notes exclusivity.

Testing

  • src/cli/run-main.test.ts: 15/15 passed
  • src/security/audit-plugins-trust.test.ts: 2/2 passed
  • src/config/config.plugin-validation.test.ts: relevant test passed
  • No test modifications needed — existing assertions use substring matching on text portions that were preserved.

Changed files

  • src/cli/run-main.ts (modified, +4/-2)
  • src/config/validation.ts (modified, +2/-1)
  • src/plugins/loader.ts (modified, +3/-1)
  • src/security/audit-extra.async.ts (modified, +4/-1)
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

openclaw doctor advises adding a plugin to plugins.allow without warning that this field is an exclusive allowlist — all plugins not listed are disabled, causing silent breakage of active channels, memory, and integrations.

Steps to reproduce

  1. Run openclaw doctor with a working setup (Discord, Telegram, memory-core, memory-wiki all active)
  2. Doctor suggests adding lossless-claw to plugins.allow
  3. Add plugins.allow: ["lossless-claw"] to openclaw.json as advised
  4. Restart gateway
  5. Discord, Telegram, memory-core, and memory-wiki all fail to load — only lossless-claw is active

Expected behavior

Either: (a) doctor's advisory includes all currently-active plugins in the suggested plugins.allow value, or (b) doctor warns that plugins.allow is exclusive and unlisted plugins will be disabled, or (c) the plugin loader emits a warning at startup when plugins.allow would disable currently-active plugins.

Actual behavior

Doctor suggests adding a single plugin to plugins.allow with no mention of exclusivity. Following the advice disables all other plugins. No warning at startup. 4-hour outage before root cause was identified by manually reviewing config changes.

OpenClaw version

2026.4.8

Operating system

macOS 15.4

Install method

npm global

Model

anthropic/claude-opus-4

Provider / routing chain

openclaw -> anthropic

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Affected: Any user who follows doctor's plugins.allow advisory without knowing it's exclusive Severity: High — silently disables all unlisted plugins including channels and memory Frequency: Deterministic — always happens when following the advisory Consequence: Complete loss of channels and memory plugins until config is manually corrected. 4-hour production outage observed.

Additional information

Two possible fix locations: (a) src/doctor/ — the advisory that suggests plugins.allow should auto-populate existing active plugins or warn about exclusivity, (b) src/plugins/loader.ts — emit a startup warning when plugins.allow would block plugins that were active in the previous session. Related: Clara independently reported the inverse — plugins.allow warning fires even when the field IS populated (cosmetic but same code area).

extent analysis

TL;DR

Modify the plugins.allow configuration to include all currently active plugins or update the openclaw doctor advisory to warn about the exclusivity of the plugins.allow field.

Guidance

  • Review the openclaw.json file to ensure all active plugins are included in the plugins.allow list to prevent silent breakage of channels and memory plugins.
  • Update the openclaw doctor advisory to auto-populate existing active plugins in the suggested plugins.allow value or display a warning about the exclusivity of the field.
  • Consider adding a startup warning in src/plugins/loader.ts when plugins.allow would block plugins that were active in the previous session.
  • Verify the fix by running openclaw doctor and checking the suggested plugins.allow value, then restart the gateway and confirm all expected plugins are active.

Example

No code snippet is provided as the issue does not require a specific code change, but rather a configuration update or advisory warning.

Notes

The fix location is likely in either src/doctor/ or src/plugins/loader.ts, and the issue is deterministic, always happening when following the advisory without knowing about the exclusivity of plugins.allow.

Recommendation

Apply a workaround by manually populating the plugins.allow list with all active plugins until the openclaw doctor advisory is updated to warn about exclusivity or auto-populate existing active plugins. This is because the current advisory can cause silent breakage of channels and memory plugins, leading to a high-severity issue.

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…

FAQ

Expected behavior

Either: (a) doctor's advisory includes all currently-active plugins in the suggested plugins.allow value, or (b) doctor warns that plugins.allow is exclusive and unlisted plugins will be disabled, or (c) the plugin loader emits a warning at startup when plugins.allow would disable currently-active plugins.

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 - ✅(Solved) Fix [Bug]: (doctor): plugins.allow advisory doesn't warn it's an exclusive allowlist [1 pull requests, 2 comments, 3 participants]