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.
$ npx -y skills add triggerdotdev/trigger.dev --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: triggerdotdev/trigger.dev
What's inside


Website | Docs | Issues | Example projects | Feature requests | Public roadmap | Self-hosting
Trigger.dev is the open-source platform for building AI workflows in TypeScript. Long-running tasks with retries, queues, observability, and elastic scaling.
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.
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);
},
});
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.
We support Development, Staging, Preview, and Production environments, allowing you to test your tasks before deploying them to production.
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.

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.
If you prefer to self-host Trigger.dev, you can follow our self-hosting guides:
We have a large active community in our official Discord server for support, including a dedicated channel for self-hosting.
To setup and develop locally or contribute to the open source project, follow our development guide.
.changeset/
config.json
README.md
.claude/
review-guides/
chat-agent-sessions-row-agnostic.md
REVIEW.md
rules/
database-safety.md
docs-writing.md
legacy-v3-code.md
package-installation.md
sdk-packages.md
server-apps.md
skills/
drizzle/
SKILL.md
errors-api-e2e/
SKILL.md
span-timeline-events/
SKILL.md
trigger-dev-tasks/
advanced-tasks.md
basic-tasks.md
config.md
realtime.md
scheduled-tasks.md
SKILL.md
.configs/
tsconfig.base.json
.cursor/
commands/
deslop.md
mcp.json
rules/
executing-commands.mdc
migrations.mdc
otel-metrics.mdc
repo.mdc
webapp.mdc
writing-tasks.mdc
writing-tests.mdc
.cursorignore
.dockerignore
.env.example
.github/
actionlint.yaml
actions/
get-image-tag/
action.yml
copilot-instructions.md
dependabot.yml
FUNDING.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
instrumentation_request.yml
vouch-request.yml
labeler.yml
pull_request_template.md
test/
events/
push-main.json
push-tag-build.json
push-tag-docker-nonsemver.json
push-tag-docker.json
push-tag-infra-prod.json
push-tag-infra-test.json
push-tag-semver.json
push-tag.json
README.md
test-actions.yml
VOUCHED.td
workflows/
changesets-pr.yml
check-review-md.yml
claude-md-audit.yml
claude.yml
code-quality.yml
dashboard-agent-deploy.yml
docs.yml
e2e-webapp-auth-full.yml
e2e-webapp.yml
e2e.yml
helm-prerelease.yml
observability-map.yml
pr_checks.yml
preview-dispatch.yml
preview-packages.yml
publish-docs.yml
publish-webapp.yml
publish-worker-v4.yml
publish.yml
release-helm.yml
release.yml
runops-guard.yml
sdk-compat.yml
trivy-image.yml
typecheck.yml
unit-tests-internal.yml
unit-tests-observability-map.yml
unit-tests-packages.yml
unit-tests-webapp.yml
unit-tests.yml
vouch-check-pr.yml
vouch-manage-by-issue.yml
workflow-checks.yml
zizmor.yml
.gitignore
.gitmodules
.infisical.json
.nvmrc
.oxfmtrc.json
.oxlintrc.json
.server-changes/
.gitkeep
bounded-list-filter-arity.md
prisma-driver-adapter-per-client.md
README.md
reduce-api-tracing-overhead.md
.vouch.yml
.vscode/
extensions.json
launch.json
settings.json
.zed/
tasks.json
AGENTS.md
ai/
references/
migrations.md
repo.md
tests.md
ailogger-output.log
apps/
supervisor/
.env.example
.nvmrc
CLAUDE.md
Containerfile
package.json
README.md
src/
backpressure/
backpressureMetrics.ts
backpressureMonitor.test.ts
backpressureMonitor.ts
k8sPodCountSignalSource.test.ts
k8sPodCountSignalSource.ts
redisBackpressureSignalSource.test.ts
redisBackpressureSignalSource.ts
clients/
kubernetes.ts
env.test.ts
env.ts
envUtil.test.ts
envUtil.ts
index.ts
metrics.ts
resourceMonitor.ts
services/
computeSnapshotService.test.ts
computeSnapshotService.ts
failedPodHandler.test.ts
failedPodHandler.ts
otlpTraceService.test.ts
otlpTraceService.ts
podCleaner.test.ts
podCleaner.ts
timerWheel.test.ts
timerWheel.ts
warmStartVerificationService.test.ts
warmStartVerificationService.ts
util.ts
wideEvents/
baggage.test.ts
baggage.ts
context.ts
emit.test.ts
emit.ts
index.ts
middleware.test.ts
middleware.ts
new.test.ts
new.ts
record.test.ts
record.ts
state.ts
traceparent.test.ts
traceparent.ts
truncate.test.ts
truncate.ts
workerToken.ts
workloadManager/
compute.test.ts
compute.ts
docker.ts
ecrAuth.ts
kubernetes.test.ts
kubernetes.ts
kubernetesPodSpec.ts
types.ts
workloadServer/
index.ts
workloadServer.auth.test.ts
workloadServer.authLog.test.ts
workloadToken.ts
tsconfig.json
webapp/
.env
.gitignore
.server-changes/
task-filter-icons.md
app/
api/
versions.ts
assets/
icons/
AbacusIcon.tsx
AIChatIcon.tsx
AIMetricsIcon.tsx
AIPenIcon.tsx
AiProviderIcons.tsx
AISparkleIcon.tsx
AnimatedHourglassIcon.tsx
AnthropicLogoIcon.tsx
ArchiveIcon.tsx
ArrowLeftRightIcon.tsx
ArrowRightSquareIcon.tsx
ArrowTopRightBottomLeftIcon.tsx
AttemptIcon.tsx
AvatarCircleIcon.tsx
BatchesIcon.tsx
BeakerIcon.tsx
BellIcon.tsx
BookIcon.tsx
Box3DIcon.tsx
BugIcon.tsx
BulbIcon.tsx
BunLogoIcon.tsx
ChainLinkIcon.tsx
ChartArrowIcon.tsx
ChartBarIcon.tsx
ChevronExtraSmallDown.tsx
ChevronExtraSmallUp.tsx
ClockIcon.tsx
ClockRotateLeftIcon.tsx
CloudProviderIcon.tsx
CodeSquareIcon.tsx
ConcurrencyIcon.tsx
ConnectionIcons.tsx
CreditCardIcon.tsx
CrossIcon.tsx
CubeSparkleIcon.tsx
DeploymentsIcon.tsx
DialIcon.tsx
DropdownIcon.tsx
DynamicTriggerIcon.tsx
EndpointIcon.tsx
EnvelopeIcon.tsx
EnvironmentIcons.tsx
ErrorIcon.tsx
ExitIcon.tsx
EyeClosedIcon.tsx
EyeOpenIcon.tsx
FolderClosedIcon.tsx
FolderOpenIcon.tsx
FunctionIcon.tsx
GlobeLinesIcon.tsx
HomeIcon.tsx
IDIcon.tsx
InfoIcon.tsx
IntegrationsIcon.tsx
KeyboardDownIcon.tsx
KeyboardEnterIcon.tsx
KeyboardIcon.tsx
KeyboardLeftIcon.tsx
KeyboardRightIcon.tsx
KeyboardUpIcon.tsx
KeyboardWindowsIcon.tsx
KeyIcon.tsx
KeyValueIcon.tsx
LeftSideMenuCollapsedIcon.tsx
LeftSideMenuIcon.tsx
ListBulletIcon.tsx
ListCheckedIcon.tsx
LogsIcon.tsx
MachineIcon.tsx
MessageInputIcon.tsx
MessageOutputIcon.tsx
MiddlewareIcon.tsx
MoveToBottomIcon.tsx
MoveToTopIcon.tsx
MoveUpIcon.tsx
NodejsLogoIcon.tsx
NotificationIcon.tsx
OneTreeIcon.tsx
PadlockIcon.tsx
PadlockRoundedIcon.tsx
PauseIcon.tsx
PlaygroundIcon.tsx
PlusIcon.tsx
PrivateIcon.tsx
PromoteIcon.tsx
PythonLogoIcon.tsx
QuestionMarkIcon.tsx
QueuesIcon.tsx
RadarPulseIcon.tsx
RegionIcons.tsx
RenameIcon.tsx
RightSideMenuIcon.tsx
RolesIcon.tsx
RunFunctionIcon.tsx
RunsIcon.tsx
SaplingIcon.tsx
ScheduleIcon.tsx
ShieldIcon.tsx
ShieldLockIcon.tsx
ShowParentIcon.tsx
SidebarCustomizeIcon.tsx
SideMenuRightClosed.tsx
SlackIcon.tsx
SlackMonoIcon.tsx
SlidersIcon.tsx
SnakedArrowIcon.tsx
SparkleListIcon.tsx
StarIcon.tsx
StatusIcon.tsx
StreamsIcon.tsx
TableIcon.tsx
TaskIcon.tsx
TasksIcon.tsx
TestTubeIcon.tsx
TextInlineIcon.tsx
TextSquareIcon.tsx
TextWrapIcon.tsx
TimedOutIcon.tsx
ToggleArrowIcon.tsx
TraceIcon.tsx
TriggerIcon.tsx
TwoTreesIcon.tsx
UsageIcon.tsx
UserCrossIcon.tsx
UserGroupIcon.tsx
v3.svg
WaitpointTokenIcon.tsx
WarmStartIcon.tsx
WebhookIcon.tsx
images/
blurred-dashboard-background-menu-bottom-light.jpg
blurred-dashboard-background-menu-bottom.jpg
blurred-dashboard-background-menu-top-light.jpg
blurred-dashboard-background-menu-top.jpg
blurred-dashboard-background-table-light.jpg
blurred-dashboard-background-table.jpg
cli-connected.png
cli-disconnected.png
color-wheel.png
discord.png
error-banner-tile@2x.png
logo.png
logo.svg
open-bulk-actions-panel.png
producthunt.png
queues-dashboard.png
select-runs-individually.png
select-runs-using-filters.png
tile-in-progress@2x.png
logos/
AppsmithLogo.tsx
AstroLogo.tsx
ATAndTLogo.tsx
CalComLogo.tsx
ExpressLogo.tsx
FastifyLogo.tsx
GoogleLogo.tsx
LyftLogo.tsx
MiddayLogo.tsx
NestjsLogo.tsx
NextjsLogo.tsx
NuxtLogo.tsx
RedwoodLogo.tsx
RemixLogo.tsx
ShopifyLogo.tsx
SveltekitLogo.tsx
TldrawLogo.tsx
UnkeyLogo.tsx
VerizonLogo.tsx
bootstrap.ts
clientBeforeFirstRender.ts
components/
admin/
backOffice/
ApiRateLimitSection.server.ts
ApiRateLimitSection.tsx
BatchRateLimitSection.server.ts
BatchRateLimitSection.tsx
MaxProjectsSection.server.ts
MaxProjectsSection.tsx
... 1600 moreShowing a partial view of a very large repo.
FAQ
triggerdev is a Claude Code plugin with 15 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes drizzle, errors-api-e2e, span-timeline-events. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.