Discord API · error code

Discord error 10063: Unknown application command

Permanent - do not retryHTTP 404Interactions and slash commands

Last verified against Discord Developer Docs - Opcodes and status codes

What Discord returns
Unknown application command

What 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

  1. 1List current commands (GET /applications/{application.id}/commands or the guild variant) and work from those IDs
  2. 2Prefer bulk overwrite (PUT) with the full desired command list instead of editing individual commands by stored ID
  3. 3Confirm the application ID matches the token you are using (GET /oauth2/applications/@me)
  4. 4If you manage guild commands, pair each stored ID with its guild ID
  5. 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.