Skip to main content
Hone Environments never show you a stack trace. Every failure is a named error with a stable code and a one-line, actionable message. The CLI catches these and renders just the message, exiting 1. Anything unexpected exits 2. In code, errors are thrown by providers and detected with isAsymmetricError(e); each carries a code you can switch on.

The errors

Image & registry errors

Clone backends ship as published images that the CLI pulls (and verifies) at spin time. These cover everything that can go wrong fetching one.

Exit codes

Design intent

The error map is part of the contract, not an afterthought. Each failure mode in the system has exactly one named error with a stable code and a userMessage, so the same failure reads the same way everywhere and tools can switch on the code. If you’re building a provider or a template, throw these — never a bare Error.