Fix OpenClaw Discord Gateway Error 4014: Missing Intents
OpenClaw was previously known as Clawdbot and Moltbot. This guide applies to all versions.
Fix OpenClaw Discord gateway error 4014 by enabling Message Content Intent in the Discord developer portal. Step-by-step walkthrough with verification.
Key takeaways
- Gateway error 4014 means Discord rejected your bot's connection because Message Content Intent is not enabled. This is not a config file problem. It's a switch in the Discord developer portal.
- The error appears immediately on startup. If OpenClaw connects but stays silent instead of showing 4014, you have a different problem. See the Discord bot not responding guide.
- You need all three privileged intents enabled: Presence Intent, Server Members Intent, and Message Content Intent. Missing any one of them can cause issues, though 4014 specifically points to Message Content Intent.
- After enabling intents in the portal, restart the gateway. The portal change does not take effect until the connection is re-established.
- Bots in 100 or more servers need Discord verification before privileged intents go live. If the toggle saves but 4014 persists, check your server count.
Your OpenClaw Discord bot logs gateway error 4014 and quits immediately on startup. Discord is blocking the connection because Message Content Intent isn't enabled in the developer portal. Enable it under "Privileged Gateway Intents," save, and restart the gateway. Takes about two minutes.
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.
What causes Discord gateway error 4014 in OpenClaw
When OpenClaw connects to Discord, it tells Discord which gateway intents it needs. Message Content Intent is one of them. It's what allows the bot to read the actual text of messages. Without it, Discord can tell the bot a message was sent, but not what the message says.
Discord added privileged intents in 2020 so bots have to explicitly declare which data they need. Server owners can see those declarations before inviting a bot.
Your logs show this when the error hits:
Error: Disallowed intent(s): MESSAGE_CONTENT
Code: 4014The connection closes right there. OpenClaw doesn't get past the handshake. That's why you don't see any partial functionality; the bot goes fully offline, not partially broken.
This isn't something you can fix in ~/.openclaw/config/config.json. The intent flag lives in the Discord developer portal, attached to your bot application. OpenClaw requests the intent, Discord checks whether your bot is authorized to use it, and when the answer is no, you get 4014.
One thing worth noting: the error targets Message Content Intent specifically. But Server Members Intent and Presence Intent are also privileged, and OpenClaw uses all three. Enable all three at once rather than adding them one by one.
How to enable message content intent in the Discord developer portal
Go to the Discord Developer Portal, select your bot application, and click "Bot" in the left sidebar. If you have multiple applications, match the bot token in your OpenClaw config against the tokens shown in each app's Bot tab.
Scroll down to "Privileged Gateway Intents." You'll see three toggles:
- Presence Intent
- Server Members Intent
- Message Content Intent
Enable all three. Each toggle turns blue when active. Click "Save Changes" at the bottom. If you scroll away before saving, the changes don't stick.
Restart the OpenClaw gateway:
openclaw gateway restartThe restart forces a new connection to Discord. That's when Discord checks the intent authorization again.
How to verify your Discord bot intents are working
Watch the gateway logs immediately after restart:
openclaw logs --followA successful startup looks like this:
Discord channel started
Logged in as YourBotName#1234If you see that, the 4014 error is gone. The bot is connected and receiving messages.
Send a test message in a Discord channel where the bot has read access. You should see the message show up in the logs as received. If the bot connects but doesn't reply, that's a separate issue, most often a missing server members intent or a pairing that hasn't been approved. The Discord bot not responding guide covers that diagnostic path.
If you still see 4014 after saving and restarting, run through this checklist:
First, go back to the developer portal and confirm the toggles are still on. Occasionally the page fails to save without showing an error. Reload the "Bot" page and check the toggle states.
Second, confirm you're editing the correct application. If you own multiple bots, it's possible to enable intents on the wrong one. Your OpenClaw config file at ~/.openclaw/config/config.json shows which token the bot uses. Match it to the application in the portal.
Third, check whether your bot has hit the verification threshold (covered in the next section).
Why gateway error 4014 comes back after enabling intents
A few things can bring 4014 back after you've already fixed it once.
You saved intents on the wrong application. This is the most common reason for "I enabled it but still got 4014." Discord accounts can own many applications. If you enabled Message Content Intent on Application A but OpenClaw uses Application B's token, nothing changed. Double-check the token in your config against the application in the portal.
Your bot crossed the 100-server threshold. Discord requires bots in 100 or more servers to go through a verification process before privileged intents work in all those servers. The intents toggle is still available in the portal, but Discord won't honor it until you submit for verification and get approved. The Discord developer documentation has current details on the verification process. If you haven't hit 100 servers, this doesn't apply.
Another process is running the old connection. If you have more than one OpenClaw gateway process running, the older process may still hold a Discord connection with the old intent set. This happens when you run one instance in Docker and another on the host. That stale connection won't pick up the portal change until it reconnects. Stop all running gateway instances, then start one fresh.
openclaw gateway stopCheck for any remaining processes:
openclaw gateway statusThen start clean:
openclaw gateway startThe config file was updated incorrectly. This one's rarer. If you recently changed your config.json and the bot token or discord account block changed, OpenClaw might be connecting as a different bot than you think. Run openclaw gateway status to see which config the gateway loaded.
If none of the above apply and 4014 keeps coming back on restart, check whether the issue is actually the intent at all. A 4014 that returns consistently right after a clean fix sometimes points to a version mismatch between your OpenClaw install and the gateway. Run openclaw --version and check the OpenClaw changelog for known issues with your version.
FAQ
Why does my OpenClaw Discord bot disconnect right after fixing error 4014?
If the bot connects briefly and then disconnects again with the same 4014 error, you probably have another gateway process running with the old intent set. OpenClaw only picks up portal changes on a fresh connection. Stop all running instances with openclaw gateway stop, verify nothing is still running with openclaw gateway status, and start one clean instance. If you run OpenClaw in Docker, check for host-level processes too.
Do I need all three privileged intents for OpenClaw on Discord?
Yes. OpenClaw uses all three privileged intents: Presence Intent, Server Members Intent, and Message Content Intent. Message Content Intent is the one that triggers error 4014 when missing because OpenClaw specifically requests it during the gateway handshake and Discord blocks the connection immediately. The other two don't cause a 4014 shutdown, but without them the bot may connect and stay silent or behave unpredictably. Enable all three at the same time in the Discord developer portal under your bot's "Privileged Gateway Intents" section.
Does enabling message content intent expose private messages to my OpenClaw Discord bot?
No. Enabling Message Content Intent on your OpenClaw Discord bot does not expose private messages from other servers or other users. The intent only allows your bot to read message content in servers where it has been explicitly invited and granted access. Your bot can't see DMs between Discord users, messages in servers it isn't a member of, or anything outside the channels it's been given access to. The intent is a prerequisite for reading messages at all, not a permission expansion beyond what the bot's role already allows.
My bot is in 100 or more servers. Do I need Discord verification to use intents in OpenClaw?
Yes. Discord requires bots in 100 or more servers to complete a verification process before privileged intents work across all of them. Without verification, the portal toggle saves but Discord won't honor it, so 4014 errors continue.
Check your bot's server count on the application's main page in the developer portal. If you're at or above the threshold, submit for verification through the portal. Review typically takes a few days. Until it completes, the bot only works in servers you explicitly whitelist during the review process.
Changelog
- 2026-03-07: Created (split from fix-openclaw-discord-errors)
Fixes when it breaks. Workflows when it doesn't.
OpenClaw guides, configs, and troubleshooting notes. Every two weeks.



