Permission reference·Staff planner

Locking Discord channels without locking yourself out

10 min read · Published 2026-11-01 · Updated 2026-11-01 · Perminator

Private staff rooms fail in one of two directions. Either a new member can read them, or the people who built them cannot. Both failures come from the same mechanism: channel overrides, applied in a fixed order, with categories that copy those overrides until the moment they stop. This is the recipe that survives a new role, and the ways it gets undone. The order Discord applies allows and denies is explained in channel permission overrides . Read that if the steps below feel arbitrary. They are not.

The recipe that survives a new role

On the category, set View Channel to deny for @everyone. Set View Channel to allow for each role that should see the category. Leave every other role at inherit, the grey slash. Sync the channels inside the category so they use those two rules.

A member's view is then: start from the server, lose view because of the @everyone deny, gain it back only if one of their roles has the allow. A role you create next month has neither an allow nor a need for a deny. It cannot see the category. That is the property you want, and it is the property you lose if you build the lock the other way.

Why denying every role fails

The tempting version is to leave @everyone alone and deny View Channel on Member, on Verified, on every cosmetic role, and on each bot. It works until you create a role and forget. The new role has no deny. View Channel falls through to the server default, which is allow, and the new role can read the staff room. People notice when a booster role or a temporary event role suddenly sees tickets.

Fix an existing category by adding the @everyone deny and the staff allows, then clear the per-role denies that were only there to simulate it. Test with an account that holds a brand-new empty role before you trust it.

A category map you can copy

This matches the staff ladder . Adjust names. Do not add a third style of lock for one special channel unless you write down why.

Category@everyone View ChannelAllow View Channel forSync
Public Inherit (allow from the server role) Nobody extra Yes
Staff Deny Trial moderator, moderator, senior moderator, admin Yes
Mod log Deny Senior moderator, admin Yes. Do not put this channel inside Staff or trials inherit the staff allow.
Event prep Deny Event host, moderator Yes, and delete or archive it after the event

Sync, and the channel that left

A channel synced to its category has the same overrides as the category. Edit the category and the channel follows. The first time anyone edits the channel's own permissions, Discord unsyncs it. Later category edits do not reach it. The UI shows this, and people click through it.

When a private category "almost" works, open each channel and look for the sync banner. The unsynced channel is usually the one a moderator customized for a single event and never put back. Syncing it again replaces its overrides with the category's. Read them before you confirm, in case the channel was unsynced on purpose to be more locked, not less.

Member overrides you forgot

A row with a person's name, rather than a role, is a member override. It is applied after role overrides, so an allow on that row beats a deny on every role they hold. Staff use these for "just this freelancer" and then the freelancer leaves. The override remains. They rejoin with a new invite, or a different staff member still has an allow from a previous job, and the channel is not as private as the role list suggests.

On each sensitive channel, scroll the permission list for member rows. Remove any person who is not currently supposed to be there. Prefer a role, even a role with one person in it, so the access shows up in the role list during an audit.

Administrator walks through the lock

None of the denies above apply to a member with Administrator, or to the server owner. If an admin can read the mod log and you did not want them to, you cannot fix it with a deny. You remove Administrator and give them the specific flags they need, or you accept that admins see the channel. There is no third option inside Discord.

Locking yourself out

The owner can always open a channel and repair overrides. Anyone else can strand themselves by denying View Channel for their own highest role and for @everyone without leaving an allow that covers them. Build the allow for your role first, confirm you still see the channel, then add the @everyone deny.

If you are not the owner and the channel is gone from your sidebar, stop editing other channels to "match." Ask the owner to open that channel's permissions and add your role back. Do not have them grant you Administrator as the repair. The repair is one allow.

Seeing a channel is not the same as speaking in it

View Channel, Send Messages, and Mention Everyone are separate. A public announcements channel is visible to everyone, sendable only by senior staff, and ping-capable only there. Set those as three overrides. Granting Mention Everyone on the senior role lets them ping from every channel they can type in, which includes general chat at midnight.

Denying Send Messages does not hide the channel. People can still read it. If the goal is secrecy, the deny you want is View Channel. Read Message History is a further switch: a member allowed to view a channel but denied history sees only messages sent after they gained access. Useful for tickets. Useless as a lock, because the next message is visible.

Keep reading