Discord API · error code

Discord error 50024: Cannot execute action on this channel type

Permanent - do not retryHTTP 400Validation and request shape

Last verified against Discord Developer Docs - Opcodes and status codes

What Discord returns
Cannot execute action on this channel type

What error 50024 means

The endpoint you called is valid in general but not for the type of channel you passed. Discord has more than a dozen channel types and many operations are type-specific: you cannot start a public thread from a message in a voice channel, set available_tags on a text channel, follow a non-announcement channel, create a stage instance in a voice channel, or set a bitrate on a text channel.

This differs from 50008, which is specifically about sending messages where messages are not allowed. 50024 covers every other type mismatch. It is the code you get when a user picks a channel from a dropdown that was not restricted by type, or when a feature built for text channels is pointed at a forum.

What it looks like

{
  "message": "Cannot execute action on this channel type",
  "code": 50024
}

Why it happens

  • Thread creation on a channel type that does not support threads (voice, category, stage)
  • Modify Channel with fields that only apply to another type (bitrate on text, topic on voice, tags on non-forum)
  • Follow Announcement Channel called on a regular text channel
  • Creating a webhook in a type that does not support them
  • Stale type in your cache after an admin converted a channel (for example text to announcement)

How to fix Discord error 50024

  1. 1Fetch the channel (GET /channels/{id}) and branch on type before choosing the endpoint or payload
  2. 2Restrict slash-command CHANNEL options with channel_types so users can only choose compatible channels
  3. 3Send only the fields valid for that type in PATCH requests; strip the rest
  4. 4Refresh cached channel data on CHANNEL_UPDATE

How to stop it recurring

Encode channel-type capabilities in one table in your code (which types accept threads, webhooks, slowmode, tags, and so on) and consult it before calling the API. Validate user-selected channels against that table at option-parse time so the error never reaches Discord.

Type mismatches are configuration bugs, so catch them at configuration time: validate the channel a user selects the moment they select it, against both type and the bot's permissions there. Channel-type fields and their valid ranges are on the Discord limits page; the message-sending special case of this error is 50008.

Official reference: Discord Developer Docs - Opcodes and status codes. See all Discord error codes or the Discord limits and quotas.

Related codes

Error 50024 - quick answers

What does Discord error 50024 mean?

The endpoint you called is valid in general but not for the type of channel you passed. Discord has more than a dozen channel types and many operations are type-specific: you cannot start a public thread from a message in a voice channel, set available_tags on a text channel, follow a non-announcement channel, create a stage instance in a voice channel, or set a bitrate on a text channel.

How do I fix Discord error 50024?

1. Fetch the channel (GET /channels/{id}) and branch on type before choosing the endpoint or payload 2. Restrict slash-command CHANNEL options with channel_types so users can only choose compatible channels 3. Send only the fields valid for that type in PATCH requests; strip the rest 4. Refresh cached channel data on CHANNEL_UPDATE

Should I retry after error 50024?

No. Retrying the same request produces the same error; the condition has to be fixed first. Treat it as a permanent failure for that message and surface it, rather than looping.

Stop debugging Discord by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.