> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-dx-3081-agentkit-tanstack-ai-backends.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Restart

The **Restart** action allows you to re-execute a failed workflow run from the beginning.
All previous step results are discarded, and the workflow executes from scratch using the original configuration and initial payload.

This approach is ideal when:

* Previous step results are no longer relevant.
* The failure was caused by corrupted or inconsistent state.
* You need a completely fresh execution with updated or clean data.

<Frame caption="Restart a workflow run from DLQ">
  <img src="https://mintcdn.com/upstash-dx-3081-agentkit-tanstack-ai-backends/lQ-w8vahEVNQRTLw/img/workflow/restart.png?fit=max&auto=format&n=lQ-w8vahEVNQRTLw&q=85&s=d386964d781053b873b02b6208aba3ad" alt="Restart a workflow run from the DLQ" width="2658" height="1976" data-path="img/workflow/restart.png" />
</Frame>

You can perform this action programmatically as well:

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Client } from "@upstash/workflow";

  const client = new Client({ token: "<WORKFLOW_TOKEN>" });

  await client.dlq.restart({
    dlqId: "dlq-12345",
    retries: 3,
  });
  ```
</CodeGroup>


## Related topics

- [client.dlq.restart](/workflow/basics/client/dlq/restart.md)
- [Handle Failed Runs](/workflow/howto/failures.md)
- [Hermes Setup](/box/guides/hermes-setup.md)
- [OpenClaw Setup](/box/guides/openclaw-setup.md)
- [Changelog](/qstash/overall/changelog.md)
