On one of the servers Qreate runs on, Discord currently reports 40 channels.

Eleven of them, Qreate has no access to. Staff rooms, a couple of logs, the sort of places a bot has no business reading anyway.

From 16 November 2026, that same request will return 29.

The other eleven will not be marked private, flagged, or returned with a note. They’ll simply be gone, in the way a word is gone when you delete it.

We’ve already changed how Qreate reads a server so that nothing important disappears with them.

This is what Discord is changing, what it could have broken, what we found while preparing for it, and the one thing worth checking on your own server before November.

What Discord announced

The change is called channel obfuscation, and it landed in Discord’s developer changelog on 12 August.

The short version: if a bot does not have View Channel, Discord will stop including that channel in the normal HTTP response used to list a server’s channels.

The details that matter:

  • Starting 16 November 2026, the HTTP endpoint bots use to list guild channels will omit inaccessible channels completely.
  • Over Discord’s live connection, those channels can still arrive, but obfuscated. The name becomes a placeholder, permissions are reduced to effectively “everyone is denied”, and a flag marks the channel as hidden.
  • The channel ID, type, and position in the category tree remain. The shape of the server survives. The name and contents of that room do not.
  • Slash commands are an exception. If someone invokes a command inside a channel, the bot receives the full channel context because the user deliberately brought it into that interaction.

We think this is the right change.

A bot being able to enumerate the names of private staff channels it was never allowed to view was always a little strange.

If the objection is “but my bot needs the full list”, that is more or less the behaviour Discord is trying to remove.

What it could have broken

The interesting part is that this change would not usually fail loudly.

Nothing crashes.

A list simply becomes shorter, and everything downstream starts trusting the shorter list.

That is enough.

A bot could decide your existing #mod-log channel no longer exists.

It could offer to create #staff because it cannot see the one already there, leaving you with two.

A settings dropdown could quietly lose an option with no obvious sign that anything changed.

Qreate now reads both available sources and merges them.

If Qreate cannot see inside a channel, that channel still keeps its place in the server structure. Qreate knows it exists, knows where it sits, and marks it as inaccessible instead of pretending the server is smaller than it is.

You do not need to configure anything for that behaviour.

The bug we found while getting ready

This is the part we’d rather tell you ourselves.

While tracing every place where a missing channel could cause damage, we found that one of our own pickers already had a version of the same problem.

It had been there for a while.

If you saved a setting pointing to a channel and that channel later disappeared from Qreate’s available channel list for any reason, the dropdown could fall back to Not set.

The next time you saved that page, Qreate wrote the empty value back into the configuration.

You had not cleared the channel.

The dropdown had.

November would have turned an occasional edge case into something much easier to trigger.

It’s fixed.

A saved channel now keeps its place in the picker even when Qreate cannot see it. It gets a padlock so you know why nothing can be posted there, but the saved reference itself remains valid.

Grant Qreate’s role View Channel, and the padlock disappears.

If you’ve ever had a channel setting mysteriously come back empty, this may have been why.

That one was ours.

Two smaller things from the same month

Discord also raised the default upload limit from 10 MiB to 20 MiB on 3 September.

While checking Qreate against the new limit, we found something more important than the number itself.

A screenshot attached to a support ticket could fail without making that clear to the support team.

The user had attached an image.

The team received a ticket without one.

That is the kind of failure we do not want hidden.

If Qreate now refuses or fails to attach a file, the ticket identifies the file and tells the support team why it was not included.

On 11 September, Discord also improved the slash command box.

Typing /r a can now surface /role add, long text options can be multiline, and Discord remembers the command you had selected when you move between channels.

Those are client-side Discord improvements, so you get them without Qreate shipping anything.

On our side, we gave /module a proper suggestion list.

The old version assumed you had memorised roughly thirty module IDs, which was optimistic of us.

What to do before 16 November

Probably nothing.

That is the goal.

There is one thing worth checking.

If you expect Qreate to post in a channel, open Server Settings and make sure Qreate’s role has View Channel there.

That was already required for Qreate to post into the channel.

From November, it will also determine whether Qreate can show that channel by name in settings.

If you want to test the behaviour yourself, pick any channel Qreate currently cannot see, grant View Channel, and check the picker.

The padlock should disappear.

If it does not, tell us.

You should not need to think about channel obfuscation after that. If Qreate behaves differently from what we’ve described here, we want to know about it before it becomes your problem.

Sources: Discord’s changelog entries for channel obfuscation, the upload limit increase, the slash command improvements, and Discord’s obfuscated channels reference.