openclaw - ✅(Solved) Fix openclaw commands CLI fails with misleading 'Add commands to plugins.allow' error [2 pull requests, 1 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#65083Fetched 2026-04-12 13:25:39
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
cross-referenced ×2referenced ×1

Error Message

Error: The openclaw commands command is unavailable because plugins.allow excludes "commands". Add "commands" to plugins.allow if you want that bundled plugin CLI surface.

Root Cause

The error message in resolveMissingPluginCommandMessage() suggests that "commands" is a plugin ID that should be added to plugins.allow. However, "commands" is not a bundled plugin in this build — it is a built-in chat command registered in the chat commands registry (commands-registry.data-*). There is no commands plugin with ID "commands" in the plugin system.

Fix Action

Fixed

PR fix notes

PR #65111: fix: allow built-in chat commands to bypass plugins.allow check (closes #65083)

Description (problem / solution / changelog)

Closes #65083.

Summary

The openclaw commands command is a built-in chat command registered in the chat commands registry, not a plugin-backed CLI command.

When plugins.allow is configured, running openclaw commands shows a misleading error suggesting users add "commands" to plugins.allow. However, adding "commands" to plugins.allow produces a second error: "plugin not found: commands" because no such plugin exists.

Fix

Before suggesting to add a command to plugins.allow, check if:

  1. The command has a corresponding plugin entry in the config
  2. The command has a manifest alias registered by a plugin

If neither exists, the command is likely a built-in chat command that should proceed normally instead of showing a misleading plugins.allow error.

Why This Matters

  • Users with plugins.allow configured see confusing errors for built-in commands
  • The suggested fix (adding to plugins.allow) doesn't work and causes a second error
  • Simple defensive check, zero risk for existing plugin commands

Changed files

  • src/cli/run-main.ts (modified, +10/-1)

PR #65262: fix(cli): clarify that 'commands' is a runtime slash command

Description (problem / solution / changelog)

Summary

  • fix misleading guidance for openclaw commands when plugins.allow is configured
  • treat built-in runtime slash commands (like commands) as non-CLI commands in missing-command diagnostics
  • add regression test for commands messaging

What Changed

  • update resolveMissingPluginCommandMessage to detect built-in runtime slash commands and return a clear runtime command hint
  • add test coverage in src/cli/run-main.test.ts

Related Issue

  • Closes #65083

Validation

  • node --no-maglev node_modules/vitest/vitest.mjs run --config vitest.config.ts src/cli/run-main.test.ts
  • result: 1 file, 16 tests passed

Changed files

  • src/cli/run-main.test.ts (modified, +11/-0)
  • src/cli/run-main.ts (modified, +14/-0)

Code Example

Error: The `openclaw commands` command is unavailable because `plugins.allow`
excludes "commands". Add "commands" to `plugins.allow` if you want that
bundled plugin CLI surface.

---

Config warnings:
- plugins.allow: plugin not found: commands (stake config entry ignored; remove it from plugins config)
error: unknown command 'commands'
RAW_BUFFERClick to expand / collapse

Bug Description

Running openclaw commands on a system with plugins.allow configured produces:

Error: The `openclaw commands` command is unavailable because `plugins.allow`
excludes "commands". Add "commands" to `plugins.allow` if you want that
bundled plugin CLI surface.

Adding "commands" to plugins.allow does not resolve the issue — instead it produces a second, different error:

Config warnings:
- plugins.allow: plugin not found: commands (stake config entry ignored; remove it from plugins config)
error: unknown command 'commands'

Root Cause

The error message in resolveMissingPluginCommandMessage() suggests that "commands" is a plugin ID that should be added to plugins.allow. However, "commands" is not a bundled plugin in this build — it is a built-in chat command registered in the chat commands registry (commands-registry.data-*). There is no commands plugin with ID "commands" in the plugin system.

Reproduction

  1. Have plugins.allow configured (e.g. with other valid plugin IDs)
  2. Run openclaw commands
  3. Observe the misleading error

Expected Behavior

Either:

  • **openclaw commands** should work without needing any plugins.allow entry (since it is a built-in chat command, not a plugin-backed command), OR
  • The error message should accurately identify which plugin actually owns the "commands" command and tell the user to add that plugin ID instead

Environment

  • OpenClaw: 2026.4.10 (44e5b62)
  • Node: 24.14.1
  • OS: linux 6.8.0
  • plugins.allow is set (non-empty array)

extent analysis

TL;DR

The issue can be resolved by removing "commands" from the plugins.allow configuration, as "commands" is a built-in chat command and not a plugin.

Guidance

  • Remove "commands" from the plugins.allow configuration to prevent the error message from appearing.
  • Verify that openclaw commands works as expected without any plugins.allow entry for "commands".
  • If the issue persists, review the chat commands registry (commands-registry.data-*) to ensure that the built-in chat command is properly registered.
  • Consider updating the error message in resolveMissingPluginCommandMessage() to accurately identify built-in chat commands and provide clearer instructions to the user.

Example

No code snippet is provided as the issue is related to configuration and not code.

Notes

The solution assumes that the built-in chat command "commands" is properly registered in the chat commands registry. If the issue persists, further investigation into the registry and the openclaw command implementation may be necessary.

Recommendation

Apply workaround: Remove "commands" from the plugins.allow configuration, as it is not a plugin and does not require an entry in the configuration. This should resolve the issue and allow openclaw commands to work as expected.

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