openclaw - 💡(How to fix) Fix [Bug]: Trusted Proxy auth still requires device pairing

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…

I am trying to setup trusted-proxy auth for openclaw control UI. I managed to get through my SSO login working and the headers are correctly passed to openclaw control UI. However the control UI says I need to do first connection device pairing first.

Version: OpenClaw 2026.5.27

I have confirmed that Identity headers are forwarded to websocket. (Verified using jmalloc/echo-server)

I am not using same host proxy.

Trusted proxies are set correctly. (I am not receiving the specific error for wrong proxy address)

Allowed origin is set correctly. (I am not receiving the specific error for wrong origin)

My allowed users is empty to allow all authenticated users to connect.

The docs stated that

When gateway.auth.mode = "trusted-proxy" is active and the request passes trusted-proxy checks, Control UI WebSocket sessions can connect without device pairing identity.

However when I accessed the control UI for first time, I got error 1008: pairing required. Is this intended behavior?

Error Message

Trusted proxies are set correctly. (I am not receiving the specific error for wrong proxy address) Allowed origin is set correctly. (I am not receiving the specific error for wrong origin) However when I accessed the control UI for first time, I got error 1008: pairing required. Is this intended behavior? 6. Be presented with 1008: pairing required error from openclaw control UI Users face a 1008: Pairing required error

Root Cause

I am trying to setup trusted-proxy auth for openclaw control UI. I managed to get through my SSO login working and the headers are correctly passed to openclaw control UI. However the control UI says I need to do first connection device pairing first.

Version: OpenClaw 2026.5.27

I have confirmed that Identity headers are forwarded to websocket. (Verified using jmalloc/echo-server)

I am not using same host proxy.

Trusted proxies are set correctly. (I am not receiving the specific error for wrong proxy address)

Allowed origin is set correctly. (I am not receiving the specific error for wrong origin)

My allowed users is empty to allow all authenticated users to connect.

The docs stated that

When gateway.auth.mode = "trusted-proxy" is active and the request passes trusted-proxy checks, Control UI WebSocket sessions can connect without device pairing identity.

However when I accessed the control UI for first time, I got error 1008: pairing required. Is this intended behavior?

Code Example

When gateway.auth.mode = "trusted-proxy" is active and the request passes trusted-proxy checks, Control UI WebSocket sessions can connect without device pairing identity.

---

{
  "gateway": {
    "mode": "local",
    "bind": "lan",
    "port": 18789,
    "trustedProxies": [
      "10.233.64.0/18"
    ],
    "nodes": {
      "pairing": {
        "autoApproveCidrs": [
          "10.233.64.0/18"
        ]
      }
    },
    "auth": {
      "mode": "trusted-proxy",
      "trustedProxy": {
        // Header containing authenticated user identity (required)
        "userHeader": "x-auth-request-email",
        // Optional: headers that MUST be present (proxy verification)
        "requiredHeaders": [
          "x-forwarded-proto",
          "x-forwarded-host"
        ],
        // Optional: restrict to specific users (empty = allow all)
        "allowUsers": [],
        // Optional: allow a same-host loopback proxy after explicit opt-in
        "allowLoopback": false
      }
    },
    "controlUi": {
      "enabled": true,
      "allowedOrigins": [
        "https://claw.example.com"
      ]
    }
  },
  "agents": {
    "defaults": {
      "workspace": "~/.openclaw/workspace"
    },
    "list": [
      {
        "id": "default",
        "name": "OpenClaw Assistant",
        "workspace": "~/.openclaw/workspace"
      }
    ]
  },
  "cron": {
    "enabled": false
  },
  "logging": {
    "level": "info"
  }
}

---

2026-05-29T04:34:09.313+00:00 [ws] closed before connect conn=218ee9d6-a470-4e9b-a8d3-06213244c668 peer=10.233.102.173:56310->10.233.101.173:18789 remote=10.233.102.173 fwd=10.13.1.100 origin=https://claw.example.com host=claw.example.com ua=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1008 reason=pairing required: device is not approved yet (requestId: <request-id>)
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

I am trying to setup trusted-proxy auth for openclaw control UI. I managed to get through my SSO login working and the headers are correctly passed to openclaw control UI. However the control UI says I need to do first connection device pairing first.

Version: OpenClaw 2026.5.27

I have confirmed that Identity headers are forwarded to websocket. (Verified using jmalloc/echo-server)

I am not using same host proxy.

Trusted proxies are set correctly. (I am not receiving the specific error for wrong proxy address)

Allowed origin is set correctly. (I am not receiving the specific error for wrong origin)

My allowed users is empty to allow all authenticated users to connect.

The docs stated that

When gateway.auth.mode = "trusted-proxy" is active and the request passes trusted-proxy checks, Control UI WebSocket sessions can connect without device pairing identity.

However when I accessed the control UI for first time, I got error 1008: pairing required. Is this intended behavior?

Steps to reproduce

  1. Pull openclaw version: OpenClaw 2026.5.27
  2. Setup oauth proxy
  3. Set trusted-proxy auth in config.
  4. Connect to openclaw using reverse proxy url.
  5. Login through oauth proxy
  6. Be presented with 1008: pairing required error from openclaw control UI

Expected behavior

Users go through to control ui dashboard without pairing.

Actual behavior

Users face a 1008: Pairing required error

OpenClaw version

2026.5.27

Operating system

Ubuntu 24.04

Install method

docker / kubernetes

Model

n/a

Provider / routing chain

n/a

Additional provider/model setup details

Request Flow User -> Traefik Forward Auth + oauth proxy -> openclaw control UI

Config:

{
  "gateway": {
    "mode": "local",
    "bind": "lan",
    "port": 18789,
    "trustedProxies": [
      "10.233.64.0/18"
    ],
    "nodes": {
      "pairing": {
        "autoApproveCidrs": [
          "10.233.64.0/18"
        ]
      }
    },
    "auth": {
      "mode": "trusted-proxy",
      "trustedProxy": {
        // Header containing authenticated user identity (required)
        "userHeader": "x-auth-request-email",
        // Optional: headers that MUST be present (proxy verification)
        "requiredHeaders": [
          "x-forwarded-proto",
          "x-forwarded-host"
        ],
        // Optional: restrict to specific users (empty = allow all)
        "allowUsers": [],
        // Optional: allow a same-host loopback proxy after explicit opt-in
        "allowLoopback": false
      }
    },
    "controlUi": {
      "enabled": true,
      "allowedOrigins": [
        "https://claw.example.com"
      ]
    }
  },
  "agents": {
    "defaults": {
      "workspace": "~/.openclaw/workspace"
    },
    "list": [
      {
        "id": "default",
        "name": "OpenClaw Assistant",
        "workspace": "~/.openclaw/workspace"
      }
    ]
  },
  "cron": {
    "enabled": false
  },
  "logging": {
    "level": "info"
  }
}

Logs, screenshots, and evidence

2026-05-29T04:34:09.313+00:00 [ws] closed before connect conn=218ee9d6-a470-4e9b-a8d3-06213244c668 peer=10.233.102.173:56310->10.233.101.173:18789 remote=10.233.102.173 fwd=10.13.1.100 origin=https://claw.example.com host=claw.example.com ua=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1008 reason=pairing required: device is not approved yet (requestId: <request-id>)

Impact and severity

Affected users: users with trusted-proxy auth severity: blocks workflow Frequency: always Consequence: cannot access control UI dashboard

Additional information

NOT_ENOUGH_INFO

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

Users go through to control ui dashboard without pairing.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Trusted Proxy auth still requires device pairing