Discover / Automation
Trigger.dev
by triggerdotdevTypeScript
Open-source background jobs and workflow automation for developers.
Maturity: stable because 4y old, v4.5.9 released 4d ago. Derived from release and commit history, not a rating.
- Stars
- 16k
- Forks
- 1.4k
- Downloads / mo
- 2.8M
- Last commit
- 2026-08-03
- License
- Apache-2.0
- Open issues
- 417
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceServerless platforms time out long running background jobs and leave queues, retries and observability to the developer.
Use it when
When TypeScript background tasks must run without timeouts, survive failures and stay observable across environments.
Not the right pick when
Wrong pick outside JavaScript and TypeScript, since the SDK and React hooks are the documented way to define tasks.
Capabilities
- long running tasks executed with no timeouts
- durable tasks with retries, queues and idempotency
- durable cron schedules of up to a year
- Realtime run subscriptions with LLM response streaming
- human in the loop pauses using waits and waitpoints
- full tracing, logs and error alerts on every run
Cost: Open source with a paid cloud option
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Introducing Trigger.dev – build and deploy fully‑managed AI agents and workflows
Trigger.dev Realtime Demo & Walkthrough
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v4.5.9
Published 2026-07-30
trigger.dev v4.5.9
Upgrade
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.9
Release notes
Read the full release notes: https://trigger.dev/changelog/v4-5-9
What's changed
Breaking changes
- Setting a queue concurrency limit higher than your environment limit is now rejected with an error instead of being silently reduced to the environment limit, so a queue never looks like it has more capacity than it can get. Limits already saved are unchanged. (#4131)
Improvements
trigger mcpnow always starts the MCP server, and the interactive install wizard has moved behindtrigger mcp --install. Previously the wizard opened whenever stdout was a terminal, so any MCP host that spawns the command over a pseudo-terminal waited on a server that never started and eventually timed out. (#4131)- Ask whether an environment is healthy and get an answer instead of a wall of charts.
trigger report healthreturns a verdict on three questions: is work flowing, are the runs that start succeeding, and is the telemetry fresh enough to trust either answer. When something looks wrong it names the most likely cause and a next action. (#4131)
npx trigger.dev@latest report health --env prod --period 24h
The verdict is computed server side, so the CLI, the new get_report MCP tool, and GET /api/v1/reports/health all return the same text with the same sparklines. In MCP hosts that support prompts, report is also available as a slash command.
- Prevent build debug logs from including environment variable values. (#4420)
- Send the running CLI version when checking for platform notifications so notices can be limited to compatible CLI releases. (#4407)
- Correct the
expirationTimedocs onauth.createPublicTokenand the trigger-token helpers: a number is a Unix timestamp in seconds, not milliseconds. (#4388)
Server changes
These changes affect the self-hosted Docker image and Trigger.dev Cloud:
- A queue's concurrency limit can now be set as a percentage of your environment limit, from the dashboard or the API. Percentage limits track the environment limit, so raising or lowering it re-divides capacity without you editing every queue. (#4131)
- See how every queue in an environment is doing: backlog, throughput, concurrency against its limit, when it was throttled, and how long runs waited before starting. Each queue also gets its own page, which breaks the same numbers down per concurrency key so you can tell whether one key is starving the rest. (#4131)
- The agent detail page now uses the same layout as the other metrics pages: filters stay pinned at the top, the activity charts sit in a row beneath them, and the tabs and table scroll with the page, with the agent config in a resizable panel on the right. (#4131)
- Self-hosted instances can now serve deployed runs' API traffic from a different origin than the public one, per organization, via the
INTERNAL_API_ORIGINenvironment variable and a feature flag. (#4366) - A queue's concurrency keys are now paged and searchable, so a queue with thousands of keys shows all of them instead o
Tags
README
<div align="center">
Build and deploy fully‑managed AI agents and workflows
Website | Docs | Issues | Example projects | Feature requests | Public roadmap | Self-hosting
</div>
About Trigger.dev
Trigger.dev is the open-source platform for building AI workflows in TypeScript. Long-running tasks with retries, queues, observability, and elastic scaling.
The platform designed for building AI agents
Build AI agents using all the frameworks, services and LLMs you're used to, deploy them to Trigger.dev and get durable, long-running tasks with retries, queues, observability, and elastic scaling out of the box.
- Long-running without timeouts: Execute your tasks with absolutely no timeouts, unlike AWS Lambda, Vercel, and other serverless platforms.
- Durability, retries & queues: Build rock solid agents and AI applications using our durable tasks, retries, queues and idempotency.
- True runtime freedom: Customize your deployed tasks with system packages – run browsers, Python scripts, FFmpeg and more.
- Human-in-the-loop: Programmatically pause your tasks until a human can approve, reject or give feedback.
- Realtime apps & streaming: Move your background jobs to the foreground by subscribing to runs or streaming AI responses to your app.
- Observability & monitoring: Each run has full tracing and logs. Configure error alerts to catch bugs fast.
Key features:
- JavaScript and TypeScript SDK - Build background tasks using familiar programming models
- Long-running tasks - Handle resource-heavy tasks without timeouts
- Durable cron schedules - Create and attach recurring schedules of up to a year
- Trigger.dev Realtime - Trigger, subscribe to, and get real-time updates for runs, with LLM streaming support
- Build extensions - Hook directly into the build system and customize the build process. Run Python scripts, FFmpeg, browsers, and more.
- React hooks - Interact with the Trigger.dev API on your frontend using our React hooks package
- Batch triggering - Use batchTrigger() to initiate multiple runs of a task with custom payloads and options
- Structured inputs / outputs - Define precise data schemas for your tasks with runtime payload validation
- Waits - Add waits to your tasks to pause execution for a specified duration
- Preview branches - Create isolated environments for testing and development. Integrates with Vercel and git workflows
- Waitpoints - Add human-in-the-loop judgment at critical decision points without disrupting workflow
- Concurrency & queues - Set concurrency rules to manage how multiple tasks execute
- Multiple environments - Support for DEV, PREVIEW, STAGING, and PROD environments
- No infrastructure to manage - Auto-scaling infrastructure that eliminates timeouts and server management
- Automatic retries - If your task encounters an uncaught error, we automatically attempt to run it again
- Checkpointing - Tasks are inherently durable, thanks to our checkpointing feature
- Versioning - Atomic versioning allows you to deploy new versions without affecting running tasks
- Machines - Configure the number of vCPUs and GBs of RAM you want the task to use
- Observability & monitoring - Monitor every aspect of your tasks' performance with comprehensive logging and visualization tools
- Logging & tracing - Comprehensive logging and tracing for all your tasks
- Tags - Attach up to ten tags to each run, allowing you to filter via the dashboard, realtime, and the SDK
- Run metadata - Attach metadata to runs which updates as the run progresses and is available to use in your frontend for live updates
- Bulk actions - Perform actions on multiple runs simultaneously, including replaying and cancelling
- Real-time alerts - Choose your preferred notification method for run failures and deployments
Write tasks in your codebase
Create tasks where they belong: in your codebase. Version control, localhost, test and review like you're already used to.
import { task } from "@trigger.dev/sdk";
//1. You need to export each task
export const helloWorld = task({
//2. Use a unique id for each task
id: "hello-world",
//3. The run function is the main function of the task
run: async (payload: { message: string }) => {
//4. You can write code that runs for a long time here, there are no timeouts
console.log(payload.message);
},
});
Deployment
Use our SDK to write tasks in your codebase. There's no infrastructure to manage, your tasks automatically scale and connect to our cloud. Or you can always self-host.
Environments
We support Development, Staging, Preview, and Production environments, allowing you to test your tasks before deploying them to production.
Full visibility of every job run
View every task in every run so you can tell exactly what happened. We provide a full trace view of every task run so you can see what happened at every step.
Getting started
The quickest way to get started is to create an account and project in our web app, and follow the instructions in the onboarding. Build and deploy your first task in minutes.
Useful links:
- Quick start - get up and running in minutes
- How it works - understand how Trigger.dev works under the hood
- Guides and examples - walk-through guides and code examples for popular frameworks and use cases
Self-hosting
If you prefer to self-host Trigger.dev, you can follow our self-hosting guides:
- Docker self-hosting guide - use Docker Compose to spin up a Trigger.dev instance
- Kubernetes self-hosting guide - use our official Helm chart to deploy Trigger.dev to your Kubernetes cluster
Support and community
We have a large active community in our official Discord server for support, including a dedicated channel for self-hosting.
Development
To setup and develop locally or contribute to the open source project, follow our development guide.
Meet the Amazing People Behind This Project:
<a href="https://github.com/triggerdotdev/trigger.dev/graphs/contributors">
<img src="https://contrib.rocks/image?repo=triggerdotdev/trigger.dev" />
</a>