diff --git a/src/ui/state.ts b/src/ui/state.ts index 491feec..f8a63bb 100644 --- a/src/ui/state.ts +++ b/src/ui/state.ts @@ -74,7 +74,11 @@ const StepErrorCodes: Partial> = { /** Coerce an unknown caught value into an Error */ export function toError(value: unknown): Error { - return value instanceof Error ? value : new Error(String(value)); + if (value instanceof Error) return value; + if (value && typeof value === 'object' && 'message' in value) { + return new Error(String((value as { message: unknown }).message)); + } + return new Error(String(value)); } /**