6bfce6387d
A deploy can carry an opaque external id (commit SHA, CI run id, release tag). Repeating an id that already deployed returns the existing version as a no-op instead of rebuilding; an id with a build in flight is rejected with 409 naming that version; a failed id rebuilds freely. --force is non-destructive to deployments that already succeeded - both persist and the higher version wins - but cancels a build still in flight, so one id never has two live builds racing to define it. Cancelling writes a terminal status and appends a finalized event, which aborts a build the platform drives; a build it does not drive keeps running but can never land, and the CLI says so. Ids are deliberately not unique - reuse is resolved in application code by highest version, never timestamps. The no-op path mints no build credentials and no event stream (TRI-12923). What that means for callers: a --force rebuild leaves two deployments holding one id, and runs triggered with it go to the higher version once the rebuild lands, so the takeover needs no separate promotion. Until a successful build exists for an id, runs triggered with it park and then expire rather than falling back to current - a failed build is therefore visible to the caller as expired runs, not as runs on the wrong release.
Trigger.dev CLI
A CLI that allows you to create, run locally and deploy Trigger.dev background tasks.
Note: this only works with Trigger.dev v3 projects and later. For older projects use the @trigger.dev/cli package.
About Trigger.dev
Trigger.dev is an open source platform for building and deploying fully-managed AI agents and workflows. Write workflows in normal async TypeScript for everything from simple tasks to long-running AI agents, heavy media processing, complex real-time systems and more. Complete with full observability, managed queues, and elastic infrastructure which handles the horizontal scaling.
Commands
| Command | Description |
|---|---|
| login | Login with Trigger.dev so you can perform authenticated actions. |
| init | Initialize your existing project for development with Trigger.dev. |
| dev | Run your Trigger.dev tasks locally. |
| deploy | Deploy your Trigger.dev v3 project to the cloud. |
| whoami | Display the current logged in user and project details. |
| logout | Logout of Trigger.dev. |
| list-profiles | List all of your CLI profiles. |
| preview archive | Archive a preview branch. |
| promote | Promote a previously deployed version to the current version. |
| switch | Switch between CLI profiles. |
| update | Updates all @trigger.dev/* packages to match the CLI version. |
CLI documentation
For more information on the CLI, please refer to our docs.
Support
If you have any questions, please reach out to us on Discord and we'll be happy to help.