- How do Discord role permissions work?
- Role hierarchy
- How do Discord channel permissions and overrides work?
- The Administrator permission
- Server owner permissions
- Every Discord permission explained
How do Discord role permissions work?
- @everyone role: when the
@everyonerole has a permission, every member in the server has it, unless a channel override denies it for them.
@everyone having View Channels gives every member the ability to see the server’s channels by default.
- Per-role permissions: work the same way as
@everyone. If@everyonealready has a permission, you don’t need to also grant it to another role. Though granting it anyway wouldn’t cause any harm. - A member has a given permission as long as at least one of their roles grants it.
Role hierarchy
Role hierarchy, also known as role position, plays a crucial part in Discord permissions. See Discord’s own permission hierarchy explainer for the short version. Here’s the long version, with an example.- If any of Member A’s roles has Ban Members permission, and their highest role is above Member B’s highest role, Member A can ban Member B.
- It doesn’t matter which specific role grants the permission. Only whether Member A’s highest role outranks Member B’s highest role.
- Example:
- Server roles, ranked from highest to lowest:
0.
Developer(Permissions: Ban Members only)Admin(Permissions: Administrator)Normal(Permissions: no permissions, or anything except Ban Members)Moderator(Permissions: no permissions)Support(Permissions: Ban Members)Member(Permissions: no permissions)@everyone(Permissions: no permissions)
- Member A has the
Supportrole. - Member B has the
Moderatorrole. - Even though
Supporthas the ban permission andModeratordoesn’t, Member A cannot ban Member B, becauseSupportis ranked lower thanModerator. - Now flip it: if Member B only had the
Memberrole instead ofModerator, Member A could ban them, becauseSupport(Member A’s highest role) now outranksMember(Member B’s highest role). The permission still comes fromSupport. What changed is just where each member’s highest role sits in the ranking. - Now if Member B had the
Moderatorrole and Member A hadSupportandNormal, even thoughNormaldoesn’t have Ban Members permission, Member A can still ban Member B, because their highest role is above Member B’s. - This shows the permission and the highest role don’t need to be the same role. Discord only checks Member A’s highest role position, not which specific role granted the permission.
- Hierarchy also applies to Administrator. If Member A had the
Developerrole and Member B had theAdminrole, Member A would be able to ban Member B, but not the other way around.
- Server roles, ranked from highest to lowest:
0.
How do Discord channel permissions and overrides work?
Discord has two types of channel overrides: role overrides and member overrides. This section covers both, plus how they interact with role hierarchy and@everyone. See Discord’s own permissions setup FAQ for their version.
Role overrides
- Role overrides: as covered above, a role with View Channels can see every channel by default, unless a specific channel overrides that.
- Channel permissions: a member with View Channels in a given channel will be able to view that channel.
- Channel and role overrides: if a role has View Channels allowed, but that role’s channel override denies it for a specific channel, members with only that role can’t view that channel. With a few exceptions covered below.
- Channel permissions hierarchy: if a member has two roles, and one role has View Channels denied for that channel while the other has it allowed, the member can view that channel. Allow wins over deny when comparing role overrides against each other.
- This does not mean allow always wins overall. Role overrides take priority over
@everyone’s setting, regardless of which way they go:- If
@everyoneis denied View Channels, but one of the member’s roles allows it, the member can view the channel. The role’s allow overrides@everyone’s deny. - If
@everyoneis allowed View Channels, but one of the member’s roles denies it (and no other role explicitly allows it), the member cannot view the channel. The role’s deny overrides@everyone’s allow.
- If
- Neutral permissions: each permission in a channel override can be set to one of three states. Allow (green check), Deny (red X), or Neutral (grey slash). Neutral means this role or member has no explicit setting for that permission in this channel. It simply falls through to the next layer in the hierarchy (role override → role’s base permission →
@everyone, same as a role’s base permission) instead of forcing an allow or deny.- Neutral is the default state for every permission on every channel override, until someone explicitly clicks Allow or Deny.
- Because neutral doesn’t “win” or “lose” against anything, only explicit Allow/Deny settings affect the outcome. A neutral role override is effectively invisible in the hierarchy chain.
- Member-management permissions can’t be set per channel: permissions that manage members at the server level, like Kick Members, Ban Members, Manage Nicknames, Manage Roles, Manage Server, and View Audit Log, don’t appear in the channel permissions editor at all. These only exist as role-level permissions and always apply server-wide. They can’t be allowed or denied for a specific channel, since actions like kicking or banning aren’t tied to any single channel.
- Member overrides: as covered above for roles and channels, permissions for a channel are checked in this order: channel overrides for the member → channel overrides for the member’s roles → the member’s role permissions. Discord checks each layer in turn and stops at the first one with an explicit Allow or Deny set for that permission.
- A member override is a permission set directly on one specific member for one specific channel, separate from any role. Since it’s checked first, it overrides everything below it, including channel overrides for roles.
- If a member has an explicit Deny set on a permission for a channel, they will not have that permission there, even if a channel override for one of their roles allows it.
- If a member has an explicit Allow set on a permission for a channel, they will have that permission there, even if a channel override for one of their roles denies it.
- Like role overrides, a member override can also be left Neutral for any permission it doesn’t need to touch. Discord then moves on to check the next layer down (channel overrides for roles).
- Example: Member A has the
Supportrole, which is allowed View Channel in#staff-chatvia a channel override for that role. But#staff-chatalso has a channel override for Member A specifically that denies View Channel. Member A will not be able to view#staff-chat, because Discord checks the member override first and stops there.
The Administrator permission
- Administrator: the most powerful permission in Discord. A member with Administrator on any of their roles bypasses every permission check entirely. Channel overrides, role overrides, and even
@everyonedenies don’t matter at all.- Administrator overrides the entire hierarchy just covered. It doesn’t just win at the top like a member override, it skips the check completely. Discord doesn’t even look at channel overrides for a member with Administrator.
- This means a channel override that denies Administrator members View Channel (whether a role override or a member override) has no effect. Administrators can see and access every channel, always.
- Administrator also implicitly grants every other permission (Ban Members, Kick Members, Manage Roles, Manage Server, etc.), even if none of those are individually enabled on the role.
- What Administrator does not bypass: role position/hierarchy still applies for actions between members. An Administrator role still needs to be positioned above a target member’s highest role to kick, ban, or manage that member. Administrator doesn’t let you act on someone with an equal or higher role than yours.
- The same applies role-to-role: an Administrator role can’t edit, delete, or reorder a role positioned above it. Even though it technically “has” every permission, hierarchy position still gates management actions.
- Practical note: because Administrator can’t be restricted by channel overrides, it should only be given to fully trusted roles/members. There’s no way to hide a specific channel from an Administrator, even by accident-proofing it with overrides. The only way to limit an Administrator is to remove the permission itself.
Server owner permissions
The server owner sits above the entire permission system, including Administrator. Ownership isn’t granted by any role or permission, it’s a separate, single flag on the server itself.- The owner bypasses every permission check, the same as Administrator, but also bypasses role hierarchy itself. There’s no role position “above” the owner, because the owner isn’t ranked in the hierarchy at all.
- The owner can be managed by no one, regardless of roles or permissions. Even a member whose highest role sits above the owner’s highest role cannot kick, ban, timeout, or change the nickname of the owner. Role position comparisons simply don’t apply to the owner.
- The owner is the only member who can delete the entire server, and the only action requiring ownership specifically (not just Administrator) is transferring ownership to another member.
- Ownership can only change by the current owner explicitly transferring it to someone else. It cannot be taken, voted away, or reassigned by any permission, bot, or role setup.
Every Discord permission explained
Role permissions:- Manage Permissions (channel-level): in a channel’s permission editor, this appears as its own toggle (separate from the server-wide Manage Roles). It lets a member change that specific channel’s permissions, but it can only ever be granted to a role or member by an Administrator or the server owner. It cannot be granted by someone who merely has Manage Roles or Manage Channels without also being an Administrator or the owner.
If you’re setting these permissions up for a support workflow specifically, better tickets builds on all of this directly: per-button role permissions for claim, unclaim, close and voice-channel requests from each ticket category’s settings, and server-wide command locking by role, channel or Discord permission from command permissions.
