# X_CATCH_RENDER_UNSAFE

## Means

a `catch` binding is rendered into a refusal by a form that can itself throw

## Typical cause

`catch (error) { … error instanceof Error ? error.message : String(error) }` reaching a `cause:`/`fix:`/`detail:`. `instanceof` throws on a `Proxy` whose `getPrototypeOf` throws, `String()` throws on a null-prototype object or a throwing `toString`, and `${x}` throws on a Symbol — so the refusal becomes an uncoded crash on exactly the hostile input it was written to describe. `error-render.ts` could not see this: it reads *parameters typed `unknown`*, and a catch binding is neither. Measured — it was green before and after a seven-site fix. Fifteen sites across five packages were found by hand in one sweep and none by a gate

## Fix

`replace the render at <file>:<line> with renderThrowable(error) from @ultimat3/core`

[CLI and verify](/error-codes#cli-and-verify)
