# X_JOB_ON_SETTLED_FAILED

## Means

the onSettled hook failed after the run was settled

## Typical cause

a job declared onSettled and the hook threw on every one of its own attempts, after the row was already settled — completed, dead-lettered, dropped or refused. Logged as jobs.on-settled.failed and reported; never thrown to a caller and never a reason to settle the run again, which stays as the queue recorded it

## Fix

`x jobs show <id> --json`

[Jobs](/error-codes#jobs)
