Roles grant access; channels can adjust it
At server level, a member gets the combined permissions of @everyone and their assigned roles. Turning a permission off in one role does not cancel a grant from another role.
Channels can then apply permission overrides for @everyone, roles, or individual members. Administrator bypasses those channel overrides. Discord’s permissions reference documents the calculation and its exceptions.
a common surprise
A higher role does not win every permission conflict.
Role position matters for actions such as managing roles and moderating members. Channel access uses the override rules below, not simply the highest role’s settings.
How channel permissions combine
Combine the server grants
Start with @everyone and all assigned roles. A permission granted by any of them is enabled at this stage.Apply the @everyone channel override
Remove its denied permissions, then add its allowed permissions.Combine the assigned role overrides
Apply all role denies first, then all role allows. An allow from one assigned role can therefore beat a deny from another.Apply the member override
The individual member’s channel override is applied after the role overrides.
Channel access also has dependencies. If someone cannot view the channel, other channel actions are effectively unavailable. Threads and voice have additional rules; do not assume this simplified model covers every Discord permission.
Use categories to keep settings consistent
A synced channel keeps its overrides aligned with its category. An unsynced channel has its own set. Categories are not an extra permission layer applied before a second, separate set of channel overrides.
For a private channel, deny View Channel for @everyone and allow it for the intended role. Check all other assigned roles and any member-specific overrides. Administrator users can still access it.
Try a permission change
This playground models View Channel, Send Messages, and Manage Messages. Give the member Staff and Muted roles, deny sending for Muted, then allow it for Staff to see the role-override rule.
Permission playground
Server grants
Unchecked means this role adds no grant. It does not remove another role’s grant.
Channel overrides
Neutral leaves the earlier result unchanged. Role overrides apply only if the member has that role.
View Channel
Allowed
Send Messages
Allowed
Manage Messages
Allowed
Server grants → @everyone override → combined role overrides → member override. View Channel gates the other actions shown here.
A short permission review
- Keep Administrator limited to the people who need full control.
- Place a bot’s role above roles it must manage, while granting only the actions it needs.
- Prefer shared role overrides over many individual exceptions.
- Check unsynced channels when changing a category.
- Test with ordinary member and staff accounts, not only the server owner.
- Review the audit log after an unexpected permission change.
For temporary moderation, use Discord’s timeout tools where suitable instead of assuming a Muted role can override every other grant. For broader server protection, read the safety guide.