paperclipai/paperclip · error · Error
Discord Message Content intent is not enabled for this appli
Error message
Discord Message Content intent is not enabled for this application
What it means
verifyDiscordBot checks the application's flags for the Message Content intent bit (MESSAGE_CONTENT_FLAGS). This error means the bot's application has not enabled the privileged Message Content intent, which Discord requires before message content is delivered to the bot.
Source
Thrown at server/src/services/chat-discord.ts:238
"application lookup",
),
discordJson<DiscordGuild>(
input.fetch,
input.botToken,
`/guilds/${encodeURIComponent(guildId)}`,
"server membership lookup",
),
]);
if (!user.bot || !user.id || !user.username) {
throw new Error("Discord token does not identify a bot user");
}
if (application.id !== applicationId || user.id !== applicationId) {
throw new Error(
"Discord Application ID does not match the supplied bot token",
);
}
if (((application.flags ?? 0) & MESSAGE_CONTENT_FLAGS) === 0) {
throw new Error(
"Discord Message Content intent is not enabled for this application",
);
}
if (guild.id !== guildId) {
throw new Error("Discord bot is not installed in the selected server");
}
return {
providerAccountId: guildId,
providerAccountLabel: guild.name ?? guildId,
botExternalId: user.id,
botUsername: user.username,
botLabel: user.global_name ?? application.name ?? user.username,
...(user.avatar
? {
botAvatarUrl: `https://cdn.discordapp.com/avatars/${user.id}/${user.avatar}.png`,
}
: {}),
};View on GitHub (pinned to 01ad858492)
Solutions
- Go to Discord Developer Portal > your Application > Bot > Privileged Gateway Intents and enable 'Message Content Intent', then restart verification
- If the bot is in 100+ servers, complete Discord's verification process required to enable privileged intents at scale
- Confirm with GET /oauth2/applications/@me that the flags bit is present after toggling
Example fix
// before (portal settings) MESSAGE CONTENT INTENT: OFF // after (portal settings) MESSAGE CONTENT INTENT: ON // Developer Portal > Bot > Privileged Gateway Intents
Defensive patterns
Strategy: try-catch
Validate before calling
const app = await fetch("https://discord.com/api/v10/oauth2/applications/@me", {
headers: { authorization: `Bot ${botToken}` },
}).then((r) => r.json());
const MESSAGE_CONTENT_FLAGS = 1 << 15; // APPLICATION_FLAGS bit for GatewayIntentBits.MessageContent
if (((app.flags ?? 0) & MESSAGE_CONTENT_FLAGS) === 0) {
throw new Error("Enable Message Content Intent in the Developer Portal");
} Try / catch
try {
await verifyDiscordBot(input);
} catch (err) {
if (err.message.includes("Message Content intent")) {
throw new ConfigError("Enable 'Message Content Intent' under Developer Portal > Bot > Privileged Gateway Intents");
}
throw err;
} Prevention
- Enable Message Content Intent (and other needed privileged intents) immediately after creating a bot
- Re-check intents after regenerating or migrating a bot between applications
- Include the flags check in a setup/health script so misconfiguration surfaces at deploy time
When it happens
Trigger: Running verifyDiscordBot for an application where application.flags lacks the message-content bit; a newly created bot with default intents; toggling the intent off in the Developer Portal after configuration.
Common situations: Fresh bots that never enabled privileged gateway intents; apps created before the Message Content intent rollout that had grandfathered access until regeneration; teams migrating bots between applications.
Related errors
- invalid_response
- Invalid Discord command registration authority
- Discord bot is not installed in the selected server
- Discord bot membership could not be verified
- Discord bot needs View Channels, Send Messages, Create Publi
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-09-10).
Data as JSON: /api/errors/6a75adf16e32999e.
Report an issue: GitHub.