Discord error 10063: Unknown application command
Last verified against Discord Developer Docs - Opcodes and status codes
Unknown application commandWhat error 10063 means
You referenced a slash, user, or message command by ID and Discord cannot find it under your application. This comes from the command management endpoints (get, edit, delete, or set permissions for a command), not from users running commands.
Command IDs are scoped. A global command and a guild command are different objects with different IDs, even if they share a name. Deleting a command and re-registering it produces a new ID. Deploy scripts that store IDs from a previous run and then try to PATCH or DELETE them hit 10063 after any re-registration. Likewise, calling the guild-command endpoints with a global command's ID (or the other way round) cannot resolve.
It also appears if the application ID in the path is wrong, for example a bot with two applications (dev and prod) pointing at the wrong one.
What it looks like
{
"message": "Unknown application command",
"code": 10063
}Why it happens
- Command ID from a previous deployment; bulk overwrite (PUT) replaced it with a new ID
- Global command ID used on the guild endpoint or vice versa
- Wrong application ID in the route (dev vs production application)
- Command deleted manually in another process
- Command created in a different guild than the one in the path
How to fix Discord error 10063
- 1List current commands (GET /applications/{application.id}/commands or the guild variant) and work from those IDs
- 2Prefer bulk overwrite (PUT) with the full desired command list instead of editing individual commands by stored ID
- 3Confirm the application ID matches the token you are using (GET /oauth2/applications/@me)
- 4If you manage guild commands, pair each stored ID with its guild ID
- 5Re-run your deploy script from scratch and discard cached IDs
How to stop it recurring
Make command registration declarative: keep the full list in code and PUT it on every deploy. Never persist command IDs across deploys unless you also persist the application and guild they belong to, and refresh them when the registration step runs.
Command registration quotas, name rules and the daily create budget are collected on the Discord limits page; if the failing call is your deploy script, check it against 30034 too, since the two errors bracket most registration bugs.
Official reference: Discord Developer Docs - Opcodes and status codes. See all Discord error codes or the Discord limits and quotas.
Related codes
Error 10063 - quick answers
What does Discord error 10063 mean?
You referenced a slash, user, or message command by ID and Discord cannot find it under your application. This comes from the command management endpoints (get, edit, delete, or set permissions for a command), not from users running commands. Command IDs are scoped. A global command and a guild command are different objects with different IDs, even if they share a name.
How do I fix Discord error 10063?
1. List current commands (GET /applications/{application.id}/commands or the guild variant) and work from those IDs 2. Prefer bulk overwrite (PUT) with the full desired command list instead of editing individual commands by stored ID 3. Confirm the application ID matches the token you are using (GET /oauth2/applications/@me) 4. If you manage guild commands, pair each stored ID with its guild ID 5. Re-run your deploy script from scratch and discard cached IDs
Should I retry after error 10063?
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.