How do I run OpenClaw in remote mode client connects to a Gateway elsewhere

Set gateway.mode: "remote" and point to a remote WebSocket URL, optionally with a token/password:
{
gateway: {
mode: "remote",
remote: {
url: "ws://gateway.tailnet:18789",
token: "your-token",
password: "your-password",
},
},
}
Notes:
openclaw gateway only starts when gateway.mode is local (or you pass the override flag).
The macOS app watches the config file and switches modes live when these values change.