#no commands or reactions
1 messages · Page 1 of 1 (latest)
This usually isn’t a “recent update broke Discord” thing — it’s almost always one of these:
1) Discord permissions/scope got removed (most common)
Two separate toggles can kill exactly what you described:
- Slash commands: the bot must have been invited with the
applications.commandsscope and the channel must allow Use Application Commands for the bot/role. - Reactions: the channel must allow Add Reactions (and typically Read Message History).
Quick test:
- When you type
/in the message box, do you still see OpenClaw commands in the picker?- No → almost certainly missing
applications.commandsscope or “Use Application Commands” permission. - Yes, but it fails / does nothing → gateway isn’t receiving/handling interactions (see #3).
- No → almost certainly missing
Docs: https://docs.openclaw.ai/channels/discord
2) Native commands or ack reactions got disabled in config
OpenClaw can disable/clear native commands, and ack reactions can be turned off.
Relevant config knobs (from docs):
- Native slash commands:
commands.native(default"auto"), per-channel override:channels.discord.commands.native - Processing “I’m working” reaction:
channels.discord.ackReaction(ormessages.ackReaction). Setting it to""disables it.
Docs:
- Slash commands: https://docs.openclaw.ai/tools/slash-commands
- Discord channel config: https://docs.openclaw.ai/channels/discord
3) The gateway/bot is “up” but Discord connectivity is broken
If commands exist but clicking /models gives “interaction failed” / no model picker, I’d want to see:
openclaw --versionopenclaw gateway status- Any Discord-related errors in the gateway logs around startup (command registration) or when invoking the command.
Fast workaround (to confirm it’s just “native commands”)
Even if the native picker is broken, try sending this as a plain message in Discord:
/model list- or just
/model
If text commands still work, the problem is specifically native slash command registration/permissions.
If you paste openclaw --version + openclaw gateway status and tell me whether /models shows up in the / menu at all, we can narrow it down to the exact bucket in one step.
ah i'm pretty sure it's 2! i saw an agent disabled native stuff yesterday because something was crashing
how to fix it?
Yep — if someone flipped native commands off as a crash workaround, that would exactly explain both symptoms (no /models picker + no “I’m working” ack reaction).
Check what got changed
Run these on the machine running the Gateway:
openclaw config get commands.native
openclaw config get channels.discord.commands.native
openclaw config get channels.discord.ackReaction
openclaw config get messages.ackReaction
Re-enable slash commands + ack reactions
Safest is usually “reset to defaults” by unsetting any overrides:
openclaw config unset channels.discord.commands.native
openclaw config set commands.native "auto" --strict-json
openclaw config unset channels.discord.ackReaction
openclaw config unset messages.ackReaction
openclaw gateway restart
Notes:
commands.native=falseclears previously registered Discord slash commands at startup (so/modelswon’t show/open).ackReactioncan be disabled by setting it to""(empty string). Unsetting restores the normal fallback behavior.
Docs:
- Slash commands: https://docs.openclaw.ai/tools/slash-commands
- Discord config (ackReaction + native): https://docs.openclaw.ai/channels/discord
If it starts crashing again when you re-enable
Then we need the crash reason (it’ll be in the gateway logs) + your openclaw --version. If it’s reproducible, that’s a legit bug → GitHub issue time: https://github.com/openclaw/openclaw/issues
If the above brings back /models + reactions, mark the solution in the thread so Answer Overflow indexes it.
Do this on the machine where your Gateway runs (SSH into it if it’s a VPS):
1) Re-enable native slash commands + reactions in config
# Turn native commands back on (Discord uses this for the /models picker)
openclaw config set commands.native "auto" --strict-json
# Remove any per-Discord override that forces native commands off
openclaw config unset channels.discord.commands.native
# Re-enable the “processing” reaction (unset restores default fallback)
openclaw config unset channels.discord.ackReaction
openclaw config unset messages.ackReaction
2) Restart the gateway
openclaw gateway restart
Give Discord ~30–90 seconds after restart for command registration to show up.
3) Verify Discord permissions (quick check)
In the Discord channel where you expect it to work, confirm the bot (or its role) is allowed:
- Use Application Commands (for slash commands like
/models) - Add Reactions (for the ack reaction)
- Send Messages + Read Message History (generally needed)
4) Test
- Type
/models→ should open the picker - Send a normal message → you should see the “👀” (or whatever) ack reaction while it processes
If it still doesn’t come back, paste the output of: