---
outline: deep
---

# DF8402: Command Not Registered

## Message

> Command "`{id}`" is not registered

## Cause

`ctx.commands.execute(id, …)` (or the `update()` handle returned by `register()`) was called with an `id` that has no registration. The command was either never registered or has already been `unregister()`'d.

## Fix

- Register the command first via `ctx.commands.register({ id, title, handler })`.
- Verify the id — typos and stale references are the usual cause.
- If invoking client-side, register the command on the client via `ctx.commands.register` in the dock client script.

## Source

- [`packages/hub/src/node/host-commands.ts`](https://github.com/devframes/devframe/blob/main/packages/hub/src/node/host-commands.ts) — `DevframeCommandsHost.execute()` and the `update` handle throw when the id is missing.
