Why your command has not appeared
Your logs say a command deployed and Discord doesn't show it. Covers checking the scope first, the permissions that hide it from everyone, and the limits you may be near.
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 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.
| kind | global | per server |
|---|---|---|
| slash commands | 100 | 100 |
| user context menus | 15 | 15 |
| message context menus | 15 | 15 |
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.