A claim that failed with anything but sql.ErrNoRows parked the worker on the wake channel, so a job queued across a restart (which has no wake token) stayed queued until another enqueue or restart. The worker now retries such a claim with backoff from 50ms doubling to 5s, reset on any successful or empty claim, and stops promptly on shutdown. The claim error is logged by category only. The claim query is a Runner field so a test can inject one failing claim; TestClaimErrorIsRetried drops the wake token and asserts the queued job still runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>