discord-is.fun
API changelog ·

Channel Obfuscation for Users and Bots

Breaking change GatewayHTTP API

Users will stop receiving full metadata for channels they can't view. Gateway channels are redacted, and GET /guilds/{guild.id}/channels omits them. This becomes mandatory for all bots on November 16, 2026.

We're changing how users and bots see channels they lack VIEW_CHANNEL on.

Today, bots receive every channel in a guild, including ones they can't view, with full metadata over both the Gateway and the HTTP API. Soon, users will be unable to view channels they don't have access to, so we are updating bots to follow the same rule.

  • Over the Gateway, channels a bot can't view will still be dispatched, but with sensitive fields obfuscated. The channel's name becomes "___hidden___", other sensitive fields are nulled or reduced, a new CHANNEL_OBFUSCATED flag (1 << 17) is set on the channel's flags, and the permission_overwrites will contain a single permission overwrite denying VIEW_CHANNEL for the guild's @everyone role.
  • Over HTTP, GET /guilds/{guild.id}/channels will omit those channels from the response entirely.

A channel stops being obfuscated the moment your bot gains access to it, for example through a permission overwrite change or a role change. When that happens, the Gateway dispatches a Channel Update event with the channel's full, unobfuscated data. Interaction payloads are built through a separate path that does not apply obfuscation.

Why are we Making This Change?

Channels a user doesn't have access to shouldn't be accessible or visible to that user. This change is happening to respect the privacy of users. Because it's happening for users this means it will also apply to bots.

Breaking Change

This affects bots that read data about channels they can't view, such as bots that mirror or audit a server's full channel list, calculate permissions across every channel, or report on channel structure regardless of the bot's own access. If your bot only acts in channels it has permission to view, this change does not affect you.

If your bot manages or organizes channels, see Obfuscated Channels for how to detect channels your bot can't see and surface that to users.

What Can You Do to Test This Change?

Dev portal UI showing the opt-in toggle for private channel obfuscation

  • Gateway: If your bot interacts with channels, you can test the obfuscation behavior today by sending 1 << 15 in the capabilities field of your Identify payload. You can also opt in through the developer portal by enabling the Private Channel Obfuscation toggle in the Overview > Bot tab. This capability and the toggle are temporary and for testing.
  • HTTP: There is no early opt-in. GET /guilds/{guild.id}/channels will start omitting channels that your bot lacks VIEW_CHANNEL for on November 16, 2026.
↑ ↓ navigate↵ open> commands/ focus filter

Appearance

Theme

Accent colour

Font

Density

Corners

Motion

Sidebar

Keyboard shortcuts

CtrlK
Search everything
>
In search: run a command (theme, density, copy URL…)
/
Filter the current list
W
Watch the current page
JK
Older, newer build (Shift: with notes)
[
Collapse or expand the sidebar
,
Appearance
?
Keyboard shortcuts
Esc
Close

Press G and then a letter to jump straight to a page

Overview

D
Dashboard
A
Activity
J
This week
Z
Daily digests
N
News
W
Watchlist
U
Status

Client

B
Builds
X
Compare builds
S
Strings
L
Client flags
M
Mobile builds
I
Release stats

Experiments & rollouts

E
Experiments
R
Rollouts

Developer API

C
API changelog
H
OpenAPI changes
Y
Endpoints
Q
Upcoming
P
API routes

Platform

V
Versions
K
Stickers
G
Games

Data & tools

T
Tools
F
Reference
O
Feeds & data

Keyboard shortcuts

CtrlK
Search everything
>
In search: run a command (theme, density, copy URL…)
/
Filter the current list
W
Watch the current page
JK
Older, newer build (Shift: with notes)
[
Collapse or expand the sidebar
,
Appearance
?
Keyboard shortcuts
Esc
Close

Press G and then a letter to jump straight to a page

Overview

D
Dashboard
A
Activity
J
This week
Z
Daily digests
N
News
W
Watchlist
U
Status

Client

B
Builds
X
Compare builds
S
Strings
L
Client flags
M
Mobile builds
I
Release stats

Experiments & rollouts

E
Experiments
R
Rollouts

Developer API

C
API changelog
H
OpenAPI changes
Y
Endpoints
Q
Upcoming
P
API routes

Platform

V
Versions
K
Stickers
G
Games

Data & tools

T
Tools
F
Reference
O
Feeds & data