Skip to content

Errors

The normative error registry is in spec/v0.1/safety.md, and this page summarizes the registry.

A blocked or failed command returns a JSON-RPC error. error.code is the number, error.message is the reason, and error.data.name is the registry name that Clients branch on. Numbers are stable across versions and never reused.

CodeName
-32700PARSE_ERROR
-32600INVALID_REQUEST
-32601METHOD_NOT_FOUND
-32602INVALID_PARAMS
-32603INTERNAL_ERROR
-32001NOT_INITIALIZED
-32002UNAUTHORIZED
-32003SCOPE_DENIED
-32004UNKNOWN_TARGET
-32005DEVICE_UNAVAILABLE
-32010LIMIT_EXCEEDED
-32011RATE_LIMITED
-32012INTERLOCK_BLOCKED
-32013CONFIRMATION_REQUIRED
-32014STOPPED
-32015UNVERIFIED_LIMITS
-32016INVALID_VALUE
-32017WATCHDOG_TRIPPED
-32018BUSY
-32019QUEUE_FULL
-32020DRIVER_ERROR
-32021MISCONFIGURED
-32022REQUEST_CLOSED
-32023UNIT_INVALID

The kernel codes behind each name, the check order and the reason templates are in the safety section of v0.1. The error object's fields are in messages.