openclaw - ✅(Solved) Fix [Bug]: openclaw nodes status and openclaw nodes list does not sync [1 pull requests, 6 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#65706Fetched 2026-04-14 05:40:43
View on GitHub
Comments
6
Participants
3
Timeline
10
Reactions
0
Author
Timeline (top)
commented ×6cross-referenced ×1labeled ×1mentioned ×1

In 2026.4.9 the issue with following still exists. It was fixed in 2026.4.2 upto 2026.4.8 but now breaks in 2026.4.9 openclaw nodes status and openclaw nodes list does not sync. openclaw node status gives the proper results with the nodes that are paired openclaw nodes list always give 0 paired even though above command has the details published. This is impact on the selection of the correct node when any infrerence happens to execute commands on the node as it utilizes nodes.list to determine the nodes

Root Cause

In 2026.4.9 the issue with following still exists. It was fixed in 2026.4.2 upto 2026.4.8 but now breaks in 2026.4.9 openclaw nodes status and openclaw nodes list does not sync. openclaw node status gives the proper results with the nodes that are paired openclaw nodes list always give 0 paired even though above command has the details published. This is impact on the selection of the correct node when any infrerence happens to execute commands on the node as it utilizes nodes.list to determine the nodes

Fix Action

Fixed

PR fix notes

PR #65772: fix(cli): keep nodes list aligned with nodes status

Description (problem / solution / changelog)

Summary

  • Problem: openclaw nodes status used the effective node.list view, while openclaw nodes list still used raw node.pair.list, so the two commands could disagree about which nodes were paired.
  • Why it matters: operators could see Paired: 0 in nodes list even when nodes status showed paired nodes, and scripts consuming nodes list --json needed the existing pairing metadata to remain stable.
  • What changed: nodes list now uses node.list as the effective paired-node source when available, keeps pending from node.pair.list, falls back to pairing-only data for compatibility when unfiltered node.list is unavailable, and preserves raw pairing metadata in --json.
  • What did NOT change (scope boundary): this PR does not change gateway methods, method scopes, pairing storage, or the meaning of pending approval data; filtered modes still depend on node.list because they need live node state.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #65706
  • Related #
  • This PR fixes a bug or regression

Root Cause (if applicable)

  • Root cause: the CLI had two different sources of truth for “paired nodes.” nodes status used the newer effective node catalog from node.list, while nodes list still used the raw node-pairing store from node.pair.list.
  • Missing detection / guardrail: there was no test locking in that nodes list and nodes status should stay aligned, and no test protecting the nodes list --json output contract.
  • Contributing context (if known): earlier changes intentionally made node.list a more accurate effective view of available nodes, but nodes list was not updated in sync with that behavior.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: src/cli/program.nodes-basic.e2e.test.ts
  • Scenario the test should lock in: nodes list should show effective paired nodes from node.list, preserve pairing-only fallback when unfiltered node.list is unavailable, and keep raw pairing metadata in --json.
  • Why this is the smallest reliable guardrail: the bug lives in CLI command wiring and output shaping across two gateway methods, so a command-level test is more reliable than a narrow helper unit test.
  • Existing test that already covers this (if any): existing nodes list --connected / nodes status --last-connected tests covered parts of the command flow, but not the source-of-truth mismatch or JSON compatibility.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

  • openclaw nodes list now stays aligned with openclaw nodes status for effective paired nodes.
  • openclaw nodes list without filters keeps working for pairing-scope callers and older gateways by falling back when node.list is unavailable.
  • openclaw nodes list --json preserves existing pairing metadata instead of returning a reduced display-only shape.

Diagram (if applicable)

Before:
[nodes status] -> [node.list effective view] -> [paired nodes shown]
[nodes list]   -> [node.pair.list raw store] -> [could show 0 paired]

After:
[nodes status] -> [node.list effective view] -> [paired nodes shown]
[nodes list]   -> [prefer node.list effective view]
               -> [fallback to node.pair.list when needed]
               -> [consistent human output + compatible JSON output]

## Changed files

- `src/cli/nodes-cli/register.status.ts` (modified, +110/-32)
- `src/cli/program.nodes-basic.e2e.test.ts` (modified, +107/-2)
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

Yes

Summary

In 2026.4.9 the issue with following still exists. It was fixed in 2026.4.2 upto 2026.4.8 but now breaks in 2026.4.9 openclaw nodes status and openclaw nodes list does not sync. openclaw node status gives the proper results with the nodes that are paired openclaw nodes list always give 0 paired even though above command has the details published. This is impact on the selection of the correct node when any infrerence happens to execute commands on the node as it utilizes nodes.list to determine the nodes

Steps to reproduce

  1. Connect 1 or more node to the gateway. The nodes must be paired, It does not matter whether they are connected or disconnected.
  2. Execute openclaw nodes status
  3. Execute openclaw nodes list
  4. The results of both the command does not match, the openclaw nodes list always give 0 results regardless of the result of openclaw nodes status

Expected behavior

Both openclaw nodes status and openclaw nodes list must provide the simialr results as they are querying the same list of nodes that are paired ot the gateway

Actual behavior

The result of openclaw nodes list always give 0 nodes regardless of the number of nodes show in openclaw nodes status

OpenClaw version

2026.4.9

Operating system

Ubuntu 24.04 (Docker / k8s container)

Install method

docker container

Model

Any model

Provider / routing chain

None - direct access

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The issue can be potentially resolved by reverting to a previous version of OpenClaw, such as 2026.4.8, where the bug was fixed.

Guidance

  • The discrepancy between openclaw nodes status and openclaw nodes list commands suggests a regression bug introduced in version 2026.4.9.
  • To verify the issue, follow the provided steps to reproduce and compare the results of both commands.
  • Consider downgrading to version 2026.4.8, where the issue was reportedly fixed, as a temporary workaround.
  • If downgrading is not feasible, try to identify any changes made in version 2026.4.9 that could be causing the discrepancy.

Example

No code snippet is provided as the issue is related to a specific version of OpenClaw and its commands.

Notes

The issue seems to be specific to version 2026.4.9, and the provided information does not give enough details to pinpoint the exact cause. Downgrading to a previous version might be the most straightforward solution.

Recommendation

Apply workaround: Downgrade to version 2026.4.8, as it is reported to have the issue fixed. This is a temporary solution until the bug is fixed in a future version.

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

Both openclaw nodes status and openclaw nodes list must provide the simialr results as they are querying the same list of nodes that are paired ot the gateway

Still need to ship something?

×6

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

Back to top recommendations

TRENDING