Skip to content

How to Fix Discord Role Hierarchy Issues (Permissions Not Working)

DodaTech Updated 2026-06-24 3 min read

In this tutorial, you'll learn about How to Fix Discord Role Hierarchy Issues (Permissions Not Working). We cover key concepts, practical examples, and best practices.

Discord's role hierarchy determines how permissions interact. Higher roles override lower roles, and role order determines which permissions take precedence for members with multiple roles. When permissions are not working as expected, a role is placed incorrectly in the hierarchy or another role is overriding the intended permission.

The Problem

You give a role "Kick Members" permission but members with that role cannot kick anyone. Or you deny "Send Messages" in a channel but a role with "Administrator" still allows messaging.

Wrong approach — deleting and recreating the role with the same permissions.

The Fix

Check the role hierarchy:

1. Server Settings → Roles
2. The highest role at the top has the most power
3. Important rule: a role CANNOT manage or moderate a role ABOVE it
4. Example: if "Moderator" is below "Admin", 
   a Moderator cannot kick an Admin

For permission overrides in channels:

1. Right-click the channel → "Edit Channel"
2. Go to "Permissions" tab
3. Roles are listed from top to bottom
4. ✅ (checkmark) = allow, ❌ (cross) = deny, none = neutral
5. At the bottom, check "Default" permissions from the role list

Common hierarchy issues:

1. **Administrator override**: The ADMINISTRATOR permission overrides 
   ALL channel-specific deny settings
2. **Member role**: @everyone has default permissions — ensure 
   specific roles are ABOVE @everyone in the list
3. **Bot role**: Bot roles are at the VERY BOTTOM of the role list 
   by default — drag them up to give bots proper permissions

Expected output:

Roles are in correct order with proper hierarchy
Permissions apply as expected without unexpected overrides
Role-based moderation works correctly (kick, ban, mute)
Channel-specific overrides respect the role hierarchy

Prevention Tips

  • Place @everyone at the very bottom of the role list
  • Place administrator roles at the very top
  • Bot roles should be above the roles they need to manage
  • Use channel-specific overrides instead of modifying role permissions for exceptions
  • Test permission changes with a secondary account to verify hierarchy behavior

Common Mistakes with role hierarchy

  1. Forgetting deriving (Show, Eq) on custom data types needed for debugging
  2. Placing the wildcard pattern first in case expressions, making all subsequent patterns unreachable
  3. Using head and tail instead of pattern matching, causing runtime errors on empty lists

These mistakes appear frequently in real-world DISCORD code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.

Practice Exercise

Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.

This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.

FAQ

### Why does my role not override @everyone permissions?

A role must be positioned ABOVE @everyone in the role list to override its permissions. Drag the role above @everyone in Server Settings > Roles. If the role is below @everyone, @everyone's permissions take priority.

Why can my Moderator role not kick a member with the Admin role?

A role cannot manage or moderate any role positioned above it. Move the Moderator role above all roles it needs to manage. The role's position in the list determines its hierarchy power — not the role name or color.

What happens when a member has two roles with conflicting permissions?

The most permissive permission wins. If one role allows "Send Messages" and another denies it, the member CAN send messages (allow wins). The exception is the "Administrator" permission, which overrides all other deny settings.

Related: DodaTech's Role Manager provides a visual drag-and-drop interface for managing Discord role hierarchy, permissions, and member assignments across your server. Use with DodaZIP for backup.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro