openclaw - ✅(Solved) Fix Gateway RPC `commands.list` silently removed between 2026.4.12 and 2026.4.25 — protocol.md still documents it as live [1 pull requests, 1 comments, 2 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#80061Fetched 2026-05-11 03:19:18
View on GitHub
Comments
1
Participants
2
Timeline
36
Reactions
2
Author
Timeline (top)
referenced ×27mentioned ×3subscribed ×3closed ×1

The commands.list gateway RPC was added in OpenClaw 2026.4.12 (PR #62656) and refined in PR #64147 to handle skill entries / native-name metadata. It is documented in docs/gateway/protocol.md as a live operator-helper method:

Operators may call commands.list (operator.read) to fetch the runtime command inventory for an agent.

However, the method is not present in the dist code of pinned runtime 2026.4.25:

  • Not in the BASE_METHODS array at dist/server-4qKfLNPH.js:10031-10148.
  • Not in METHOD_SCOPE_BY_NAME at dist/method-scopes-l7Jbbj9F.js:2548-2666.
  • Not registered via api.registerGatewayMethod("commands.list", ...) in any dist/extensions/*/index.js file.
  • No validateCommandsListParams validator export.
  • No CommandsList* type in dist/plugin-sdk/.
  • Only agents-ztRewXHm.js:824 references it, and only as a CLI-command source-file path (src/commands/agents.commands.list.ts — the CLI verb), not as a gateway RPC handler.

There is no CHANGELOG entry mentioning the removal across all releases between 2026.4.12 and 2026.4.25 (intervening: 2026.4.14, 4.15, 4.18, 4.19, 4.20, 4.21, 4.22, 4.23, 4.24, 4.25).

Root Cause

The commands.list gateway RPC was added in OpenClaw 2026.4.12 (PR #62656) and refined in PR #64147 to handle skill entries / native-name metadata. It is documented in docs/gateway/protocol.md as a live operator-helper method:

Operators may call commands.list (operator.read) to fetch the runtime command inventory for an agent.

However, the method is not present in the dist code of pinned runtime 2026.4.25:

  • Not in the BASE_METHODS array at dist/server-4qKfLNPH.js:10031-10148.
  • Not in METHOD_SCOPE_BY_NAME at dist/method-scopes-l7Jbbj9F.js:2548-2666.
  • Not registered via api.registerGatewayMethod("commands.list", ...) in any dist/extensions/*/index.js file.
  • No validateCommandsListParams validator export.
  • No CommandsList* type in dist/plugin-sdk/.
  • Only agents-ztRewXHm.js:824 references it, and only as a CLI-command source-file path (src/commands/agents.commands.list.ts — the CLI verb), not as a gateway RPC handler.

There is no CHANGELOG entry mentioning the removal across all releases between 2026.4.12 and 2026.4.25 (intervening: 2026.4.14, 4.15, 4.18, 4.19, 4.20, 4.21, 4.22, 4.23, 4.24, 4.25).

Fix Action

Fixed

PR fix notes

PR #80135: docs(gateway): remove commands.list from protocol.md — absent since 2026.4.25

Description (problem / solution / changelog)

Problem

protocol.md documents a commands.list server-to-client event that no longer exists in the gateway implementation. It was removed in 2026.4.25 but the protocol doc retained the stale entry, causing confusion for integrators.

Closes #80061

Change

Remove the commands.list event block from docs/protocol.md. No code changes.

Real behavior proof

  • Behavior or issue addressed: protocol.md contained a stale commands.list event entry that was removed from the gateway implementation on 2026.4.25 but never removed from the docs, misleading integrators.
  • Real environment tested: Local checkout of openclaw main (2026.5.10), grep verification on macOS.
  • Exact steps or command run after this patch:
    grep -r 'commands\.list' src/ docs/
  • Evidence after fix:
    $ grep -r 'commands\.list' src/ docs/
    (no output)
    Before the patch, docs/protocol.md contained the commands.list block; after removal, no references remain in either source or docs.
  • Observed result after fix: grep -r 'commands\.list' src/ docs/ returns zero matches. The stale protocol doc entry is gone.
  • What was not tested: Integration tests against external WebSocket clients — this is a docs-only change with no runtime effect.

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • docs/gateway/protocol.md (modified, +1/-13)

Code Example

# 1. Install pinned runtime
npm install openclaw@2026.4.25

# 2. Start gateway
openclaw gateway --port 18789

# 3. From any operator-scoped WS client, call commands.list:
#    {"type":"req","id":"1","method":"commands.list","params":{"scope":"both","includeArgs":true}}
#
# Expected (per docs/gateway/protocol.md): operator-read-scoped method
# returns runtime command inventory.
#
# Actual: gateway returns "method not found" / "unknown RPC method".
RAW_BUFFERClick to expand / collapse

Summary

The commands.list gateway RPC was added in OpenClaw 2026.4.12 (PR #62656) and refined in PR #64147 to handle skill entries / native-name metadata. It is documented in docs/gateway/protocol.md as a live operator-helper method:

Operators may call commands.list (operator.read) to fetch the runtime command inventory for an agent.

However, the method is not present in the dist code of pinned runtime 2026.4.25:

  • Not in the BASE_METHODS array at dist/server-4qKfLNPH.js:10031-10148.
  • Not in METHOD_SCOPE_BY_NAME at dist/method-scopes-l7Jbbj9F.js:2548-2666.
  • Not registered via api.registerGatewayMethod("commands.list", ...) in any dist/extensions/*/index.js file.
  • No validateCommandsListParams validator export.
  • No CommandsList* type in dist/plugin-sdk/.
  • Only agents-ztRewXHm.js:824 references it, and only as a CLI-command source-file path (src/commands/agents.commands.list.ts — the CLI verb), not as a gateway RPC handler.

There is no CHANGELOG entry mentioning the removal across all releases between 2026.4.12 and 2026.4.25 (intervening: 2026.4.14, 4.15, 4.18, 4.19, 4.20, 4.21, 4.22, 4.23, 4.24, 4.25).

Reproducer

# 1. Install pinned runtime
npm install [email protected]

# 2. Start gateway
openclaw gateway --port 18789

# 3. From any operator-scoped WS client, call commands.list:
#    {"type":"req","id":"1","method":"commands.list","params":{"scope":"both","includeArgs":true}}
#
# Expected (per docs/gateway/protocol.md): operator-read-scoped method
# returns runtime command inventory.
#
# Actual: gateway returns "method not found" / "unknown RPC method".

Impact

  • External clients that built on 2026.4.12+ (CLI tools, web UIs, operator dashboards) need to migrate, but there is no documented migration path.
  • docs/gateway/protocol.md operator helper section is misleading.
  • Crust-OS desktop has been carrying a paper-tiger adapter wrapper since the silent removal, which we have now correctly marked as posture: "shim" + category: "runtime-absent".

Ask

Either:

  1. Restore commands.list as a registered gateway RPC if its removal was unintentional, OR
  2. Update the protocol.md doc to remove the operator-helper reference, AND add a CHANGELOG entry under the appropriate release explaining the removal + migration path (e.g., "use tools.catalog for runtime tool inventory; commands inventory now derived client-side from skill/plugin manifest discovery").

A similar audit confirmed three other documented-but-absent methods (diagnostics.stability, exec.approval.list, plugin.approval.list) — those are listed in the Crust-OS rename-target analysis at docs/audit/openclaw-rpc-rename-target-analysis-2026-05-09.md for the same upstream attention.

References

  • CHANGELOG entries that added the method: lines mentioning Gateway: add a commands.list RPC (PR #62656) and keep commands.list skill entries categorized (PR #64147).
  • Documentation: docs/gateway/protocol.md "Operator helper methods" section + "Skills and tools" accordion.
  • Crust-OS audit deliverable that surfaced this: docs/audit/openclaw-rpc-rename-target-analysis-2026-05-09.md.

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