---
title: "Why your Discord bot can't assign roles, kick or rename someone (even with Administrator)"
description: "Discord's role hierarchy decides which roles a bot can hand out and which members it can act on, and Administrator does not change it. How to fix the role order, and the cases no drag can fix."
canonical_url: "https://www.bondbot.gg/permissions/bot-cant-assign-role"
last_updated: "2026-10-02"
---

# Why can't my bot assign a role, kick or rename someone, even with Administrator?

Discord checks role position as well as permissions. A bot can only hand out, edit or delete roles below its own highest role, and can only kick, ban, time out or rename members whose highest role is below its own; Administrator lifts neither rule. Drag the bot's role above the roles and members it has to manage in Server Settings → Roles, unless the target is the server owner or an integration's role, which no position reaches.

Updated 2026-10-02, by the Bond team.

## Fix it in the Discord app

1. Open Server Settings → Roles. The list runs from the highest role at the top to the lowest at the bottom.
2. Find the bot's role, which usually carries the bot's name, and the role it has to hand out. If the bot has to act on a member, find that member's highest role instead.
3. Drag the bot's role above that role. It only needs to be above its targets, not at the very top: keep it below your admin and moderator roles so the bot can never act on your staff.
4. Check that the bot's role has the permission too: Manage Roles to hand out roles, Manage Nicknames to rename members, Timeout Members or Ban Members to moderate.
5. Try again.

If the role in the way is the bot's own highest role, no drag fixes it, because a role cannot be moved above itself. For the bot to hand that role out, give the bot a different role and drag that one above it. To change or delete the bot's own top role, do it yourself in Server Settings → Roles.

## The rule

Discord's [permissions documentation](https://docs.discord.com/developers/topics/permissions) states it for bots: "A bot can grant roles to other users that are of a lower position than its own highest role. A bot can edit roles of a lower position than its highest role, but it can only grant permissions it has to those roles." And: "A bot can only kick, ban, and edit nicknames for users whose highest role is lower than the bot's highest role." Discord's [Roles and Permissions guide](https://support.discord.com/hc/en-us/articles/214836687-Discord-Roles-and-Permissions) holds people to the same rule: members "cannot ban, kick, or change nicknames of users with equal or higher roles, even if they have those permissions."

A few things follow from that.

**Equal is not enough.** The bot's role has to be above the target, not level with it. So a bot cannot hand out or change its own highest role, or act on a member whose highest role is the same as the bot's.

**Administrator does not help.** It lets a bot past channel overwrites. It does nothing for role position. To see which bots ask for it, read [which Discord bots ask for Administrator](https://www.bondbot.gg/permissions/which-bots-ask-for-administrator).

**The owner is out of reach.** Nobody can kick, ban or time out the server owner, and only the owner can change their own nickname.

**Integration roles cannot be handed out.** A bot's own role, the Server Booster role and roles made by linked integrations belong to Discord or the integration, and nobody can give them to members by hand or through a bot.

**Timeouts have one more rule.** Discord's [member documentation](https://docs.discord.com/developers/resources/guild) says a timeout fails if the member has Administrator or owns the server, whatever the bot's position.

**Voice mute and deafen are different.** Mute Members and Deafen Members are voice permissions, decided in the voice channel the member is in rather than by role position.

## If this, then that

- **If it worked last week and stopped**, someone moved the bot's role down or the target role up. Check the order in Server Settings → Roles.
- **If it fails for one member and works for the rest**, that member's highest role is at or above the bot's.
- **If it fails for the server owner**, nothing on the bot's side can change that.
- **If the server owner cannot give the role to anyone by hand either**, it is an integration's role and no bot can hand it out. Anyone else can also be stopped by their own role position, so only the owner's attempt tells you this.
- **If the bot can hand out a role but cannot change its permissions**, the change would give the role a permission the bot does not have itself.
- **If you need to time out an administrator**, take Administrator off their roles first, or use a kick or a ban.
- **If the bot was changing a channel's permissions**, role order has nothing to do with it. See [Missing Permissions (50013)](https://www.bondbot.gg/permissions/missing-permissions-50013).

## What Bond does here

Bond looks at two people's roles when it touches a role or a member. First you, before it acts: it will not do for you what Discord would not let you do in the client, so a role at or above your own highest role, or a member whose highest role is at or above yours, is refused unless you own the server. Then itself: when its own role is too low, whether Bond catches that before acting or Discord refuses the change, it names both roles, their positions and the drag that fixes it, and it says so plainly when the role in the way is its own and no drag can help.

In #admins (Server admins only):

> **You:** @Bond give @Sam the Moderator role

> **Bond:** I couldn't give Sam the **Moderator** role. Discord only lets me hand out roles below my own highest role, and my role **Bond** is at position 4 while **Moderator** is at position 6.
>
> To fix it, open Server Settings → Roles and drag **Bond** up past **Moderator**, then ask me again.

An example with made-up names, not a captured run. The cause and the fix follow the check Bond runs when its role is too low; a live reply puts them in its own words.

## Questions people ask

### Why is Manage Roles not working on my bot?

Manage Roles lets a bot hand out, edit and delete roles, but only roles below its own highest role, and it can never hand out an integration's role. Administrator does not change that. Drag the bot's role above the role it has to manage in Server Settings → Roles. If the bot was changing a channel's permissions instead, role order plays no part there: Discord checks what the bot holds in that channel.

### Why is role hierarchy not working for my bot?

Usually it is working, just not where you expect it. Role position decides which roles a bot can hand out, edit or delete, and which members it can kick, ban, time out or rename, and the bot has to be above the target, not level with it. It does not decide channel permissions: a green check or red X on a channel applies whatever the role order, and Administrator skips channel overwrites but not role position.

### Should I put the bot's role at the very top?

Only as high as it needs. Put it above the roles it hands out and the members it moderates, and below your admin and moderator roles, so a mistake or a stolen bot token cannot touch your staff.

### Why can't the bot give out the Server Booster role?

It is an integration role that Discord manages. Nobody can hand it out by hand or through a bot; members get it by boosting.

### Can Bond help someone get around the role order?

No. Bond checks the role position of the person asking as well as its own, so a moderator cannot use Bond to manage a role at or above their own highest role, or to act on someone whose highest role is at or above theirs. Only the server owner is exempt, as in Discord itself.

## Sources

Checked against Discord's documentation and Bond's own checks. Updated 2026-10-02.

- [Discord developer docs: permissions and the permission hierarchy](https://docs.discord.com/developers/topics/permissions)
- [Discord developer docs: modifying a server member](https://docs.discord.com/developers/resources/guild)
- [Discord support: Discord Roles and Permissions](https://support.discord.com/hc/en-us/articles/214836687-Discord-Roles-and-Permissions)
- [Discord support: Setting Up Permissions FAQ](https://support.discord.com/hc/en-us/articles/206029707-Setting-Up-Permissions-FAQ)

## Other permission errors

- [Missing Permissions (50013)](https://www.bondbot.gg/permissions/missing-permissions-50013): Discord error 50013 means the bot reached its target and was refused. The six causes in the order to check them, and the fix in the Discord app for each.
- [Missing Access (50001)](https://www.bondbot.gg/permissions/missing-access-50001): When a Discord bot gets error 50001 on a channel, it cannot see that channel. What hides it, how to let the bot back in from the Discord app, why the bot cannot fix it itself, and the other cases behind 50001.
- [Check, X and slash](https://www.bondbot.gg/permissions/channel-permission-slash): In a Discord channel's permissions the green check allows, the red X denies and the grey slash sets nothing. The order Discord applies them in, and why a slash under a denied @everyone still means denied.
