Skip to content

openclaw status / gateway probe missing operator.read scope on loopback with token auth #52625

Description

@QuarkAssistant

Summary

openclaw status and gateway probe report missing scope: operator.read on a loopback gateway with token auth mode, even though gateway call --token <token> works correctly. The probe/status client path doesn't negotiate operator scopes properly.

Steps to reproduce

  1. Configure gateway with auth.mode: "token" and a token in openclaw.json
  2. Gateway running on loopback (bind: "loopback", port 18789)
  3. Run openclaw status → Gateway row shows unreachable (missing scope: operator.read)
  4. Run openclaw gateway probe --token <token> → same missing scope: operator.read
  5. Run openclaw gateway call status --token <token>works fine, returns full status JSON

Expected behavior

openclaw status should read the gateway token from config and connect with operator.read scope. At minimum, gateway probe --token <token> should work when the token is passed explicitly.

Actual behavior

  • openclaw status: no --token option, doesn't read token from config for scope negotiation
  • gateway probe --token <token>: accepts the flag but still fails with missing scope: operator.read
  • gateway call status --token <token>: works correctly

Gateway logs confirm the scope error on every status/system-presence/config.get RPC:

[ws] ⇄ res ✗ status 0ms errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] ⇄ res ✗ system-presence 0ms errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] ⇄ res ✗ config.get 0ms errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read

Workarounds attempted (none resolved it)

  • openclaw gateway install --force + restart
  • OPENCLAW_GATEWAY_TOKEN env var
  • gateway probe --token <token>
  • gateway.controlUi.allowInsecureAuth: true + restart

Likely related

This appears to be a variant of #16820 / #17127 / #17681 where the probe/status client connection path doesn't present or negotiate operator scopes, even when credentials are available. The fixes in those PRs covered webchat and allowInsecureAuth but not the CLI probe/status path.

OpenClaw version

2026.3.13 (61d171a)

Operating system

macOS 26.3.1 (arm64)

Install method

pnpm

Impact and severity

Cosmetic — openclaw status still returns all useful operational data (agents, sessions, channels, security audit) via direct file/process reads. Only the gateway self-reported status row is affected. No impact on crons, agents, or Telegram.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions