Skip to content

Error codes

In JSON mode, failures carry a stable error.code (see JSON envelope):

CodeMeaning
not_configuredCLI has no saved profile; run thinr to set up.
not_foundDevice, property, resource, or profile not found.
unauthorizedToken expired or insufficient permissions.
server_errorNon-success HTTP response from the server.
network_errorNo response from the server.
input_errorBad or missing CLI argument.
invalid_argsInvalid argument combination (e.g. mutually exclusive flags).
timeoutCommand timed out on the device (exec).
cancelledUser interrupted with Ctrl+C.
needs_confirmOperation refused without confirmation in a non-interactive shell; pass -y, --yes.
already_existsProfile or resource already exists.
errorFallback for anything uncategorized.

Process exit codes

Exit codeMeaning
0Success.
1Failure of any kind (the JSON envelope or stderr carries the detail).
130Interrupted with Ctrl+C.
(remote)device exec exits with the remote command's exit code.

Fan-out commands (thinr product …) exit 0 even when individual devices fail. Detect partial failures via summary.failed / results[].ok in the JSON output.

Released under the MIT License.