openclaw-lighthouse

Telegram /approve says unauthorized and /elevated full fails

Problem

In Telegram control flow, admin commands fail with errors like:

What these commands mean

If either is broken, admin actions will be denied.

Why this happens

Usually it is one (or both) of these:

  1. Old/stale device token
    • OpenClaw still trusts an old operator device token.
    • Your current Telegram session token does not match it.
  2. Elevated allowlist does not include your Telegram ID
    • Elevated mode is enabled, but your caller ID is not allowed.

(WSL networking/proxy issues can add noise during debugging, but they are not the main auth cause.)

Step-by-step fix

1) Check health first

openclaw status
openclaw gateway status
openclaw channels status --probe

If gateway is unhealthy:

openclaw gateway restart

2) Fix /approve token mismatch

List devices:

openclaw devices list

If you see a pending request:

openclaw devices approve <request-id>

If there is no pending request and token looks stale, revoke old operator device:

openclaw devices revoke --device <device-id> --role operator
openclaw gateway restart

Then trigger a fresh approval flow from Telegram.

3) Fix /elevated full allowlist

Check current setting:

openclaw config get tools.elevated

Set a minimal allowlist in ~/.openclaw/openclaw.json (replace IDs with your own):

{
  "tools": {
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "telegram": ["<telegram-user-id>", "tg:<telegram-user-id>"],
        "*": ["<telegram-user-id>", "tg:<telegram-user-id>"]
      }
    }
  }
}

Restart gateway:

openclaw gateway restart

Retest in Telegram:

/elevated full

4) If still blocked, ask OpenClaw which gate failed

openclaw sandbox explain --session <session-key>

This command shows exactly which policy gate failed and what to change.

Validation

Security notes

Closed

Upstream status

References

Credits