# Trigger.dev v4.5.7 — trigger.dev v4.5.7 - Product: Trigger.dev (https://whatsnew.fyi/product/trigger-dev) - Vendor: Trigger.dev - Date: 2026-07-23 - Version: v4.5.7 - Original notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.7 - Permalink: https://whatsnew.fyi/product/trigger-dev/releases/v4.5.7 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add node-24 and node-26 as supported runtime options in trigger.config.ts - **deprecated** — experimental-node-24 and experimental-node-26 runtime names are now deprecated aliases that emit a deprecation warning, use node-24 and node-26 instead - **changed** — Avoid logging task run environment variable values at debug level - **changed** — chat.writeTurnComplete() now returns the turn boundary's resume cursors (lastEventId and sessionInEventId) for persistence from the task - **changed** — chat.pipeAndCapture() no longer throws when a stream is stopped or fails, instead returns a PipeAndCaptureResult with message, status, and error fields - **changed** — Suppress a build-time warning in Vite-based projects when the optional @ai-sdk/otel package is not installed - **fixed** — Fix intermittent trigger dev run crashes with missing dev-run-worker.mjs by retrying cleanly when build directory is missing and providing clear messages for superseded worker versions - **changed** — Refresh the side menu with separate organization and account menus, new project switcher, and resizable edge - **changed** — Redesign the account Profile page - **changed** — Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments - **changed** — Limit account settings email input to 254 characters - **fixed** — Prevent duplicate Staging and Preview environments when account setup requests overlap - **fixed** — Fix the docs link on the empty Prompts page that pointed to a page that no longer exists #### trigger.dev v4.5.7 ##### Upgrade ```sh 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 Docker image: [`ghcr.io/triggerdotdev/trigger.dev:v4.5.7`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev/1058728584?tag=v4.5.7) ##### Release notes Read the full release notes: https://trigger.dev/changelog/v4-5-7 ##### What's changed ##### Improvements - Add `node-24` and `node-26` as supported `runtime` options in `trigger.config.ts`. The `experimental-node-24` and `experimental-node-26` names are now deprecated aliases and emit a deprecation warning; switch to `node-24` / `node-26` instead. ([#4337](https://github.com/triggerdotdev/trigger.dev/pull/4337)) ```ts import { defineConfig } from "@trigger.dev/sdk"; export default defineConfig({ runtime: "node-24", project: "", }); ``` - Avoid logging task run environment variable values at debug level ([#4336](https://github.com/triggerdotdev/trigger.dev/pull/4336)) - Custom chat agent loops get two ergonomic wins for owning the turn loop. ([#4304](https://github.com/triggerdotdev/trigger.dev/pull/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. ```ts 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` whose `message` holds any partial output captured before the stop or failure, alongside a typed `status` (`"complete" | "aborted" | "error"`) and, on failure, the `error`. Read the message off the result: ```ts 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. - Suppress a build-time warning that could appear in Vite-based projects when the optional `@ai-sdk/otel` package is not installed. ([#4188](https://github.com/triggerdotdev/trigger.dev/pull/4188)) ##### Bug fixes - Fixes intermittent `trigger dev` run crashes where a run could fail at boot with a cryptic `Cannot find module .../dev-run-worker.mjs` after a rebuild had cleaned up the build directory the run was launched against. Dev runs now retry cleanly instead of hard-crashing when their build directory is missing, the dev watchdog no longer removes the build tree of a still-running session, and a run assigned to a worker version that was superseded by a rebuild now fails fast with a clear message instead of silently hanging until it times out. ([#4276](https://github.com/triggerdotdev/trigger.dev/pull/4276)) ##### Server changes These changes affect the self-hosted Docker image and 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](https://github.com/triggerdotdev/trigger.dev/pull/4066)) - Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments. ([#4323](https://github.com/triggerdotdev/trigger.dev/pull/4323)) - Limit account settings email input to 254 characters. ([#4330](https://github.com/triggerdotdev/trigger.dev/pull/4330)) - Prevent duplicate Staging and Preview environments when account setup requests overlap ([#4261](https://github.co _[Truncated at 4000 characters — full notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.7]_