To run Hermes Agent Discord, create an application in the Discord Developer Portal, turn on the Message Content and Server Members intents, invite the bot to your server, and give Hermes the bot token plus your Discord user ID. Then start the gateway. Skip the intents and Discord refuses the connection, which the Hermes docs call the number one reason Discord bots don't work.
📺 Watch: NEW Hermes AI Voice Agent is Crazy Good!
🔥 Get the Agent OS as a free bonus: AI Profit Boardroom members get the full Agent OS zip, prompt libraries, daily tutorials and weekly live coaching calls. → Get inside
This page starts with how the bot behaves once it is in your server, because that shapes every setting after it. Then the setup, the permission levels, and the access controls. For a community of people building agent workflows for their own businesses, see the AI Profit Boardroom.
How Hermes behaves in a Discord server
Hermes on Discord is not a stateless webhook. Each message goes through the full gateway: authorization against DISCORD_ALLOWED_USERS, mention checks, session lookup, loading the transcript, the agent run with its tools and memory, and the reply. The defaults, from the Hermes docs:
- DMs. It answers every message, and each DM has its own session.
- Server channels. It only answers when you @mention it. Everything else is ignored.
- Free-response channels. List channel IDs in DISCORD_FREE_RESPONSE_CHANNELS and it answers there without a mention. Good for a bot-help channel.
- Threads. It replies in the thread, and threads keep their history separate from the parent channel.
- Messages tagging other people. With DISCORD_IGNORE_NO_MENTION at its default of true, it stays out of messages that @mention someone else but not the bot.
Shared channels have one more rule. By default, group_sessions_per_user is true, so two people talking to Hermes in the same channel each get their own conversation. Set it to false and the whole channel shares one transcript and one running agent. That gives shared context, but the docs warn it also means shared token use and people interrupting each other's tasks.
Hermes Agent Discord setup, step by step
- Create the application. Go to discord.com/developers/applications, click New Application, name it, accept the terms and click Create. Note the Application ID.
- Set up the bot. Click Bot in the sidebar. Set Public Bot to ON if you want to use the Discord-provided invite link. Leave Require OAuth2 Code Grant OFF.
- Turn on the intents. Still on the Bot page, under Privileged Gateway Intents, switch on Message Content Intent and Server Members Intent. Presence is optional. Click Save Changes.
- Get the token. Click Reset Token, enter your 2FA code if asked, and copy it. Discord shows it once. Never commit it to Git.
- Build the invite. In the Installation tab, turn on Guild Install, choose Discord Provided Link, and select the bot and applications.commands scopes plus the permissions below. Or build the URL by hand: discord.com/oauth2/authorize?client_id=YOUR_APP_ID&scope=bot+applications.commands&permissions=309237763136.
- Invite it. Open the link, choose your server, Continue, Authorize. You need Manage Server permission on that server.
- Find your user ID. In Discord, Settings, Advanced, turn on Developer Mode. Right-click your name and choose Copy User ID. It is a long number.
- Connect Hermes. Run hermes gateway setup and pick Discord. The docs say the wizard checks the token with Discord, checks the intents, prints the invite link and offers to allowlist you. Or put DISCORD_BOT_TOKEN and DISCORD_ALLOWED_USERS in ~/.hermes/.env.
- Start it. Run hermes gateway. The bot should come online in a few seconds. Use hermes gateway install to keep it running as a service.
📺 Watch: Hermes Agent Just Made Multi-Device AI Agents INSANE!
Which permissions to grant
The Hermes docs list three permission integers. Pick the one that matches what you want the bot to do.
| Level | Integer | What it includes |
|---|---|---|
| Minimal | 117760 | View Channels, Send Messages, Embed Links, Attach Files, Read Message History |
| Recommended | 309237763136 | Minimal plus Create Public Threads, Send Messages in Threads, Add Reactions |
| Full (what hermes gateway setup prints) | 309240908864 | Recommended plus Connect and Speak, for voice channels |
Existing installs do not pick up new permissions on their own. If you invited the bot with an older link, invite it again with the new one.
On intents: if your bot is in fewer than 100 servers, you can toggle them freely. At 100 or more, Discord makes you apply for verification to use privileged intents. For a bot in your own server, that never comes up.
📺 Watch: 776 NEW Hermes Agent Updates Are INSANE! 🤯
Keep strangers out: allowlist, pairing and admin roles
A Discord server can hold thousands of people, and Hermes can run commands on your machine. The docs state that by default the gateway denies every user who is not on an allowlist or paired via DM.
Allowlist. DISCORD_ALLOWED_USERS=284102345871466496,198765432109876543. Comma-separated user IDs.
DM pairing. Someone not on the list who DMs the bot gets a one-time code. Approve it with hermes pairing approve discord followed by the code. hermes pairing list shows who is waiting. hermes pairing revoke discord plus their user ID takes access away. Codes expire after an hour.
Admins and regular users. In config.yaml you can name admins with allow_admin_from and limit what everyone else can run with user_allowed_commands. Regular users can still chat. They just cannot run commands you have not opened up. Group channels get their own lists through group_allow_admin_from and group_user_allowed_commands.
Skip GATEWAY_ALLOW_ALL_USERS=true. The docs mark it as not recommended for bots with terminal access.
Running a community or client server and not sure how to roll this out safely? Book a free AI strategy session.
Slash commands, voice and forums
Slash commands. Hermes registers native Discord slash commands, including one per installed skill, and an interactive model picker. The Hermes Agent slash commands guide lists the core set.
Voice messages. Voice messages you send are transcribed, using local faster-whisper with no key, Groq Whisper or OpenAI Whisper. /voice tts makes the bot send spoken replies alongside text.
Voice channels. Hermes can join a voice channel, listen and talk back. That needs the Full permission level with Connect and Speak. By default it leaves after 300 seconds idle. An optional voice_fx setting, off by default, adds a short spoken "one moment" and a quiet background bed while tools run. More in Hermes Agent voice mode.
Forum channels. Forum channels only accept thread posts, so Hermes creates a new thread for each message it sends there, named from the first line.
Files. It can send generated files inline and receive any file type you drop in.
One gateway since v0.23.0
Hermes v0.23.0 shipped on 5 November 2026. Nous Research says each machine now runs one gateway that owns every session, with the CLI, TUI, desktop app, editors, bots and cron attached as clients. One queue, one history. Before, separate surfaces could each run their own copy of the agent against the same chat, which caused doubled or missing messages.
For Discord, that means the bot is one client among many. The same gateway can also serve your Telegram or Slack. The Hermes multi-gateway connections page covers running several. If you are weighing Discord against the others, read best messaging app for Hermes Agent. Platform guides in this set: Hermes Agent Telegram, Hermes Agent Slack and Hermes Agent WhatsApp.
The Agent OS guide shows how the bot fits into a full agent system. To choose the model behind it, see Goldie Bench.
Inside the AI Profit Boardroom, members share the Discord bots and agent setups they use to run their businesses. If you want a plan for your own server, book a free AI strategy session.
FAQ
Why is my Hermes Discord bot offline?
Message Content Intent is almost always the cause. If gateway.log mentions privileged Gateway Intents, go to the Developer Portal, Bot, Privileged Gateway Intents, switch it on and save. Then restart the gateway.
The bot is online but ignores my messages. Why?
In server channels it only answers @mentions, unless the channel is in DISCORD_FREE_RESPONSE_CHANNELS. Also check that your user ID is on DISCORD_ALLOWED_USERS or that you have been paired.
Do people in the same channel share one conversation?
Not by default. Each person gets their own session. Set group_sessions_per_user to false for one shared channel session.
Can Hermes talk in a Discord voice channel?
Yes. It can join, listen and reply out loud, as long as the bot has Connect and Speak permissions.
Ready to have an agent answering in your server? Book a free AI strategy session and plan what it should handle first.











