A replay is a copy of a run with the same payload but against the latest version in that environment. This is useful if something went wrong and you want to try again with the latest version of your code.

Replaying from the UI

Select a task, then in the bottom right click “Replay” Select a task, then in the bottom right
click "Replay"

Replaying using the SDK

You can replay a run using the SDK:

const replayedRun = await runs.replay(;

When you call trigger() or batchTrigger() on a task you receive back a run handle which has an id property. You can use that id to replay the run.

You can also access the run id from inside a run. You could write this to your database and then replay it later.

export const simpleChildTask = task({
  id: "simple-child-task",
  run: async (payload, { ctx }) => {
    // the run ID (and other useful info) is in ctx
    const runId =;


Tasks can automatically reattempt based on the settings you provide.

Sometimes a task will fail all of its attempts. In that case, you can continue reattempting.

This feature will become available during the Developer Preview.

To get the latest updates on the Developer Preview, join our Discord community or follow us on Twitter.