v4.7.3

triggerdotdev/trigger.devv4.7.3Oct 6, 2026by github-actions[bot]

Upgrading?

AI Summary

This release adds CLI organization management features, introduces server-side email blocking, and improves performance for run traces and logs. It also introduces a breaking change regarding session creation permissions.

Key Highlights

  • Breaking change: Session creation now requires `write:sessions` and task-trigger permissions.
  • New CLI command `trigger.dev orgs list` to manage organizations.
  • Self-hosted instances can block sign-in by specific email domains via `BLOCKED_EMAIL_DOMAINS`.
  • Run traces now appear almost immediately and load progressively.
  • Logs page loads and searches faster with better error handling.

Breaking Changes

  • Creating or resuming a session with `POST /api/v1/sessions` now requires both session-write and task-trigger permissions.

New Features

  • CLI command to list organizations with slugs and IDs.
  • Configuration setting to block specific email domains for sign-in.
  • Progressive loading for large run traces.
  • Improved performance for the Logs page.
  • Chat sessions can now be tagged for filtering.

Full Release Notes

# trigger.dev v4.7.3

## 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.7.3`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev/1344009624?tag=v4.7.3)

## Release notes

Read the full release notes: https://trigger.dev/changelog/v4-7-3

## What's changed

## Breaking changes
- Creating or resuming a session with `POST /api/v1/sessions` now requires both session-write and task-trigger permissions. Scoped keys and public tokens must grant `write:sessions` (or access to the target session) and permission to trigger its task.

## Improvements
- Update the minimatch dependency to ^10.2.3. ([`5236799b7`](https://github.com/triggerdotdev/trigger.dev/commit/5236799b78cdad2bcaa4a732eb9862e9e02dadf4))
- Add `trigger.dev orgs list` to show the organizations you belong to, with their slugs and IDs. Use the slug with `trigger.dev projects create --org`, including for organizations that don't have any projects yet. `trigger.dev projects create` now activates the Free plan for organizations that don't have a plan yet, matching `trigger.dev init`. ([`68ee6be4b`](https://github.com/triggerdotdev/trigger.dev/commit/68ee6be4b9d2b305e42500c74ce02541dc86a7c9))
- Reports filed with the `submit_feedback` MCP tool now reach the Trigger.dev team. They were being sent, but not somewhere anyone was reading. ([`4a94982a1`](https://github.com/triggerdotdev/trigger.dev/commit/4a94982a1d7022fd498eb3a0d6d2d82dd9cd7e16))
- Stopping a `chat.agent` turn whose `run()` returns a `streamText` result no longer sends an `error` chunk with "An unexpected error occurred". The turn ends quietly again and the run stays alive for the next message. ([`64c3ba13c`](https://github.com/triggerdotdev/trigger.dev/commit/64c3ba13cbe02cc89667c87df2515c5ec592d424))
- `chat.createStartSessionAction`, `chat.headStart` and `chat.startHeadStart` now accept `tags` for the Session itself, so chat sessions can be filtered by tag on the Sessions page. `triggerConfig.tags` still tags the session's runs. ([`9dbc5f984`](https://github.com/triggerdotdev/trigger.dev/commit/9dbc5f984f064202eda137ad9a00a14d9d6baad4))
  
  ```ts
  await startChatSession({
  chatId,
  clientData,
  tags: [`org:${org.slug}`, `user:${user.id}`],
  });
  ```

## Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

- Self-hosted instances can block sign-in and sign-up from specific email domains with the new `BLOCKED_EMAIL_DOMAINS` setting.
- Run traces now appear almost immediately and load progressively as you watch, and much larger traces are viewable than before.
- The Logs page loads and searches faster, and busy environments no longer fail to load it. Searches that are still too expensive now show a message suggesting a narrower range instead of a generic error.
- Fix a rare case where a run could stay stuck executing after the child run or wait it was waiting on had completed.
- Deployments with an unsupported `runtime` now fail with a 400 that names the supported runtimes, instead of a generic 500
- Preserve the cancellation reason when a run that was executing is finalized, instead of replacing it with the default text.

## All packages: v4.7.3

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

## Contributors

triggerdotdev-the-inspector[bot], Eric Allam, Chris Arderne, Wes Mason, @nicktrn, @Mariefay, github-actions[bot], Oskar Otwinowski, James Ritchie, @isshaddad

**Full changelog**: https://github.com/triggerdotdev/trigger.dev/compare/v4.7.2...v4.7.3

Related Repositories