Fix OpenClaw Discord Errors: Intents, Permissions, and Silent Bots
OpenClaw was previously known as Clawdbot and Moltbot. This guide applies to all versions.
Fix OpenClaw Discord errors: 4014 intent issues, missing permissions 50013, silent bots, requireMention config, and guild allowlists with real solutions.
Jump to your error
Check your OpenClaw logs first. Run openclaw logs --follow, trigger the error, and match what you see:
- "Used disallowed intents" or error code 4014 → Fix Gateway Error 4014 or jump to section below
- "Missing Permissions" or error code 50013 → Fix Permission Errors 50013
- "drop (mention required)" in logs → Fix requireMention Config
- "drop guild (not in allowlist)" or "drop channel (not in allowlist)" → Fix Channel and Server Allowlists
- Bot is online but completely silent, no errors in logs → Fix Bot Not Responding
Each error also has a dedicated deep-dive guide linked above. The full troubleshooting reference continues below.
Key takeaways
Error 4014 means you forgot to enable Message Content Intent in the Discord developer portal. Silent bots usually need Server Members Intent or aren't in your guild allowlist. Permission errors come from wrong role hierarchy or missing channel permissions.
Always review commands your agent suggests before approving them. Don't paste prompts from sources you don't trust.
Fixes when it breaks. Workflows when it doesn't.
OpenClaw guides, configs, and troubleshooting notes. Every two weeks.
Overview
Your OpenClaw (previously known as Clawdbot and Moltbot) agent should appear online in Discord and respond to messages. When it doesn't, you're dealing with intents (4014 is the classic), permissions, mention settings, or allowlist issues. Discord's security model is stricter than Telegram's, so there's more to configure upfront.
Discord Gateway Error 4014
This is the error everyone hits first. Your logs show:
Error: Disallowed intent(s): MESSAGE_CONTENT
Code: 4014The gateway crashes immediately on startup. I ran into this the first time I set up a Discord bot and couldn't figure out why the connection kept failing. Turns out Discord hides the intent toggles pretty deep in the developer portal. Why this happens:
Discord requires you to manually enable "Message Content Intent" for bots that need to read message text. It's a privacy feature Discord introduced to protect user message content. OpenClaw can't process your messages without it, so Discord blocks the connection entirely.
The fix:
Go to the Discord Developer Portal and select your application. Click "Bot" in the left sidebar. Scroll down to "Privileged Gateway Intents".
Enable these three intents:
- Presence Intent
- Server Members Intent
- Message Content Intent (this is the one that fixes 4014)
Click "Save Changes" at the bottom.
Now restart your OpenClaw gateway:
openclaw gateway restartCheck the logs:
openclaw logs --followYou should see Discord channel started and Logged in as YourBot#1234. The 4014 error is gone.
If you still see 4014
Make sure you saved the changes in the developer portal. The "Save Changes" button is easy to miss.
Also verify you are editing the correct bot application. If you have multiple bots, double-check the application ID matches your bot token.
If your bot is in a large number of servers, Discord may require verification before enabling Message Content Intent. Check the Discord developer documentation for current verification thresholds and submit your bot for verification if prompted.
Bot joins server but does not respond
Your bot appears online in the member list but never replies to messages. This is frustrating because there are no errors in the logs.
Missing server members intent
Your agent uses the Server Members Intent to track who is in the server and verify permissions. Without it, the agent sees messages but cannot process them properly.
Go back to the Discord Developer Portal, select your bot, click "Bot", and enable "Server Members Intent" under Privileged Gateway Intents.
Save and restart the gateway:
openclaw gateway restartGuild not in allowlist
OpenClaw has a guilds allowlist in the config. If a server is not on the list, the bot ignores all messages there.
Edit ~/.openclaw/config/config.json:
{
"channels": {
"discord": {
"accounts": {
"default": {
"token": "your_token_here",
"guilds": ["1234567890123456789"]
}
}
}
}
}Add your server's guild ID to the array. To find the guild ID, enable Developer Mode in Discord (User Settings > Advanced > Developer Mode). Then right-click your server icon and select "Copy Server ID".
If you want the bot to respond in all servers, set guilds to an empty array:
"guilds": []This allows the bot to work in any server it joins. Be careful with this if your bot is public.
Pairing not approved
Just like Telegram, Discord requires pairing approval. When you add the bot to a server, OpenClaw logs:
Pairing request from guild 1234567890123456789 (My Server)Approve it:
openclaw pairing approve discord 1234567890123456789Check pending pairings anytime:
openclaw pairing pendingAfter approval, the bot responds immediately.
Permission errors: bot cannot read or write
The bot shows online but crashes the moment you try to use it. Your logs fill up with:
DiscordAPIError: Missing Permissions
Code: 50013This one is frustrating because the bot looks fine. It's online, it's in your server, but it can't actually do anything. I've debugged this by dragging the bot role up and down the role list half a dozen times.
Check channel permissions first
Discord has server-level AND channel-level permissions. Your bot might have full permissions at the server level but be blocked in the specific channel you're trying to use.
Right-click the channel where the bot should respond and select "Edit Channel". Go to the "Permissions" tab.
Scroll down to your bot's role and make sure these permissions are enabled:
- View Channel
- Send Messages
- Embed Links
- Attach Files
- Read Message History
If the bot is green-lit (allowed) for all of these, save and try again.
Server role position
Discord roles have a hierarchy. A bot can only manage roles and permissions below its own role in the list.
Go to Server Settings > Roles. Drag your bot's role higher in the list, ideally right below the admin roles. This fixes most permission issues.
Reinvite the bot with correct scopes
If permissions are still wrong, the bot was invited with the wrong OAuth2 scopes.
Go to the Discord Developer Portal, select your bot, click "OAuth2" then "URL Generator".
Select these scopes:
- bot
- applications.commands (if you use slash commands)
Under "Bot Permissions", select:
- Send Messages
- Read Message History
- Embed Links
- Attach Files
- Use External Emojis
- Add Reactions
Copy the generated URL and open it in your browser. Select your server and authorize the bot again. This updates the permissions.
Requiremention misconfiguration
The bot responds sometimes but ignores most messages. This is usually a mention issue.
What requiremention does
By default, Discord bots in OpenClaw only respond when mentioned:
@YourBot what is the weatherOr when you reply directly to one of the bot's messages.
This prevents the bot from replying to every message in busy servers.
Turn off requiremention
If you want the bot to respond to all messages in certain channels, edit the config:
{
"channels": {
"discord": {
"accounts": {
"default": {
"requireMention": false
}
}
}
}
}Restart the gateway:
openclaw gateway restartNow the bot responds to any message in allowed channels.
Per-channel configuration
OpenClaw does not support per-channel requireMention yet. It is global for all channels the bot can access.
If you need different behavior in different channels, use two separate bots with different configs or set up channel-specific rules with Discord permissions.
Bot responding to other bots
By default, OpenClaw ignores messages from other bots to prevent loops. If you need your bot to respond to another bot, set allowBots in the config:
{
"channels": {
"discord": {
"accounts": {
"default": {
"allowBots": true
}
}
}
}
}This is rarely needed and can cause infinite loops if two bots reply to each other.
Bot responding in wrong channels
The bot spams replies in channels where it should stay silent.
Use channel allowlist
Add a channels allowlist to restrict the bot to specific channels:
{
"channels": {
"discord": {
"accounts": {
"default": {
"guilds": ["1234567890123456789"],
"channels": ["9876543210987654321"]
}
}
}
}
}The bot now only responds in the listed channel IDs. To find a channel ID, right-click the channel in Discord and select "Copy Channel ID" (Developer Mode must be enabled).
Deny permissions in unwanted channels
Alternatively, use Discord's built-in permissions. Go to the channel where the bot should not respond, edit channel permissions, find your bot's role, and disable "Send Messages".
This is cleaner than config allowlists because it is visible to server admins.
Guild allowlist issues
Your bot is in multiple servers but only responds in some of them.
Check the guilds array
The guilds config is an allowlist. If a server ID is not in the array, the bot ignores it.
Edit ~/.openclaw/config/config.json:
{
"channels": {
"discord": {
"accounts": {
"default": {
"guilds": ["1234567890123456789", "1111222233334444555"]
}
}
}
}
}Add all server IDs where you want the bot to work.
Empty array allows all guilds
To allow the bot in every server:
"guilds": []This is fine for private bots but risky for public bots. Anyone who invites your bot can use it.
Bot kicked from guild
If the bot was removed from a server and re-invited, the guild ID is the same but the pairing is gone. Approve the new pairing request:
openclaw pairing approve discord 1234567890123456789Check the logs for pairing requests whenever you re-invite the bot.
FAQ
My bot is online but shows "playing" status instead of a custom status. How do I fix it?
OpenClaw defaults to "Playing" status. Change it by editing the presence config:
{
"channels": {
"discord": {
"accounts": {
"default": {
"presence": {
"status": "online",
"activities": [
{
"name": "with AI",
"type": "PLAYING"
}
]
}
}
}
}
}
}Change name to whatever you want. Type options: PLAYING, WATCHING, LISTENING, STREAMING.
Can I use slash commands with OpenClaw?
Yes. Enable the applications.commands scope when you generate your bot invite URL in the Discord developer portal. OpenClaw registers slash commands automatically if configured. The exact setup depends on your OpenClaw version - check the docs for your specific version.
The bot lags and replies 10-20 seconds late. Why?
Discord rate limits. If your bot sends too many messages too fast, Discord throttles it. OpenClaw respects rate limits automatically, but you'll see delays in busy channels. This is a Discord platform limitation, not fixable in config.
I get "unknown guild" errors in logs. What does that mean?
Your bot was kicked from that server but your config still lists the guild ID. Either remove the guild ID from your guilds array in config, or ignore the error if you're planning to re-invite the bot.
How do I run multiple Discord bots in one OpenClaw instance?
Add multiple accounts under channels.discord.accounts:
{
"channels": {
"discord": {
"accounts": {
"bot1": {
"token": "token_here",
"guilds": ["server1"]
},
"bot2": {
"token": "token_here",
"guilds": ["server2"]
}
}
}
}
}Each needs its own token. You can set separate guild/channel allowlists per bot.
Conclusion
Most Discord errors in OpenClaw are intent or permission issues. Enable Message Content Intent and Server Members Intent in the developer portal to fix 4014 and silent bot problems. Check guild and channel allowlists if the bot responds in some servers but not others. Use requireMention to control when the bot replies.
For complete setup instructions, see the OpenClaw Discord setup guide. If you are running OpenClaw on a remote server, the DigitalOcean VPS guide covers deployment. The official OpenClaw Discord docs have full config reference.
Changelog
- 2026-02-14: Initial publication
- 2026-02-25: Added changelog, structural improvements
- 2026-03-01: Renamed 4014 section heading to "Discord Gateway Error 4014" for better search matching.
Articles in this guide
Fixes when it breaks. Workflows when it doesn't.
OpenClaw guides, configs, and troubleshooting notes. Every two weeks.



