# X_STEP_OUTPUT_UNSERIALIZABLE

## Means

a step returned a value JSON cannot hold

## Typical cause

step.run(name, fn) answered a bigint, a cycle, NaN, an infinity, an invalid Date, or text jsonb refuses (a NUL, a lone surrogate), so no attempt could replay it

## Fix

`return plain JSON from the step: String(id) for a bigint, the ids rather than the object graph, null rather than NaN or an invalid Date, text with no NUL and no lone surrogate`

[Jobs](/error-codes#jobs)
