Trigger.dev v4.5.7

Node.js 24 and 26 runtimes graduated from experimental, chat agent turn loop improvements, and a refreshed dashboard side menu.

4 improvements, 1 bug fix, and 5 server changes.

Highlights

Node 24 and 26

node-24 and node-26 are now stable runtime options in trigger.config.ts. (#4337)


import { defineConfig } from "@trigger.dev/sdk";
export default defineConfig({
runtime: "node-24",
project: "<your-project-ref>",
});

Chat agent turn loop improvements

Custom chat agent loops get two ergonomic wins for owning the turn loop. (#4304)

chat.writeTurnComplete() now returns the turn boundary's resume cursors (lastEventId for the output stream and sessionInEventId for the input stream), so you can persist them straight from the task instead of round-tripping them back from the client:


const { lastEventId, sessionInEventId } = await chat.writeTurnComplete();
await db.chats.update(chatId, { lastEventId, sessionInEventId });

chat.pipeAndCapture() no longer throws when a stream is stopped or fails. It now returns a PipeAndCaptureResult with message (any partial output captured before the stop), a typed status ("complete" | "aborted" | "error"), and the error on failure:


const { message, status, error } = await chat.pipeAndCapture(result, { signal });
if (message) conversation.addResponse(message);
if (status === "error") logger.error("turn failed", { error });

Note: pipeAndCapture previously resolved to UIMessage | undefined. Update call sites to read .message from the returned result.

Improvements

  • Task run environment variable values are no longer logged at debug level. (#4336)
  • Suppress the build-time warning for the optional @ai-sdk/otel package when it is not installed in Vite-based projects. (#4188)

Bug fixes

  • Fix intermittent trigger dev local run crashes where a run would fail at boot with Cannot find module .../dev-run-worker.mjs after a rebuild had cleaned up the build directory. Dev runs now retry cleanly when their build directory is missing, the watchdog no longer removes the build tree of a still-running session, and a run assigned to a superseded worker version now fails fast with a clear message instead of silently hanging until timeout. (#4276)

Server changes

These changes are included in the v4.5.7 Docker image and are already live on Trigger.dev Cloud:

  • Refreshed the side menu: separate organization and account menus, a new project switcher, and the menu is now resizable by dragging its edge. The account Profile page has also been redesigned. (#4066)
  • Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments. (#4323)
  • Limit account settings email input to 254 characters. (#4330)
  • Prevent duplicate Staging and Preview environments when account setup requests overlap. (#4261)
  • Fix the docs link on the empty Prompts page, which pointed to a page that no longer exists. (#4247)

How to upgrade

Update the trigger.dev/* packages to v4.5.7 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.5.7.

Ready to start building?

Build and deploy your first task in 3 minutes.

Get started now