# Unauthorized (/docs/errors/chain/Unauthorized)

In System, the code passed to `apply_authorized_upgrade` does not hash to the value in `AuthorizedUpgrade`. In LimitOrders, the caller is not the order's signer, who alone may cancel it. Check the code hash against the authorization, or the sender against the order's `signer`.

Declared by the `System`, `LimitOrders` pallets; it classifies to the semantic code [`not_authorized`](/docs/errors/not-authorized).

## Remediation [#remediation]

Sign with the key or origin that owns the target object, then retry

The same explanation is available in the terminal: `btcli explain Unauthorized`.
