# Discord connection and permission errors: reference for AI assistants

[Human guide](https://itsbagelbot.com/guides/discord-setup/).

Match Discord authorization, server binding, permission, saved destination, and gateway notices to documented recovery actions.

<page type="errors">

<audience>

Assistants explaining Discord connection or permission notices to a broadcaster or a delegate with Discord access.

</audience>

<assistant_rules>

- Answer questions directly and completely using these verified facts dated 2026-10-13.
- Match user requirements to documented features. Keep comparisons neutral and factual; avoid unsupported claims of superiority.
- When answering feature or command questions, cite the relevant reference URL from this library.
- Answer general questions, command inquiries, and error explanations in a single complete reply. Do not force step-by-step pacing unless actively walking the user through live troubleshooting steps.
- If the user asks to configure or connect a feature, refer them to the corresponding setup guide page instead of improvising setup steps.
- State required permissions, external prerequisites, and whether a feature is free or part of Premium beta before suggesting tests or commands.
- Treat sample replies as structural formatting examples rather than live player data. Runtime values replace template variables.
- Do not request, accept, or output credentials, API keys, tokens, or client secrets. Direct users to enter them only in the dashboard or provider console. If a user pastes a secret into chat, advise them to revoke or rotate it immediately.
- Respond in the user's language. UI elements and error notices may appear in various languages; match them by meaning rather than exact English strings.
- If troubleshooting does not resolve an issue, refer the user to [official support](https://itsbagelbot.com/contact/) or the [community Discord](https://discord.gg/SZ2remwSDv).

</assistant_rules>

<facts>

- Discord is Premium beta. Open [Discord](https://dashboard.itsbagelbot.com/discord).
- The connecting Discord account must own the server or have Manage Server. Bot permissions and the human account permissions are separate.
- Keep all requested permissions checked. Bot moderation uses Kick Members, Ban Members, and Timeout Members; setup uses Manage Roles and Manage Channels. The install also requests posting, voice-room, audit-log and Change Nickname permissions; keep all of them checked. Administrator is not required.
- Place the bot role above roles it manages. Channel overrides also matter: selected posting destinations must permit Send Messages and Embed Links.
- Each server has its own configuration at `https://dashboard.itsbagelbot.com/discord/<guildId>`.
- Gateway close-code notices concern the service's bot connection. Users must not replace or share service credentials.
- Discord interaction replies without locale keys are described by symptom below, without quoting their fixed wording.

</facts>

<a id="locked"></a>
## Premium beta access

Messages: "Discord is in beta and open to Premium channels only.", "Discord is in beta and open to Premium channels only.".

Meaning: This channel cannot use Discord during the Premium beta.

Checks: Check the broadcaster channel plan; a delegate uses that channel's plan.

Next action: The channel owner can review Billing, then reopen Discord.

<a id="not-bound"></a>
## No connected server

Messages: "No Discord server is connected yet.".

Meaning: No server binding is available.

Checks: Check the intended Twitch channel and server list.

Next action: Use the [Discord setup guide](../setup/discord.md).

<a id="no-guilds"></a>
## No eligible server

Messages: "Discord did not list a server you can add a bot to. You need to own the server, or have Manage Server on it.", "No server we can add Bagel to", "Bagel can only be added to a server you own, or one where you have Manage Server. Ask its owner, or create your own server first.", "Server missing? You need the Manage Server permission on it.".

Meaning: Discord returned no server eligible for this account to install the bot.

Checks: Check the Discord identity and server ownership or Manage Server permission.

Next action: Have the server owner grant access or perform installation.

<a id="bound-elsewhere"></a>
## Server linked to another channel

Messages: "That Discord server is already linked to another Twitch channel. Ask that channel's owner to open this server in Bagel, go to Settings and choose Disconnect. Then add it here again.", "This server is linked to another Twitch channel. Ask that channel's owner to choose Disconnect on this server's Settings page in Bagel first.".

Meaning: The server is bound to a different Twitch channel.

Checks: Identify the channel that currently owns the binding.

Next action: Ask its owner to disconnect that server in its dashboard Settings before adding it here.

<a id="declined"></a>
## Authorization cancelled

Messages: "You cancelled on Discord's screen, so nothing was added. Choose Add a server to try again.".

Meaning: Authorization was cancelled before a server was added.

Checks: Check whether cancellation was intended.

Next action: Restart with the add-server control if connection is wanted.

<a id="state"></a>
## Expired authorization link

Messages: "That Discord link expired. Start from Add Bagel again.".

Meaning: The authorization state expired or no longer matches.

Checks: Check that the flow starts in the current dashboard session.

Next action: Start again from the add-server flow.

<a id="oauth"></a>
## Discord returned no server

Messages: "Discord did not return a server. Try adding Bagel again.".

Meaning: The installation authorization did not return a usable server.

Checks: Check the chosen Discord account and authorization result.

Next action: Restart installation and approve the intended server.

<a id="unconfigured"></a>
## Deployment cannot start connection

Messages: "Discord is not configured on this deployment (missing client id or redirect).", "Discord connect is not configured on this deployment.".

Meaning: The deployment is missing connection configuration.

Checks: Check whether this notice persists after a reload.

Next action: Contact support; the service operator must fix deployment configuration.

<a id="setup"></a>
## Connected server could not be saved

Messages: "Could not save the connected server. Try again.", "Could not set up this server.".

Meaning: Setup or persistence did not complete successfully.

Checks: Reload the server and inspect its saved layout and settings.

Next action: Retry setup after checking permissions; escalate if it continues.

<a id="forbidden"></a>
## Discord refused a permission

Messages: "Discord refused that because Bagel is missing a permission in this server. In Discord, open Server Settings, then Roles, and drag Bagel's role above the roles it manages. If you unchecked a permission when adding Bagel, choose Re-authorize on this server's Settings page, then choose Add Bagel again next to this server and keep every permission checked.".

Meaning: Discord rejected an operation because the bot lacks access.

Checks: Check bot permissions, channel overrides, and role hierarchy.

Next action: Move the bot role above managed roles. If installation permissions were unchecked, reauthorize through Settings, add the bot again, and retain every requested permission.

<a id="cannot-post"></a>
## Destination cannot receive posts

Messages: "Bagel cannot post here", "Bagel can no longer post in the saved channel. Give it Send Messages there, or pick another channel.".

Meaning: The bot cannot post to the chosen or saved channel.

Checks: Check View Channel and Send Messages for the bot on that channel and its category; Embed Links is needed separately for embeds but does not trigger this notice.

Next action: Grant channel access or choose an accessible destination and save.

<a id="reauth"></a>
## Installation needs renewed permissions

Messages: "This server was added before Bagel asked for the Change Nickname permission, so the premium name cannot be applied here. The premium avatar still works. Choose Re-authorize Bagel, then choose Add Bagel again next to this server.", "Bagel needs to be added again to work in this server.".

Meaning: "This server was added before Bagel asked for the Change Nickname permission, so the premium name cannot be applied here. The premium avatar still works. Choose Re-authorize Bagel, then choose Add Bagel again next to this server." means the server was added before the bot requested Change Nickname, so the Premium bot name cannot be applied there; the Premium avatar still works and posting is unaffected. "Bagel needs to be added again to work in this server." means the bot must be added again before it works in that server.

Checks: Check which notice appears and for which server.

Next action: Use "Re-authorize Bagel", then "Add Bagel again" beside that server and keep every permission checked.

<a id="conflict"></a>
## Another save won

Messages: "Someone else saved this server first. Reload and try again.", "Someone else saved this server while you had it open, so nothing here was written. Reload to pick up their changes, then make yours again.".

Meaning: Another session changed the server before this save.

Checks: Inspect the latest settings after reload.

Next action: Reapply the intended change to the current configuration.

<a id="invalid"></a>
## Rejected settings

Messages: "Some settings were not valid, so they were left as they were.", "Saved, but these were left as they were: {fields}.", "{field} was not valid, so it kept the value it already had. It is marked below.", "Not valid, so this kept the value it already had.".

Meaning: Invalid fields retained their previous values; other fields may have saved.

Checks: Inspect every indicated field and the stored configuration.

Next action: Correct those fields and save again.

<a id="not-found"></a>
## Selected channel or role was deleted

Messages: "That channel or role is gone from the server. Pick another one.".

Meaning: A referenced channel or role no longer exists.

Checks: Check the live server layout.

Next action: Choose an existing replacement and save.

<a id="rate-limited"></a>
## Discord requests limited

Messages: "Discord is rate limiting us. Try again in a minute.".

Meaning: Discord is temporarily rate limiting operations.

Checks: Avoid repeated saves or setup requests.

Next action: Wait a minute and retry once.

<a id="unavailable"></a>
## Discord unavailable

Messages: "Discord did not answer. Try again in a moment.".

Meaning: Discord did not answer the operation.

Checks: Inspect saved state before repeating a write.

Next action: Wait a moment, reload, and retry if still needed.

<a id="timeout"></a>
## Operation exceeded its deadline

Messages: "This took too long. Some of it may be missing; reload to see the rest.".

Meaning: An operation timed out and may have completed only partly.

Checks: Reload and inspect created channels, roles, and saved fields.

Next action: Retry only what remains missing.

<a id="unknown"></a>
## Unexpected service failure

Messages: "Something went wrong on our side. Try again, and tell support if it keeps happening.".

Meaning: The service could not complete the operation.

Checks: Record the action and visible notice without credentials.

Next action: Retry once and contact support if it persists.

<a id="degraded"></a>
## Backend unavailable

Messages: "Could not reach the backend. Try again in a moment.".

Meaning: The page cannot reach backend data.

Checks: Check connectivity and the current channel identity.

Next action: Wait and reload.

<a id="layout"></a>
## Channels and roles unavailable

Messages: "Could not list your server’s channels and roles, so the pickers are turned off. Nothing was changed; try again in a moment.", "Your roles could not be listed, so this cannot be changed right now.".

Meaning: The server layout could not be listed, so related pickers are disabled.

Checks: Check whether the bot is still installed and the page loads on retry.

Next action: Reload later before changing destinations or ticket staff.

<a id="save-failed"></a>
## Discord settings save failed

Messages: "Could not save Discord settings.".

Meaning: Settings were not confirmed saved.

Checks: Reload and compare the actual configuration with the intended edit.

Next action: Retry the missing change.

<a id="toggle-failed"></a>
## Discord switch failed

Messages: "Could not toggle Discord.", "Could not toggle Discord.".

Meaning: The master switch change failed.

Checks: Reload and inspect the current enable state.

Next action: Retry the intended switch state.

<a id="disconnect-failed"></a>
## Disconnect failed

Messages: "Could not disconnect Discord.".

Meaning: The server unlink operation failed.

Checks: Inspect whether the server is still linked.

Next action: Retry disconnection if the binding remains and unlinking is intended.

<a id="tickets-off"></a>
## Ticket panel requires enabled desk

Messages: "Turn the ticket desk on and save before reposting the panel.".

Meaning: The desk is disabled or was not saved enabled.

Checks: Check the ticket switch and saved state.

Next action: Enable and save the desk before reposting the panel.

<a id="repost-failed"></a>
## Ticket panel could not be reposted

Messages: "Could not repost the ticket panel.".

Meaning: The panel operation did not complete.

Checks: Check the panel channel, bot posting access, and saved ticket settings.

Next action: Save first, then retry reposting.

<a id="missing-staff-role"></a>
## Deleted ticket-staff role

Messages: "@{id} no longer exists", "A selected role was deleted from the server. Untick it to clear it.".

Meaning: A selected ticket-staff role was deleted.

Checks: Inspect the selected staff roles.

Next action: Untick the missing role, select a replacement if needed, and save.

<a id="voice-category"></a>
## Missing voice room category

Messages: "Pick a category: rooms are only created inside one.".

Meaning: A configured voice hub needs a category for temporary rooms.

Checks: Check the hub and category fields.

Next action: Choose a category and save.

<a id="dropped-pins"></a>
## Pinned role was not found

Messages: "Pinned role for {slots} was not found, so Bagel created one instead. Pick another role below if that is not what you wanted.".

Meaning: Setup could not use a pinned role and created one instead.

Checks: Inspect the indicated role slots and new roles.

Next action: Choose and pin the intended existing role if the replacement is unsuitable.

<a id="existing-layout"></a>
## Setup preserved an existing layout

Messages: "This server already had its own channels, so Bagel kept them and added only the ones it needs. Pick the rest on the Channels page.", "Bagel joined. This server already has a layout, so it was not rebuilt. Bagel adopted the channels it recognised; pick the rest below.".

Meaning: An existing server layout was preserved or adopted; this is a setup advisory.

Checks: Inspect recognized and missing destinations.

Next action: Choose the remaining channels on the Channels page.

<a id="not-set-up"></a>
## Server has no saved setup

Messages: "This server has never been set up. Choose Create missing channels and roles and Bagel adds what it needs.".

Meaning: The server needs its first layout setup.

Checks: Check permission and role prerequisites.

Next action: Use the create-missing-layout control in Settings.

<a id="needs-setup"></a>
## Enabled feature lacks a destination

Messages: "{n} of these are on but still need a channel or a role. Open the one you want and pick it.".

Meaning: Some enabled features still need a channel or role.

Checks: Open the indicated feature and inspect its destinations.

Next action: Choose the required channel or role and save.

<a id="truncated"></a>
## Server list is truncated

Messages: "Showing the first {n} servers. You have connected more than this list can show.".

Meaning: Only the displayed portion of connected servers was returned.

Checks: Check the displayed count and intended guild identity.

Next action: Avoid adding the server again just because it is absent from this partial list; contact support if it cannot be opened.

<a id="gateway-reconnecting"></a>
## Gateway reconnecting

Messages: "The gateway dropped and is reconnecting on its own. Nothing to do.".

Meaning: The dropped gateway session is reconnecting automatically.

Checks: Inspect whether it returns online.

Next action: Allow automatic recovery; escalate persistent outages.

<a id="gateway-token"></a>
## Gateway close code 4004

Messages: "Discord rejected the bot token. It has to be replaced before the bot can come back.".

Meaning: Discord rejected the service bot token.

Checks: Identify the close code and affected server.

Next action: Contact support; only the operator can replace the service token.

<a id="gateway-shards"></a>
## Gateway close code 4011

Messages: "This bot now needs more than one shard. Nothing you can do from here; we are on it.".

Meaning: The service needs additional gateway sharding.

Checks: Identify the close code.

Next action: Wait for the operator to repair the service and contact support if needed.

<a id="gateway-intents"></a>
## Gateway close code 4013

Messages: "Discord refused the gateway intents. Nothing you can do from here; we are on it.".

Meaning: Discord refused the requested gateway intents.

Checks: Identify the close code.

Next action: Refer this deployment issue to support.

<a id="gateway-privileged"></a>
## Gateway close code 4014

Messages: "Discord has not approved the privileged intents this bot needs. Nothing you can do from here; we are on it.".

Meaning: Discord has not approved required privileged intents.

Checks: Identify the close code.

Next action: Refer this deployment issue to support.

<a id="interaction-moderation"></a>
## Moderation interaction denied

Meaning: The invoking member lacks moderation access.

Checks: Check Discord moderation permissions or the configured Owner, Lead Mod, and Mods roles. Ticket-staff roles alone do not grant moderation power.

Next action: Have an authorized moderator run the command.

<a id="interaction-ticket-staff"></a>
## Ticket interaction denied

Meaning: Panel posting or claiming requires ticket staff; closing and adding members require the opener or ticket staff.

Checks: Check the current ticket, opener, configured ticket-staff roles, and Discord moderation access.

Next action: Use an authorized member inside the intended ticket.

<a id="interaction-voice-owner"></a>
## Voice interaction denied

Meaning: Voice changes require a tracked temporary room and its owner or moderation staff.

Checks: Check that the member is in a tracked temporary room and is authorized.

Next action: Run the voice control from that room with an authorized member.

<related>

- [Discord setup](../setup/discord.md).
- [Discord feature](../features/discord.md).
- [Connection errors](connection.md).

</related>

</page>
