#Discord broke
1 messages · Page 1 of 1 (latest)
Since you already included openclaw --version: 2026.5.4 on WSL2. The downgrade is the important clue.
OpenClaw has a newer-config guard: if your ~/.openclaw/openclaw.json was last written by a newer OpenClaw, an older binary can refuse gateway/service mutations. Please run these and paste the output, with tokens redacted:
which openclaw
openclaw --version
openclaw config get meta.lastTouchedVersion
openclaw gateway status --deep
openclaw channels status --probe
openclaw logs --tail 120
If the log says the binary is older than the version that last wrote config, the clean fix is to go back to the newer OpenClaw version that touched the config, then reinstall/restart the gateway from that install. The emergency downgrade escape hatch exists, but only use it for one intentional recovery command:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
Docs for the relevant runbook:
https://docs.openclaw.ai/gateway/troubleshooting#split-brain-installs-and-newer-config-guard
https://docs.openclaw.ai/channels/discord
No reply from the bot
Got it. “No reply” can be one of four different Discord paths, so the fastest split is:
openclaw status
openclaw gateway status
openclaw channels status --probe
openclaw pairing list discord
openclaw logs --tail 160
What to look for:
- Bot not connected / token errors: Discord token or app startup issue.
- Bot online but no server/channel replies: usually guild/channel allowlist, missing Message Content Intent, or mention gating. Try mentioning the bot directly once.
- DM no reply: pairing is probably pending or blocked; check
openclaw pairing list discord. - You see token usage / assistant output in logs but no Discord message: model may be answering privately instead of using the message tool. A workaround is setting
messages.groupChat.visibleReplies: "automatic".
Docs: https://docs.openclaw.ai/channels/troubleshooting#discord and https://docs.openclaw.ai/channels/discord
Paste the channels status --probe and relevant log lines here, but redact tokens/secrets.
The useful clue in that output: openclaw status sees Discord config, but openclaw channels status --probe only reports Telegram. That suggests the Discord runtime monitor is not actually running/connected, or it failed during startup. Also openclaw logs --tail is too new for 2026.5.4, so use the file log directly.
Please run:
grep -iE "discord|application|intent|token|401|403|429|gateway monitor|channel" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 120
openclaw config get channels.discord
openclaw config get meta.lastTouchedVersion
Redact the Discord token if it appears.
Two immediate notes:
- Since this broke after downgrading and your status says
npm update 2026.5.12, the cleanest fix is probably to go back to current stable:openclaw update, then restart the gateway. - Your gateway health says
event loop degradedwith high CPU. After updating/restarting, re-runopenclaw channels status --probe; Discord should appear there, not just in the config table.
Found it. Discord is failing before it can start:
@openclaw/discord ... Cannot find module ... plugin-sdk/root-alias.cjs/channel-message
That is a core/plugin version mismatch from the downgrade: the installed @openclaw/discord package is newer than your OpenClaw core 2026.5.4, so it imports SDK files that do not exist in that older core.
Recommended fix, since you are on stable and status already says 2026.5.12 is available:
openclaw update
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
If you intentionally need to stay on 2026.5.4, pin Discord back to the matching plugin version instead:
openclaw plugins update npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
After it is fixed, channels status --probe should show Discord, not only Telegram.
Small safety note: that log paste included an OpenAI auth URL. It is probably short-lived, but for future logs, redact auth URLs/tokens/secrets before posting.
I downgraded from 2026.5.12 due to it's issue
That makes sense. In that case, do the second path: keep core on 2026.5.4, but downgrade the Discord plugin to the matching 2026.5.4 package.
openclaw plugins update npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
If plugins update refuses because the install record is weird, try reinstalling the exact plugin version:
openclaw plugins install npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
The key is that core and @openclaw/discord need to be on the same release line. Your current error is specifically a newer Discord plugin importing SDK files that 2026.5.4 core does not have.
Also, if the 2026.5.12 issue is reproducible, please file it here so it can be tracked: https://github.com/openclaw/openclaw/issues
That No install record means plugins update does not know which existing install to mutate. Use the install command with the exact version instead:
openclaw plugins install npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
If Discord still does not appear in channels status --probe, run this next:
openclaw plugins list --verbose | grep -i -A8 -B4 discord
grep -iE "discord|plugin failed|failed during register|Cannot find module" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 80
The doctor output now says plugin registry errors are 0, which is good, but the channel probe still only showing Telegram means Discord still is not loaded as a running channel. The exact install should align the plugin with core 2026.5.4.
The installer gave us the next exact fix:
plugin already exists ... rerun install with --force to replace it
Run these one at a time:
openclaw plugins install --force npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
If Discord still does not show up after that, paste:
openclaw plugins list --verbose | grep -i -A8 -B4 discord
grep -iE "discord|plugin failed|failed during register|Cannot find module" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 80
The reason I’m saying “one at a time” is just to make the failing command obvious. Right now the main blocker is still that the existing newer Discord plugin directory needs to be replaced with the 2026.5.4 one.
Good, the plugin mismatch is fixed now. Discord is at least loading:
Discord default: enabled, configured, running, disconnected, bot:@Miko, intents:content=limited
Now the remaining issue is Discord transport/connectivity or intents, not the downgrade/plugin crash.
Next checks:
grep -iE "discord|disconnect|gateway|intent|401|403|429|shard|ready|invalid" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 120
openclaw plugins inspect discord --runtime --json
openclaw channels status --probe
Also check the Discord Developer Portal for that bot and make sure Message Content Intent is enabled. Your probe says intents:content=limited, which can make guild/channel messages invisible or only partially visible depending on how Discord classifies the message. If you only expect replies when mentioning the bot, try a direct mention after the restart.
If the log shows repeated reconnects/rate limits, leave the gateway running for a couple minutes after restart and re-run openclaw channels status --probe; Discord can take a short moment to settle after a plugin reinstall.
This paste is mostly showing the old failed startup at 10:17, before the successful --force install at 10:18. So don’t chase that old Cannot find module line yet.
Please run these separately now, after the force install/restart:
node -p "require('/home/wrakeeb/.openclaw/npm/node_modules/@openclaw/discord/package.json').version"
openclaw channels status --probe
grep -iE "channels/discord|discord.*starting|discord.*ready|discord.*disconnect|discord.*error|plugin failed|Cannot find module" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 80
Expected first line should be:
2026.5.4
If that is correct and channels status still says Discord ... running, disconnected, then the plugin version problem is fixed and we’re down to a Discord gateway connection issue. In that case the last grep should show the actual disconnect reason.
That output is the good state:
@openclaw/discord version: 2026.5.4
Discord default: ... running, connected ... works
So Discord text transport is fixed. The old Cannot find module ... channel-message lines are historical from before the forced plugin reinstall.
Two remaining notes:
intents:content=limited: enable Message Content Intent in the Discord Developer Portal if guild/channel messages are still flaky.discord channels unresolved: guild:1456350064065904867: that configured guild is not visible/resolvable to the bot. If that server should work, make sure @Miko is actually in that server and has channel permissions, or remove that stale guild entry from your Discord config.
Also, your logs show the same downgrade mismatch for @openclaw/codex:
@openclaw/codex ... Cannot find module ... json-schema-runtime
If you use the Codex plugin while staying on OpenClaw 2026.5.4, pin that plugin too:
openclaw plugins install --force npm:@openclaw/codex@2026.5.4
openclaw gateway restart
If Discord is replying now, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes the fix for the next person.
Good. The Discord break was the downgraded core plus newer plugin mismatch; pinning the plugin back to 2026.5.4 got it connected again.
wrakeeb@DESKTOPMRKJH:~$ openclaw plugins install --force npm:@openclaw/codex@2026.5.4 openclaw gateway restart 🦞 OpenClaw 2026.5.4 (325df3e) — Automation with claws: minimal fuss, maximal pinch. Installing @openclaw/codex@2026.5.4 into /home/wrakeeb/.openclaw/npm… Linked peerDependency "openclaw" -> /home/wrakeeb/.npm-global/lib/node_modules/openclaw Config overwrite: /home/wrakeeb/.openclaw/openclaw.json (sha256 ec9b7feb6f5dc5ce65362f1f0e618fb52e908380c2a827a3ca5285cdf55eec8f -> b59415183bed44bfdd2f3ef883e54361823591342d598fe4a8cf5ab6a23aca59, backup=/home/wrakeeb/.openclaw/openclaw.json.bak) Installed plugin: codex Restart the gateway to load plugins. 🦞 OpenClaw 2026.5.4 (325df3e) — If it works, it's automation; if it breaks, it's a "learning opportunity." Restarted systemd service: openclaw-gateway.service
Good, that should clear the Codex plugin SDK mismatch too.
Quick verify:
node -p "require('/home/wrakeeb/.openclaw/npm/node_modules/@openclaw/codex/package.json').version"
openclaw doctor
grep -iE "codex failed|discord failed|Cannot find module" /tmp/openclaw/openclaw-2026-05-17.log | tail -n 40
The version should be 2026.5.4. If the grep only shows old timestamps from before the reinstall and doctor shows no plugin errors, you’re clean.
That’s clean now.
The important parts:
@openclaw/codex version: 2026.5.4
Plugins: Errors: 0
The Cannot find module lines in your grep are old log entries from before you pinned Discord/Codex back to 2026.5.4. Since doctor shows plugin errors = 0 after the restart, the mismatch is resolved.
The remaining doctor text is just a config warning: your openai-codex/* model refs are still using the PI runner unless you switch to the Codex runtime. Leave it alone if that was intentional.
If this fixed the thread, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes it.
Ty Krill.
Send a full summary of the conversation in a cimpact way and also the commands and main solutions
Compact summary:
You downgraded OpenClaw from 2026.5.12 to 2026.5.4, and Discord stopped replying. The core issue was not the Discord token or pairing. It was a plugin/core version mismatch: newer installed plugins were still trying to load SDK files that do not exist in OpenClaw 2026.5.4.
Main symptoms:
openclaw statusshowed Discord config existed.openclaw channels status --probeinitially only showed Telegram.- Logs showed:
@openclaw/discord ... Cannot find module ... plugin-sdk/root-alias.cjs/channel-message @openclaw/codex ... Cannot find module ... plugin-sdk/root-alias.cjs/json-schema-runtime - That meant the plugins were newer than the downgraded OpenClaw core.
Main fix:
openclaw plugins install --force npm:@openclaw/discord@2026.5.4
openclaw doctor --fix
openclaw gateway restart
openclaw channels status --probe
Discord then showed:
Discord default: enabled, configured, running, connected ... works
Secondary fix for Codex plugin mismatch:
openclaw plugins install --force npm:@openclaw/codex@2026.5.4
openclaw gateway restart
Verification commands:
node -p "require('/home/wrakeeb/.openclaw/npm/node_modules/@openclaw/discord/package.json').version"
node -p "require('/home/wrakeeb/.openclaw/npm/node_modules/@openclaw/codex/package.json').version"
openclaw doctor
openclaw channels status --probe
Expected result:
2026.5.4
Plugins: Errors: 0
Discord ... connected ... works
Notes:
- Old
Cannot find modulelines in the same day’s log were historical, from before the forced reinstall.
intents:content=limitedmeans Message Content Intent should be enabled in the Discord Developer Portal if guild/channel reads are flaky.discord channels unresolved: guild:1456350064065904867means that configured guild is not visible to the bot; either add the bot there with permissions or remove the stale guild config.- General rule after downgrading: keep OpenClaw core and external
@openclaw/*plugins on the same release version.
Ty