Discord ‘Use Application Commands’ Permission: How It Works
🔍 WiseChecker

Discord ‘Use Application Commands’ Permission: How It Works

The ‘Use Application Commands’ permission in Discord controls whether a member can run slash commands and other application commands in a server. Many server administrators are unsure what this permission actually covers or why their members cannot use certain bot commands. This permission directly affects every command that starts with a forward slash or is triggered via right-click on a message or user. This article explains the exact scope of the ‘Use Application Commands’ permission, how to configure it, and what happens when it is disabled.

Key Takeaways: Discord ‘Use Application Commands’ Permission

  • Server Settings > Roles > Manage Permissions: Locate the ‘Use Application Commands’ toggle under the ‘General Server Permissions’ section.
  • Slash commands and context menu commands: This permission controls both types — /commands and right-click actions on messages or users.
  • Default state for @everyone: The permission is enabled by default. Disabling it blocks all application commands for that role.

What the ‘Use Application Commands’ Permission Covers

The ‘Use Application Commands’ permission is a server-level permission that controls access to all application commands. Application commands include slash commands, user commands, and message commands. These are commands that applications register with Discord and that users invoke via a forward slash or a right-click menu. This permission does not affect traditional prefix-based commands, such as those starting with ! or $. Those are controlled by the ‘Read Messages’ and ‘Send Messages’ permissions instead.

When the permission is disabled for a role, members with that role cannot see or use any application commands from any bot or built-in Discord integration. The command input field in the chat box still appears, but typing a slash does not show any command suggestions. Right-clicking a message or user also does not show any application command options. The permission applies globally across the server, but it can be overridden for specific channels using channel-specific permission overrides.

Prerequisites for Using Application Commands

Before a member can run an application command, the server must have at least one bot or integration that registers such commands. Additionally, the member must have the ‘Use Application Commands’ permission enabled for their role in the channel where they are trying to use the command. The bot itself must also have the necessary permissions to execute the command, such as ‘Send Messages’ or ‘Manage Messages’.

How to Configure the ‘Use Application Commands’ Permission

You can configure this permission at the server level for each role or at the channel level for specific roles or members. Follow these steps to change the permission for a role.

  1. Open Server Settings
    Right-click your server name in the server list and select ‘Server Settings’ from the context menu.
  2. Navigate to Roles
    In the left sidebar, click ‘Roles’. This shows a list of all roles in your server.
  3. Select the Role to Edit
    Click the role you want to modify. For example, click ‘@everyone’ to change the default permission for all members.
  4. Toggle ‘Use Application Commands’
    Scroll down to the ‘General Server Permissions’ section. Find the ‘Use Application Commands’ entry. Click the toggle switch to enable or disable it. A green toggle means the permission is enabled.
  5. Save Changes
    Click the ‘Save Changes’ button at the bottom of the role page. The new permission takes effect immediately.

Setting Channel-Specific Overrides

To allow or block application commands in a specific channel, use channel permission overrides.

  1. Open Channel Settings
    Right-click the channel name in the channel list and select ‘Edit Channel’.
  2. Go to Permissions
    In the left sidebar, click ‘Permissions’.
  3. Add a Role or Member Override
    Click the ‘+’ icon next to ‘Roles/Members’ to add a new override. Select the role or member you want to configure.
  4. Toggle ‘Use Application Commands’
    Find the ‘Use Application Commands’ permission in the list. Check the green checkmark to allow it or the red X to deny it. Gray means the permission inherits from the server-level role setting.
  5. Save Changes
    Click ‘Save Changes’ at the bottom of the page.

Common Misunderstandings and Things to Avoid

Disabling the Permission for @everyone Blocks All Commands

If you disable ‘Use Application Commands’ for the @everyone role, every member in the server loses access to all slash commands and context menu commands. To allow only certain roles to use commands, disable the permission for @everyone and enable it only for specific roles. Do not forget to also check channel-specific overrides that might deny the permission for those roles.

Prefix Commands Are Not Affected

Bots that still use traditional prefix commands, such as !help, are not blocked by this permission. Those commands rely on the ‘Read Messages’ and ‘Send Messages’ permissions. If you want to block all bot interactions, you must also disable those permissions or use a bot-specific permission system.

Members Cannot Use Slash Commands Even If They Have ‘Administrator’

The ‘Administrator’ permission overrides most channel-specific permissions, but it does not override the ‘Use Application Commands’ permission when it is explicitly denied at the channel level. If you deny the permission for a role in a channel override, members with that role cannot use application commands in that channel even if they have the ‘Administrator’ permission. This is a deliberate design to allow channel-specific moderation of bot commands.

Discord ‘Use Application Commands’ Permission vs ‘Use External Emoji’ Permission

Item Use Application Commands Use External Emoji
Purpose Controls access to slash commands and context menu commands from bots and integrations Controls the ability to use emoji from other servers in messages
Scope Server-level and channel-level permission Server-level permission only
Default state Enabled for @everyone Disabled for @everyone
Affects bots Yes — directly blocks all application commands from any bot No — only affects emoji usage by members
Override by Administrator Not overridden by Administrator in channel-level denies Overridden by Administrator

The ‘Use Application Commands’ permission is a targeted control for modern bot interactions. The ‘Use External Emoji’ permission is unrelated and controls emoji usage. Both are found in the same permission list but serve entirely different functions. If you are troubleshooting missing slash commands, focus on the ‘Use Application Commands’ permission first.

You now understand how the ‘Use Application Commands’ permission works and how to configure it for roles and channels. To test your configuration, ask a member with a specific role to run a slash command in a channel where you set an override. For advanced server management, consider using Discord’s audit log to track permission changes and see who modified the ‘Use Application Commands’ setting.