How to Fix Discord Role Hierarchy Issues (Permissions Not Working)
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
- Forgetting
deriving (Show, Eq)on custom data types needed for debugging - Placing the wildcard pattern first in case expressions, making all subsequent patterns unreachable
- Using
headandtailinstead 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
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