Faster failure on uncaught exceptions and a fix for dev workers spinning at 100% CPU.
1 improvement and 1 bug fix.
Improvements
- Fail attempts on uncaught exceptions instead of hanging to
MAX_DURATION_EXCEEDED. A NodeEventEmitter(e.g.node-redis) emitting"error"with no.on("error", ...)listener escalates touncaughtException, which the worker previously reported but did not act on: runs drifted to maxDuration with empty attempts. They now fail fast with the original error and statusFAILED, and respect the task's normal retry policy. You should still attach.on("error", ...)listeners to long-lived clients to handle errors gracefully. (#3529)
Bug Fixes
- Fix dev workers spinning at 100% CPU after the parent CLI disconnects. Orphaned
trigger-dev-run-worker(and indexer) processes were caught in anuncaughtExceptionfeedback loop: a periodic IPC send viaprocess.sendwould throwERR_IPC_CHANNEL_CLOSEDonce the parent closed the channel, which re-entered the same handler viasetImmediate, amplified by source-map-support'sprepareStackTrace. Fixed by silently dropping packets inZodIpcConnectionwhen the channel is disconnected, adding aprocess.on("disconnect", ...)handler in dev workers so they exit cleanly, and wrapping alluncaughtException-pathprocess.sendcalls in asafeSendguard. (#3491)
How to Upgrade
Update the trigger.dev/* packages to v4.4.6 using your package manager:
npx trigger.dev@latest update # npm
pnpm dlx trigger.dev@latest update # pnpm
yarn dlx trigger.dev@latest update # yarn
bunx trigger.dev@latest update # bun
Self-hosted users: update your Docker image to ghcr.io/triggerdotdev/trigger.dev:v4.4.6.
Fetched June 3, 2026

