#lost my gateway and it wont restart.

53 messages Β· Page 1 of 1 (latest)

idle stump
#

can show you the results of the results of the doctor. I use Kimi as my main brain.

reef bisonBOT
chrome orioleBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

oblique pikeBOT
#

Yep, please paste it here.

For a gateway that will not restart, the most useful bundle is:

openclaw --version
openclaw status --all
openclaw gateway status
openclaw doctor

If it still looks unclear, also grab the startup error from:

openclaw logs --follow
idle stump
#

Run "openclaw doctor --fix" to apply changes.
Invalid config:

  • channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties
    β”‚
    β”” Doctor complete.
oblique pikeBOT
#

That is useful, and Kimi probably is not the blocker here.

This looks like a config schema problem, specifically under channels.discord.guilds.
must NOT have additional properties usually means those guild entries contain old or unsupported keys.

Try this next:

openclaw --version
openclaw doctor --fix
openclaw gateway restart
openclaw gateway status

If doctor --fix still complains, paste the two config snippets for:

  • channels.discord.guilds.1476046411387769005
idle stump
#

kravitz@Kravitzs-Mac-mini ~ % openclaw logs --follow
Invalid config at /Users/kravitz/.openclaw/openclaw.json:\n- channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties

  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties

🦞 OpenClaw 2026.4.12 (1c0672b) β€” Runs on a Raspberry Pi. Dreams of a rack in Iceland.

Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties

Run: openclaw doctor --fix
[openclaw] Failed to start CLI: Error: Invalid config at /Users/kravitz/.openclaw/openclaw.json:

  • channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties
    at createInvalidConfigError (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:2980:32)
    at throwInvalidConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:2993:8)
    at Object.loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:18707:5)
    at file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:19133:56
    at loadPinnedRuntimeConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/runtime-snapshot-68DJd4Jj.js:42:17)
    at loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:19133:9)
    at loadGatewayConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/call-DMdUDtab.js:37:195)
    at Object.loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/call-DMdUDtab.js:50:21)
    at buildGatewayConnectionDetailsWithResolvers (file:///opt/homebrew/lib/node_modules/openclaw/dist/connection-details-zuhCLDbg.js:6:57)
    at Module.buildGatewayConnectionDetails (file:///opt/homebrew/lib/node_modules/openclaw/dist/call-DMdUDtab.js:49:9)
    kravitz@Kravitzs-Mac-mini ~ %
oblique pikeBOT
#

Nice, this confirms the real issue.

The gateway is not starting because the config file is invalid, before model selection even matters.
Also, openclaw logs --follow will not help much until the config parses again.

Please run the repair command it suggested:

openclaw doctor --fix
openclaw gateway restart
openclaw gateway status

If doctor --fix still fails, paste either:

  1. the output of openclaw doctor --fix, or
  2. the two JSON blocks for these entries from ~/.openclaw/openclaw.json:
#
  • channels.discord.guilds.1476046411387769005
  • channels.discord.guilds.1032722586301366282

Common culprit: old Discord keys inside those guild/channel blocks, especially channel-level allow, which should now be enabled.

Valid guild-level keys are basically:
slug, requireMention, ignoreOtherMentions, tools, toolsBySender, reactionNotifications, users, roles, channels

Docs: https://docs.openclaw.ai/gateway/doctor and https://docs.openclaw.ai/channels/discord

idle stump
#

Invalid config at /Users/kravitz/.openclaw/openclaw.json:\n- channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties

  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties

🦞 OpenClaw 2026.4.12 (1c0672b) β€” I'll butter your workflow like a lobster roll: messy, delicious, effective.

Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties

Run: openclaw doctor --fix
Gateway aborted: config is invalid.
channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties
Fix the config and retry, or run "openclaw doctor" to repair.
Invalid config at /Users/kravitz/.openclaw/openclaw.json:\n- channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties

  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties

🦞 OpenClaw 2026.4.12 (1c0672b) β€” I read logs so you can keep pretending you don't have to.

Gateway status failed: Error: Invalid config at /Users/kravitz/.openclaw/openclaw.json:

  • channels.discord.guilds.1476046411387769005: invalid config: must NOT have additional properties
  • channels.discord.guilds.1032722586301366282: invalid config: must NOT have additional properties
    kravitz@Kravitzs-Mac-mini ~ %
oblique pikeBOT
#

Yep, at this point we need the actual two guild blocks. Doctor is not auto-repairing them, so the next step is to inspect the bad keys directly.

Run this read-only command and paste the output:

python3 - <<'PY'
import json, pathlib, pprint
p = pathlib.Path.home() / ".openclaw" / "openclaw.json"
cfg = json.loads(p.read_text())
guilds = cfg.get("channels", {}).get("discord", {}).get("guilds", {})
for gid in ["1476046411387769005", "1032722586301366282"]:
    print(f"\n=== {gid} ===")
    pprint.pp(guilds.get(gid))
PY

That will print just the two problematic channels.discord.guilds entries, not your whole config.

#

Once I see those, I can tell you exactly which key(s) need to be removed or renamed.

idle stump
#

kravitz@Kravitzs-Mac-mini ~ % python3 - <<'PY'
import json, pathlib, pprint
p = pathlib.Path.home() / ".openclaw" / "openclaw.json"
cfg = json.loads(p.read_text())
guilds = cfg.get("channels", {}).get("discord", {}).get("guilds", {})
for gid in ["1476046411387769005", "1032722586301366282"]:
print(f"\n=== {gid} ===")
pprint.pp(guilds.get(gid))
PY

=== 1476046411387769005 ===
{'sessionScope': 'main'}

=== 1032722586301366282 ===
{'sessionScope': 'main', 'requireMention': True}
kravitz@Kravitzs-Mac-mini ~ %

oblique pikeBOT
#

Found it, the bad key is sessionScope.

That key is not valid inside channels.discord.guilds.<guildId> in 2026.4.12, which is why the gateway refuses to start.

Please edit ~/.openclaw/openclaw.json so those entries become:

"1476046411387769005": {}

and

"1032722586301366282": {
  "requireMention": true
}
idle stump
#

can you walk me through how to edit. i'm lost. can you direct me where to past in the terminal or what command to request

oblique pikeBOT
#

Yep. Easiest path on Mac:

1) Back up the file

Paste this in Terminal:

cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup

2) Open the config file

Paste this in Terminal:

open -e ~/.openclaw/openclaw.json

That opens the file in a text editor window.

#

3) Edit these two spots in the file

Find 1476046411387769005 and change its block to:

"1476046411387769005": {}

Find 1032722586301366282 and change its block to:

"1032722586301366282": {
  "requireMention": true
}

The key thing is: remove sessionScope: "main" from both.

#

If the formatting looks different, that is fine, just delete the sessionScope line and any extra comma it leaves behind.

4) Save

In the editor window, press Cmd+S, then close it.

5) Restart OpenClaw

Back in Terminal, paste:

openclaw gateway restart
openclaw gateway status

If you want, I can also give you a single copy-paste command that fixes it automatically.

idle stump
#

is this right?{
"agents": {
"defaults": {
"workspace": "/Users/kravitz/.openclaw/workspace",
"models": {
"moonshot/kimi-k2.5": {
"alias": "Kimi"
}
},
"model": {
"primary": "moonshot/kimi-k2.5"
}
}
},
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "8a65c95899d792a5a6dc29a873cf739b80199981edfdce57"
},
"port": 18789,
"bind": "loopback",
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"controlUi": {
"allowInsecureAuth": true
},
"nodes": {
"denyCommands": [
"camera.snap",
"camera.clip",
"screen.record",
"contacts.add",
"calendar.add",
"reminders.add",
"sms.send",
"sms.search"
]
}
},
"session": {
"dmScope": "per-channel-peer"
},
"tools": {
"profile": "coding"
},
"models": {
"mode": "merge",
"providers": {
"moonshot": {
"baseUrl": "https://api.moonshot.ai/v1",
"api": "openai-completions",
"models": [
{
"id": "kimi-k2.5",
"name": "Kimi K2.5",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 262144,
"maxTokens": 262144
}
]
}
}
},
"auth": {
"profiles": {
"moonshot:default": {
"provider": "moonshot",
"mode": "api_key"
}
}
},
"channels": {
"telegram": {
"enabled": true,
"groups": {
"*": {
"requireMention": true
}
},
"botToken": "8147746734:AAE-tvwseAbJDdmXxdBn4MsMZ1PV1D7QXN0"
},
"discord": {
"enabled": true,
"token": "MTQ3MTkwMzUwNjQyMzIyMjUxNw.Ges8Jg.rJo7vvWb-m9jgAEKRbbJmx45APRJ8X8fnkRvcQ",
"guilds": {
"1476046411387769005": {}
"sessionScope": "main"
},
"1032722586301366282": {
"requireMention": true
}
}
}
}
},
"hooks": {
"internal": {
"enabled": true,
"entries": {
"session-memory": {
"enabled": true
},
"command-logger": {
"enabled": true
}
}
}
},
"wizard": {
"lastRunAt": "2026-04-12T13:14:50.579Z",
"lastRunVersion": "2026.4.11",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"meta": {
"lastTouchedVersion": "2026.4.11",
"lastTouchedAt": "2026-04-12T13:14:52.366Z"
},
"plugins": {
"entries": {
"moonshot": {
"enabled": true
}
}
}
}

oblique pikeBOT
#

Not quite, but very close.

The problem is here:

"1476046411387769005": {}
  "sessionScope": "main"
},

That leftover sessionScope line must be deleted, and the first guild entry needs to be just {} with a comma after it.

Your discord section should look like this:

"discord": {
#
  "enabled": true,
  "token": "YOUR_DISCORD_TOKEN",
  "guilds": {
    "1476046411387769005": {},
    "1032722586301366282": {
      "requireMention": true
    }
  }
}

So:

  • delete the sessionScope line entirely
  • make sure "1476046411387769005": {}, ends with a comma
  • keep the second guild exactly as:
#
  "1032722586301366282": {
    "requireMention": true
  }

Then save and run in Terminal:

openclaw gateway restart
openclaw gateway status

Also, you pasted live tokens in chat. Please rotate/redact those after this, especially the Discord token, Telegram bot token, and gateway token.

idle stump
#

openclaw gateway status
Failed to read config at /Users/kravitz/.openclaw/openclaw.json SyntaxError: JSON5: invalid character '}' at 108:3
at syntaxError (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1110:17)
at invalidChar (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1055:12)
at Object.end (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:704:15)
at Object.default (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:168:37)
at lex (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.jsπŸ’―42)
at Object.parse (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:25:17)
at Object.loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:18660:24)
at readCliBannerTaglineMode (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:13:51)
at resolveTaglineMode (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:291:9)
at formatCliBannerLine (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:300:9) {
lineNumber: 108,
columnNumber: 3

#

🦞 OpenClaw 2026.4.12 (1c0672b) β€” Powered by open source, sustained by spite and good documentation.

Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • <root>: JSON5 parse failed: SyntaxError: JSON5: invalid character '}' at 108:3

Run: openclaw doctor --fix
Gateway aborted: config is invalid.
<root>: JSON5 parse failed: SyntaxError: JSON5: invalid character '}' at 108:3
Fix the config and retry, or run "openclaw doctor" to repair.
Failed to read config at /Users/kravitz/.openclaw/openclaw.json SyntaxError: JSON5: invalid character '}' at 108:3
at syntaxError (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1110:17)
at invalidChar (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1055:12)
at Object.end (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:704:15)
at Object.default (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:168:37)
at lex (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.jsπŸ’―42)
at Object.parse (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:25:17)
at Object.loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:18660:24)
at readCliBannerTaglineMode (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:13:51)
at resolveTaglineMode (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:291:9)
at formatCliBannerLine (file:///opt/homebrew/lib/node_modules/openclaw/dist/banner-DRvsS64z.js:300:9) {
lineNumber: 108,
columnNumber: 3
}

#

🦞 OpenClaw 2026.4.12 (1c0672b) β€” Welcome to the command line: where dreams compile and confidence segfaults.

Failed to read config at /Users/kravitz/.openclaw/openclaw.json SyntaxError: JSON5: invalid character '}' at 108:3
at syntaxError (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1110:17)
at invalidChar (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:1055:12)
at Object.end (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:704:15)
at Object.default (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:168:37)
at lex (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.jsπŸ’―42)
at Object.parse (/opt/homebrew/lib/node_modules/openclaw/node_modules/json5/lib/parse.js:25:17)
at Object.loadConfig (file:///opt/homebrew/lib/node_modules/openclaw/dist/io-CNTgoVgA.js:18660:24)
at loadDaemonConfigContext (file:///opt/homebrew/lib/node_modules/openclaw/dist/status-Dm_1xEDZ.js:112:68)
at async gatherDaemonStatus (file:///opt/homebrew/lib/node_modules/openclaw/dist/status-Dm_1xEDZ.js:205:104)
at async runDaemonStatus (file:///opt/homebrew/lib/node_modules/openclaw/dist/status-Dm_1xEDZ.js:464:18) {
lineNumber: 108,
columnNumber: 3
}
Gateway status failed: SyntaxError: JSON5: invalid character '}' at 108:3
kravitz@Kravitzs-Mac-mini ~ %

oblique pikeBOT
#

You are close, this is now just a JSON syntax problem, probably one extra }.

The easiest fix is to replace your entire channels section with this exact shape, keeping your real tokens locally:

"channels": {
  "telegram": {
    "enabled": true,
    "groups": {
      "*": {
        "requireMention": true
      }
    },
    "botToken": "YOUR_TELEGRAM_TOKEN"
  },
  "discord": {
#
    "enabled": true,
    "token": "YOUR_DISCORD_TOKEN",
    "guilds": {
      "1476046411387769005": {},
      "1032722586301366282": {
        "requireMention": true
      }
    }
  }
},

Two important details:

  • there is a comma after the telegram block
  • there is a comma after the whole channels block, because hooks comes next
#

Then save and run:

openclaw gateway status

If it still errors, paste this read-only output next:

nl -ba ~/.openclaw/openclaw.json | sed -n '95,112p'
#

You are very close, I just need to see the actual lines around line 108.

Please paste this in Terminal and send me the output:

nl -ba ~/.openclaw/openclaw.json | sed -n '100,112p'

That will show the nearby lines with line numbers, so I can point to the exact extra }.

I do not need the gateway status output again, just that line dump.

#

No worries, that was the wrong command.

Please copy this exact one line into Terminal, nothing else:

nl -ba ~/.openclaw/openclaw.json | sed -n '100,112p'

I need the output that starts with numbered lines like:

100 ...
101 ...
102 ...

That will show me the extra } directly.

idle stump
#

kravitz@Kravitzs-Mac-mini ~ % nl -ba ~/.openclaw/openclaw.json | sed -n '100,112p'
100 "sessionScope": "main"
101 },
102 "1032722586301366282": {
103 "requireMention": true
104 }
105 }
106 }
107 }
108 },
109 "hooks": {
110 "internal": {
111 "enabled": true,
112 "entries": {
kravitz@Kravitzs-Mac-mini ~ %

oblique pikeBOT
#

Yep, I see it now. There are two problems:

  1. sessionScope is still there
  2. there is one extra } before "hooks"

Replace that whole chunk with this exact block:

"1476046411387769005": {},
"1032722586301366282": {
  "requireMention": true
}
      }
    }
  },
#

So the area right before "hooks" should end up like this:

      "guilds": {
        "1476046411387769005": {},
        "1032722586301366282": {
          "requireMention": true
        }
      }
    }
  },
  "hooks": {

Then save and run:

#
openclaw gateway status

I’m glad we caught it, this is just brace cleanup now.

idle stump
#

this is what i have now: "guilds": {
"1476046411387769005": {},
"1032722586301366282": {
"requireMention": true
}
}
}
},
}
}
}
}
},
"hooks": {

oblique pikeBOT
#

Yep, that got tangled. Let’s do the safer thing and use the backup you made.

Paste these one by one into Terminal:

cp ~/.openclaw/openclaw.json.backup ~/.openclaw/openclaw.json
python3 - <<'PY'
import json
from pathlib import Path

p = Path.home() / ".openclaw" / "openclaw.json"
cfg = json.loads(p.read_text())
#
guilds = cfg["channels"]["discord"]["guilds"]
guilds["1476046411387769005"] = {}
guilds["1032722586301366282"] = {"requireMention": True}

p.write_text(json.dumps(cfg, indent=2) + "\n")
print("Fixed Discord guild entries.")
PY
openclaw gateway status

If that works, then run:

#
openclaw gateway restart

What this does:

  • restores your clean backup
  • fixes only the two broken Discord guild entries
  • leaves the rest of your config alone

If any step errors, paste that exact output and I’ll keep walking with you.

idle stump
#

🦞 OpenClaw 2026.4.12 (1c0672b) β€” I'll refactor your busywork like it owes me money.

β”‚
β—‡
Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-04-13.log
Command: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: running (pid 63856, state active)
RPC probe: ok

Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
kravitz@Kravitzs-Mac-mini ~ %

oblique pikeBOT
#

Nice, that looks healthy πŸŽ‰

The important lines are:

  • Runtime: running
  • RPC probe: ok

So the gateway is back up, and the config issue is fixed.

Next, I’d test with:

openclaw status
openclaw channels status --probe

One important cleanup item: you pasted live gateway / Discord / Telegram tokens earlier in this thread, so please rotate those now.

#

If this fixed it, please right-click the solution message β†’ Apps β†’ βœ… Mark Solution so Answer Overflow can index it for the next person.

idle stump
#

🦞 OpenClaw 2026.4.12 (1c0672b) β€” I'm not magicβ€”I'm just extremely persistent with retries and coping strategies.

β”‚
12:40:41 [plugins] [lcm] Plugin loaded (enabled=true, db=/Users/kravitz/.openclaw/lcm.db, threshold=0.75)
12:40:41 [plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load: lossless-claw (/Users/kravitz/.openclaw/extensions/lossless-claw/index.ts). Set plugins.allow to explicit trusted ids.
12:40:42 [plugins] [lcm] Plugin loaded (enabled=true, db=/Users/kravitz/.openclaw/lcm.db, threshold=0.75)
12:40:42 [plugins] lossless-claw: loaded without install/load-path provenance; treat as untracked local code and pin trust via plugins.allow or install records (/Users/kravitz/.openclaw/extensions/lossless-claw/index.ts)
β—‡
β”‚
β—‡
OpenClaw status

Overview
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Item β”‚ Value β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ OS β”‚ macos 26.3.1 (arm64) Β· node 25.6.1 β”‚
β”‚ Dashboard β”‚ http://127.0.0.1:18789/ β”‚
β”‚ Tailscale β”‚ off β”‚
β”‚ Channel β”‚ stable (default) β”‚
β”‚ Update β”‚ pnpm Β· up to date Β· npm latest 2026.4.12 β”‚
β”‚ Gateway β”‚ local Β· ws://127.0.0.1:18789 (local loopback) Β· reachable 47ms Β· auth token Β· Kravitzs-Mac- β”‚
β”‚ β”‚ mini.local (10.0.0.16) app 2026.4.12 macos 26.3.1 β”‚
β”‚ Gateway self β”‚ Kravitzs-Mac-mini.local (10.0.0.16) app 2026.4.12 macos 26.3.1 β”‚
β”‚ Gateway service β”‚ LaunchAgent installed Β· loaded Β· running (pid 63856, state active) β”‚
β”‚ Node service β”‚ LaunchAgent not installed β”‚
β”‚ Agents β”‚ 2 Β· no bootstrap files Β· sessions 25 Β· default main active 1m ago β”‚
β”‚ Memory β”‚ 70 files Β· 325 chunks Β· sources memory Β· plugin memory-core Β· vector ready Β· fts ready Β· β”‚
β”‚ β”‚ cache on (1530) β”‚
β”‚ Plugin compatibility β”‚ none β”‚
β”‚ Probes β”‚ skipped (use --deep) β”‚
β”‚ Events β”‚ none β”‚
β”‚ Tasks β”‚ 1 active Β· 0 queued Β· 1 running Β· 10 issues Β· audit 1 error Β· 21 warn Β· 92 tracked β”‚
β”‚ Heartbeat β”‚ 30m (main), disabled (codex) β”‚
β”‚ Sessions β”‚ 25 active Β· default kimi-k2.5 (262k ctx) Β· 2 stores β”‚
└──────────────────────┴─────────────────────────────────────────────

oblique pikeBOT
#

Yep, this looks healthy now.

The important part is that the gateway is up and reachable. The original restart/config problem is fixed.

What is left here is mostly warning-level cleanup:

  • plugins.allow is empty plus lossless-claw means a local plugin is auto-loading without being explicitly trusted.
    • if you use that plugin, pin it with plugins.allow
    • if you do not use it, disable/remove it
  • please rotate the tokens you pasted earlier in this thread

If you want one more confidence check, run:

openclaw channels status --probe
idle stump
oblique pikeBOT
#

Totally fair question.

β€œRotate the keys” just means replace the old secret with a new one, because the old one was posted in chat and should be treated like exposed.

Think of it like changing a password after you accidentally shared it.

For your case, the exposed secrets were:

  • gateway.auth.token
  • channels.discord.token
  • channels.telegram.botToken

What to do

1) Gateway token
In Terminal:

#
openclaw config set gateway.auth.token "$(openssl rand -hex 32)"
openclaw gateway restart

2) Discord bot token
Go to the Discord Developer Portal for your bot, then reset/regenerate the bot token, and paste the new one into channels.discord.token in your config.

3) Telegram bot token
Open BotFather in Telegram, regenerate the token for your bot, and paste the new one into channels.telegram.botToken.

Then restart the gateway again:

openclaw gateway restart
#

Important: do not paste the new tokens here.

If you want, I can walk you through the Discord token and Telegram token one at a time.

idle stump
#

βœ