ESN Docs

Docs › Discord bots

Fix "PrivilegedIntentsRequired: Shard ID None is requesting privileged intents"

2 min readUpdated Nov 3, 2026

Your Discord bot crashes with PrivilegedIntentsRequired (discord.py) or "Used disallowed intents" (discord.js). Here is why, and how to turn the intents on or stop asking for them.

The full error from discord.py looks like this:

discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.

In discord.js the same problem shows as Error: Used disallowed intents (gateway close code 4014). Either way the bot connects, gets refused, and goes offline.

Why it happens #

Three intents are privileged: Discord makes you switch them on by hand before your bot may use them.

Intentdiscord.pydiscord.jsWhat it gives you
Server Membersintents.membersGuildMembersJoin/leave events, full member lists
Presenceintents.presencesGuildPresencesOnline status and activities
Message Contentintents.message_contentMessageContentThe text of normal messages (needed for !prefix commands)

The error means your code asks for one of these but the switch in the Developer Portal is off. Common triggers: discord.Intents.all(), copying a tutorial that sets intents.message_content = True, or a new bot application whose switches were never turned on.

Fix 1: switch the intents on #

  1. Open the Developer Portal and pick your application.
  2. Go to Bot and scroll to Privileged Gateway Intents.
  3. Switch on the same intents your code asks for, then choose Save Changes.
  4. Restart the bot.

Make sure you're editing the same application whose token the bot uses. If you have a test bot and a live bot, each has its own switches.

Fix 2: only ask for what you need #

If your bot only uses slash commands, it doesn't need any privileged intent. Use the defaults instead of Intents.all():

import discord

intents = discord.Intents.default()      # no privileged intents
# intents.message_content = True         # only if you read message text (prefix commands)
# intents.members = True                 # only for member join/leave events or member lists

bot = discord.Client(intents=intents)

discord.js equivalent:

const { Client, GatewayIntentBits } = require("discord.js");

const client = new Client({
  intents: [GatewayIntentBits.Guilds],   // add MessageContent / GuildMembers only if needed
});

Bots in 100 or more servers #

Once a bot is in 100 servers it must be verified by Discord, and privileged intents then need Discord's approval. If the switches are greyed out or say you need approval, apply for the intent through the verification process in the portal, and use only the intents Discord has approved meanwhile.

Related warning: "Privileged message content intent is missing" #

discord.py prints Privileged message content intent is missing, commands may not work as expected. when you use prefix commands without the message content intent. It isn't a crash: the bot runs, but prefix commands can't read messages. Turn on the intent in both places, or switch to slash commands.

FAQ #

Is it safe to just use Intents.all()?

It works once all three switches are on, but your bot then receives far more events than it needs, which uses more memory and CPU. Ask only for what you use.

I switched the intent on and still get the error.

Check you saved the change on the right application (the one whose token is in your .env), then fully restart the bot.

Do slash commands need the message content intent?

No. Slash commands, buttons and menus send their data to your bot directly.

Want a host that shows you these errors live? ESN bot servers have a live console, crash logs and Python 3.12/3.13 or Node.js 22/24. Bot hosting from $0.50/month. See bot plans · or paste your error into /botfix in the ESN Systems Discord.

Still stuck? Use the live chat on the panel or ask in the ESN Systems Discord. Last updated November 3, 2026.