#Lost ability to use /slash commands in discord

1 messages · Page 1 of 1 (latest)

runic mantleBOT
#

This isn’t skills — it’s access control.

Discord will still show the slash commands in the UI, but when you submit /reset, OpenClaw checks its allowlists/policies and if you’re no longer allowlisted it replies: “You are not authorized to use this command.” (docs explicitly call this out)
https://docs.openclaw.ai/channels/discord#native-commands-and-command-auth

The 2 most common ways this breaks after “some changes”

  1. Guild/channel allowlist no longer matches
  • If channels.discord.groupPolicy is allowlist (common/secure default), you must have your guild in:
  • channels.discord.guilds.<GUILD_ID>
  • And if you set users / roles, your Discord user (or role) must be included.
  • If you added a channels map under the guild, then only those channels are allowed; missing the current channel = denial.

Minimal working example (guild commands + messages allowed):

{
channels: {
#
discord: {
groupPolicy: "allowlist",
guilds: {
"YOUR_GUILD_ID": {
requireMention: false,
users: ["YOUR_USER_ID"]
}
}
}
}
}
  1. You set commands.allowFrom and accidentally excluded yourself
    If commands.allowFrom exists, it becomes the only authorization source for commands/directives:
    https://docs.openclaw.ai/tools/slash-commands#config
#

Example:

{
commands: {
allowFrom: {
discord: ["user:YOUR_USER_ID"]
}
}
}

If that list doesn’t include you (or is misformatted), /reset will fail even if normal chatting works.

Quick triage questions (answer these and we can pinpoint it fast)

  1. Does /reset fail in DMs too, or only in server channels?
  2. Did you add/change either of these blocks recently?
  • channels.discord.guilds ... (especially users, roles, or channels)
  • commands.allowFrom
#
  1. Paste your redacted config snippets for:
  • channels.discord (everything under it)
  • commands (if present)

After changing config, restart the gateway (openclaw gateway restart) so Discord command auth reloads.

If this fixes it, please mark the solution (right-click message → Apps → ✅ Mark Solution) so Answer Overflow indexes it.

runic mantleBOT
#

DM working basically proves: native commands are enabled + your Discord pairing/DM policy is fine. The “not authorized” is coming from guild allowlist rules.

Looking at your redacted config, there are two likely gotchas:

1) You’re invoking the command from the “flux” bot in a guild/channel it’s not allowlisted for

Your accounts.flux section allowlists only:

  • guild 14XXX92
  • and inside that, only channel 14XXX81

So if you run /reset anywhere else with the flux application’s slash command, OpenClaw will deny it.

Fix: either add the guild/channel you’re using to accounts.flux.guilds..., or remove the per-channel restriction.

2) Your accounts.default bot may not be inheriting the top-level channels.discord.guilds

You have the guild allowlist at the top level:

#
channels.discord.guilds = { "1XXX2": { users: ["8XXX7"] } }

…but accounts.default has groupPolicy: "allowlist" and no guilds block. Depending on version/merge behavior, that can effectively mean: “allowlist mode, but no guilds allowed” → slash commands denied in every guild.

Safest fix: duplicate/move the guild allowlist under the account you’re actually using (usually default):

channels: {
discord: {
accounts: {
default: {
groupPolicy: "allowlist",
guilds: {
"YOUR_GUILD_ID": {
#
requireMention: false,
users: ["YOUR_USER_ID"]
// (optional) channels: { "YOUR_CHANNEL_ID": { allow: true } }
}
}
}
}
}
}

Then restart: openclaw gateway restart.

Quick checks to confirm which of the above it is

  1. When you type /reset, Discord shows the command with an app/bot icon/name — is it the default bot or flux bot?
  2. What are the actual guild ID + channel ID where it fails? (Right-click → Copy ID)