Summary
When gateway.auth.mode is set to none, the Gateway's own internal RPC probe fails with:
gateway closed (1008): device identity required
RPC probe: failed
This causes a cascading failure chain:
- All
exec approval followup dispatches timeout after 60s
- Frontend detects
seq-gap → triggers websocket reconnect
- Reconnect pulls history from server, which may not have persisted the streaming assistant reply yet
- The reply appears to the user then disappears ("flash then vanish")
Expected behavior
auth.mode=none should still allow the Gateway's own internal RPC probe and followup dispatch to function, since these are internal operations that don't need external authentication.
Actual behavior
Internal RPC probe is rejected with 1008: device identity required, making the entire followup pipeline non-functional.
Workaround
Set gateway.auth.mode to token (which auto-generates a token). This immediately resolves the issue.
Environment
- OpenClaw version: 2026.4.14
- OS: macOS (Darwin 25.4.0, arm64)
- Node: v25.5.0
- Gateway: loopback binding (127.0.0.1:18789)
Logs
exec approval followup dispatch failed: gateway timeout after 60000ms
Gateway: unreachable (gateway closed (1008): device identity required)
Summary
When
gateway.auth.modeis set tonone, the Gateway's own internal RPC probe fails with:This causes a cascading failure chain:
exec approval followupdispatches timeout after 60sseq-gap→ triggers websocket reconnectExpected behavior
auth.mode=noneshould still allow the Gateway's own internal RPC probe and followup dispatch to function, since these are internal operations that don't need external authentication.Actual behavior
Internal RPC probe is rejected with
1008: device identity required, making the entire followup pipeline non-functional.Workaround
Set
gateway.auth.modetotoken(which auto-generates a token). This immediately resolves the issue.Environment
Logs