Basics
Discord bot can't assign a role – how to fix it
Marcus · builds Fylgra ·
In short
A bot can only assign roles that sit below its own highest role in the role list, and it needs the Manage Roles permission. In Server Settings under Roles, drag the bot's role above the role it should assign.
Opens “Roles” on your server. You'll sign in with Discord first.
What this is about
You want a bot to give a member a role: by command, by button or when they join. But nothing happens, or the bot reports "Missing Permissions".
A role in Discord is a group you give permissions to and assign members to. Almost always, one of three Discord rules is behind it:
The hierarchy. The order of the role list is the rank order. A bot can only assign roles that sit below its own highest role. Being level with it isn't enough.
The permission. The bot needs Manage Roles.
Managed roles. Roles Discord manages itself, like a bot's own role or the booster role, can't be assigned by hand – not even by a bot.
Administrator doesn't lift the hierarchy either.
How to do it in Discord
The steps apply to Discord on a computer and in the browser.
Drag the bot's role up
Click the server name at the top left and choose Server Settings › Roles.
Find the bot's role. It's usually named after the bot.
Drag it above the role the bot should assign. If it assigns lots of roles, drag it right to the top.
Click Save Changes.
Give the bot the permission
Click the bot's role in the same list and open the Permissions tab.
Turn on Manage Roles and click Save Changes.
If the bot has several roles, their permissions add up. For the hierarchy, the highest one counts.
How to tell it worked
Have the bot assign the role again. The role then shows in the member's profile. Some bots only pick up the new order after a few seconds.
Common pitfalls
You can't drag the role high enough. You can only move roles up to just below your own highest role. Only the server owner can drag it right to the top.
The role is at the top and it still doesn't work. Check that the bot has Manage Roles and whether the role is a managed role.
A new role sits above the bot. If someone creates a role later and moves it up, the error comes back for exactly that role.
The bot should also kick, ban or change nicknames. For that, the member's highest role has to sit below the bot's role. No bot can kick, ban or rename the server owner.
You can't assign a role yourself. The same rule applies to you, and you need Manage Roles.
With Fylgra
You don't need Fylgra for this. For its own role, though, Fylgra saves you the searching.
Fylgra checks its own role. If roles sit above the "Fylgra" role, Fylgra shows this in the Setup Assistant at the Fylgra's role step and on the Overview as the notice Fylgra's role sits too low. Click Instructions there: Above it: lists the roles Fylgra can't assign. Once you've moved the role, click Check again.
Fylgra tells members what's missing. If a role from Reaction Roles or Rules sits too high, Fylgra tells the member which role it is and that an admin can drag "Fylgra" higher. For panels with reactions, this comes as a direct message if the member allows them.
Fylgra shows in advance what won't work. When you pick a role in Reaction Roles or Rules, the roles Fylgra can't or shouldn't assign are listed at the bottom under Can't be assigned, each with the reason – for example roles above "Fylgra" or with Administrator.

Fylgra can't move its role itself, and it can't help with other bots. The steps for Fylgra are in fylgra-rolle-nach-oben.
Not working?
- Fylgra meldet: Konnte nicht strafen – Rolle zu hoch Troubleshooting · Moderation · German
Still stuck? Write to me – I'll help. Send a report or email fylgra@fylgra.com
Related articles
- Fylgras Rolle nach oben ziehen Guide · German
- Discord: let members pick their own roles (reaction roles) Discord know-how
- Discord moderator permissions without Administrator Discord know-how