What do the green check, red X and grey slash mean in Discord channel permissions?

The green check allows the permission in this channel, the red X denies it, and the grey slash sets nothing, so the member keeps whatever their roles and the channel's other overwrites give them. A slash is not an allow: if @everyone has a red X on View Channel and your Members role is left on the slash, members of that role still cannot see the channel.

Updated · the Bond team

Fix it in the Discord app

To set a permission for one role in one channel:

  1. Right-click the channel → Edit Channel → Permissions → Advanced permissions. For a whole category, right-click the category → Edit Category → Permissions.
  2. Pick the role under Roles/Members, or press the plus button to add it.
  3. Click the green check to allow the permission for that role here, the red X to deny it, or the slash to leave it to the role's server settings and the channel's other overwrites.
  4. Press Save Changes. If the channel was synced to its category, changing it here stops the sync.

To keep one person out of a channel their role can see, add that member by name and give them a red X. A member's own overwrite is the only thing that beats a green check on one of their roles.

The rule

Discord's Channel Permissions Settings 101 describes the three states: the X means the setting is disabled, the slash means it goes by default settings, and the check means it is enabled. "Default settings" means everything below this channel's overwrite: the member's roles in Server Settings → Roles, and the other overwrites in the channel.

Discord works out what a member can do in a channel in this order, as its permissions documentation lays out:

  1. The server owner can do everything, everywhere. So can anyone holding Administrator on any role, and channel overwrites do not apply to them.
  2. Everyone else starts from their server permissions: whatever @everyone and their roles allow in Server Settings → Roles, added together.
  3. The channel's @everyone overwrite applies next. Its red X's take permissions away, then its green checks add them.
  4. Then every overwrite for a role the member has, all at once. The red X's from all of their roles take permissions away, then the green checks from all of their roles add them. A green check on one of their roles beats a red X on another.
  5. Last, the member's own overwrite, red X then green check.

A slash leaves its step out. That is why a slash is not an allow: after a red X on @everyone, the permission stays off unless a later step turns it back on.

View Channel comes first in practice. Without it the member cannot see the channel, so nothing else set there matters.

Some permissions need Send Messages. Attach Files, Embed Links and Use External Stickers are part of a message, so they do nothing for a member who cannot send messages in that channel.

Threads follow their channel. A thread has no overwrites of its own. A private thread also shows only to the members added to it and to moderators with Manage Threads, as Discord's threads documentation says.

Synced channels follow their category until you change one of their permissions, as the Setting Up Permissions FAQ explains. Edit Channel → Permissions → Sync Now puts a channel back on its category's settings.

If this, then that

  • If a role has the green check and one member of it still cannot see the channel, that member has a red X of their own on the channel.
  • If a role on the slash can see a channel you meant to be private, @everyone has no red X on View Channel there, or another of their roles has a green check, or they hold Administrator.
  • If you changed the category and one channel did not follow, that channel is not synced. Sync it or change it by hand.
  • If members have a green check on Attach Files and still cannot post images, Send Messages is denied for them there.
  • If a red X on a role does nothing to one member, another of their roles has a green check there, they have a green check of their own, or they hold Administrator or own the server.
  • If a permission is off for a role in Server Settings but on in one channel, the channel's green check wins in that channel. Channel permissions override server permissions.

What Bond does here

Once a channel is open to @everyone, closing it again does not take back what people read in the meantime, so when you ask in chat or on the dashboard, Bond does not open one on the strength of the request alone. It posts a confirmation that says what opens and where, every time, even if you told it to always allow permission changes. The one exception is a custom slash command you saved: a slash command cannot stop to ask, so the steps you approved when saving it are the consent. Before any channel permission change it also checks that you could make it yourself in that channel, and if a grant would do nothing, such as Attach Files for a role that cannot send messages there, it says so instead of reporting the change as done.

general
Y
youToday at 4:31 PM

@Bond let everyone see #announcements

BondAPPToday at 4:31 PM

Update permissions for @everyone on #announcements

Allows View Channel. For @everyone on #announcements.

Grant View Channel to @everyone in #announcements. Every member of the server will gain this access.
Opening access to @everyone always asks
ConfirmCancelDetails

Message #general

An example with made-up names, not a captured run. The card follows the one Bond posts for this change, minus the channel ID it also prints.

Questions people ask

  • What does the grey slash mean in Discord permissions?

    It means this overwrite sets nothing for that permission. The member keeps whatever their server roles and the channel's other overwrites give them.

  • Is the slash the same as allowed?

    No. A slash only allows a permission if something else already does. Under a red X on @everyone, a role left on the slash is denied.

  • Which wins, a green check or a red X?

    In the same step, the green check: if one of a member's roles has a red X and another has a green check, the member gets the permission. A member's own overwrite beats every role overwrite, and Administrator beats all of them.

  • Why does an administrator still see a channel I denied them?

    Administrator ignores channel overwrites entirely. Take Administrator off their roles if they should not see everything.

  • Will Bond open a channel to everyone if I ask?

    Only after you confirm. When you ask in chat or on the dashboard, Bond shows which channels open to @everyone and asks every time, even when you have told it to always allow permission changes, so it cannot widen @everyone behind your back to make one of its own actions work. A custom slash command you saved runs with the steps you approved when you saved it.

Sources

Checked against Discord's documentation and Bond's own checks. Updated .

Bond runs these checks for you: it names the setting that blocked it and the fix, and it never widens a permission to get its own way.