# Why your command has not appeared

Find out why Discord doesn't show a command your logs say deployed, starting with its scope and its permissions.

Your bot started and the logs list the command. Discord still doesn't show it.

## Check the scope first

A guild command appears the moment your bot deploys it. A global command takes longer, and Discord doesn't publish how long.

Discord checks the version when someone runs a command. A client still holding the old copy gets an error, then Discord sends that client the new copy. The next run works.

Register to a guild while you're still changing a command. Move it to global once you're ready to ship it.

## Nobody can see it

Discord hides a command from the picker when the person lacks permission to use it. A command you cannot run looks exactly like a command nobody deployed.

Two places set that permission. `setDefaultMemberPermissions` in your command file sets who can use it by default. A server's admins can then change it for their server under **Server Settings**, **Integrations**, where they can limit your command to some roles or channels or turn it off for everyone. Your bot's token can't change those settings, so check that page when a command shows up in one server and not in another.

Your commands also stay inside servers by default, since [`BuilderComponent`](https://seedcord.org/docs/packages/core/latest/classes/builder-component) sets `InteractionContextType.Guild`. A command missing from a DM needs `BotDM` in your own `setContexts` call, passed alongside `Guild`, since that call replaces the whole list.

## You are near a limit

Discord caps how many commands an application registers, and every server gets that same allowance again for its guild commands.

{/* prettier-ignore-start */}

| kind                  | global | per server |
| --------------------- | ------ | ---------- |
| slash commands        | 100    | 100        |
| user context menus    | 15     | 15         |
| message context menus | 15     | 15         |

{/* prettier-ignore-end */}

Creating a command counts against a second cap, 200 per day per guild. Sending a name Discord already has updates that command, so restarting your bot all day doesn't count against it. Reaching the cap takes two hundred names Discord has never seen.
