Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
The HTTP endpoint /v1/chat/completions returns 403 missing scope: operator.write even when the gateway is started with --auth none. The scope enforcement appears to be hardcoded in the HTTP handler and ignores the auth mode setting.
Steps to reproduce
Environment
- OpenClaw version: 2026.3.28 (f9b1079)
- OS: macOS 26.3 (arm64)
- Node: 22.22.0
- Gateway: loopback bind, Tailscale Serve as reverse proxy
Steps to Reproduce
- Configure gateway with
--auth none:
openclaw gateway install --force --auth none
- Verify config:
"gateway": {
"auth": { "mode": "none" }
}
- Verify plist has
--auth none in ProgramArguments
- Verify gateway is running:
openclaw gateway status
# Runtime: running, RPC probe: ok
- Send a request locally:
curl -X POST http://127.0.0.1:18789/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"openclaw:main","messages":[{"role":"user","content":"ping"}]}'
Expected behavior
Expected Behavior
With --auth none, the request should be processed without any auth or scope checks.
Actual behavior
Actual Behavior
{"ok":false,"error":{"type":"forbidden","message":"missing scope: operator.write"}}
HTTP 403 is returned regardless of:
- Auth mode (
none, token)
- Bearer token presence
x-openclaw-scopes: operator.read operator.write header
- Local vs remote (Tailscale) access
OpenClaw version
2026.3.28
Operating system
macOS 26.3 (arm64)
Install method
No response
Model
NA
Provider / routing chain
NA
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
The HTTP endpoint
/v1/chat/completionsreturns403 missing scope: operator.writeeven when the gateway is started with--auth none. The scope enforcement appears to be hardcoded in the HTTP handler and ignores the auth mode setting.Steps to reproduce
Environment
Steps to Reproduce
--auth none:--auth nonein ProgramArgumentsExpected behavior
Expected Behavior
With
--auth none, the request should be processed without any auth or scope checks.Actual behavior
Actual Behavior
{"ok":false,"error":{"type":"forbidden","message":"missing scope: operator.write"}}HTTP 403 is returned regardless of:
none,token)x-openclaw-scopes: operator.read operator.writeheaderOpenClaw version
2026.3.28
Operating system
macOS 26.3 (arm64)
Install method
No response
Model
NA
Provider / routing chain
NA
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
missing scope: operator.writewhenchat.send#17408