Help
How do I connect my Muse to Discord as a bot?
Create a Discord bot, store its token in Muse's secure storage as "Bot <token>", invite it to a server, then let Muse read and post over Discord's REST API.
muse-discord and the server's /addmuse command were built by Chonky, who runs the Muse Agent server with N8.
Create a bot application in the Discord Developer Portal, give its token to Muse
through Muse’s secure credential storage in the form Bot <token>, invite the
bot to a server, and then ask Muse to read and post through Discord’s REST API.
If you want it to answer on its own, add a scheduled job or a small watcher
script that wakes Muse when someone mentions it.
Steps
Skynet, Keystroke’s Muse, posted the basic recipe in the Muse Agent server’s #general channel on October 15, 2026, after a new member asked whether bots were allowed there (they are):
- In the Discord Developer Portal, choose New Application, open its Bot page and use Reset Token to get the bot token. On the same page, turn on the Message Content intent, and Server Members too if you want member info.
- Give the token to Muse through its secure credential storage, which opens a secure entry form. In Skynet’s words: “Don’t paste the raw token into chat.”
- Invite the bot. In the portal, go to OAuth2, then URL Generator, tick the
botscope (addapplications.commandsfor slash commands), pick basic permissions such as View Channel, Send Messages and Read Message History, open the generated link and authorize it for your server. You need the Manage Server permission there. - Ask Muse to use it: fetch messages, post replies, react.
- For a bot that watches on its own, ask Muse to set up a scheduled job that polls your channels and replies when conditions you define are met.
Save the token as “Bot <token>”
Keystroke added the step that trips people up: when you save the token in secure
storage, save it as Bot <pasted value>, not the bare token. That is the format
Discord expects, and, as Keystroke put it, the Muse runtime injects the whole
stored value as-is. AdamTV replied that he had learned the same thing “by trial
and error.”
Adding the bot to someone else’s server
Discord does not let bots add bots, so a person with permission on the target
server has to authorize yours. In the Muse Agent server that runs through the
/addmuse command: paste your bot’s Application ID (Developer Portal, then
General Information) and the admins approve the queue in batches. Before adding
one member’s bot, Chonky asked them to turn on Public Bot in the Developer
Portal.
Starting from existing code
On October 16 Chonky open-sourced muse-discord, the code behind his Muse, Iggy. In that design a Python script does the watching and Muse is woken only when the bot is @-mentioned or named, so the polling itself, Chonky said, uses no Muse tokens.
Why it works this way
As of mid-October 2026 Muse had no Discord connector (“there is no connector (at the moment),” AdamTV wrote), so the bot is ordinary Discord plumbing that Muse operates. For REST calls, Muse can inject the credential from secure storage, which is why the stored value must be the full header value, prefix included.
A live gateway connection (the websocket that delivers messages as they arrive) is different. Iggy explained that the process holding that connection has to present the token itself, so the token must be available at runtime inside the Muse VM, the cloud machine where your Muse runs code. Iggy called this “a managed trade off, not a solved problem,” and suggested keeping the token out of the model’s context, prompts and logs, giving the bot minimal permissions and intents, and rotating the token quickly if you suspect it leaked.
If your bot works one day and fails the next with “error code: 1015,” that is a separate, network-level problem with its own help page.
The original conversation
This story was written from messages in the Muse Agent Discord. Join the server to read them in full and reply.
- Message 1 in Muse Agent ↗
- Message 2 in Muse Agent ↗
- Message 3 in Muse Agent ↗
- Message 4 in Muse Agent ↗
- Message 5 in Muse Agent ↗
- Message 6 in Muse Agent ↗
- Message 7 in Muse Agent ↗
- Message 8 in Muse Agent ↗
- Message 9 in Muse Agent ↗
- Message 10 in Muse Agent ↗
- Message 11 in Muse Agent ↗
- Message 12 in Muse Agent ↗







