---
title: Errors
description: Fix common mistakes when creating and executing workflows.
type: overview
summary: Browse and resolve common workflow errors.
related:
  - /docs/foundations/errors-and-retries
---

# Errors



Fix common mistakes when creating and executing workflows in the **Workflow SDK**.

<Cards>
<Card href="/docs/errors/corrupted-event-log" title="corrupted-event-log">The workflow's event log contains an event that no consumer can process, indicating corruption or invalid state.</Card>
<Card href="/docs/errors/fetch-in-workflow" title="fetch-in-workflow">Use the workflow fetch step function instead of global fetch in workflows.</Card>
<Card href="/docs/errors/hook-conflict" title="hook-conflict">Hook tokens must be unique across all running workflows in your project.</Card>
<Card href="/docs/errors/node-js-module-in-workflow" title="node-js-module-in-workflow">Move Node.js core module usage to step functions instead of workflows.</Card>
<Card href="/docs/errors/replay-divergence" title="replay-divergence">A workflow replay temporarily followed a path that did not match its recorded events.</Card>
<Card href="/docs/errors/runtime-decryption-failed" title="runtime-decryption-failed">The SDK's built-in AES-GCM encryption layer failed to encrypt or decrypt a workflow payload.</Card>
<Card href="/docs/errors/serialization-failed" title="serialization-failed">Ensure all data passed between workflow and step functions is serializable.</Card>
<Card href="/docs/errors/start-invalid-workflow-function" title="start-invalid-workflow-function">The function passed to start() must be a transformed workflow function.</Card>
<Card href="/docs/errors/step-executed-multiple-times" title="Step executed multiple times">A step ran more than once because its function invocation crashed before it could report a result.</Card>
<Card href="/docs/errors/step-not-registered" title="step-not-registered">A step function is not registered in the current deployment.</Card>
<Card href="/docs/errors/timeout-in-workflow" title="timeout-in-workflow">Use the sleep function instead of setTimeout or setInterval in workflows.</Card>
<Card href="/docs/errors/webhook-invalid-respond-with-value" title="webhook-invalid-respond-with-value">The respondWith option must be "manual" or a Response object.</Card>
<Card href="/docs/errors/webhook-response-not-sent" title="webhook-response-not-sent">Manual webhooks must send a response before execution completes.</Card>
<Card href="/docs/errors/workflow-not-registered" title="workflow-not-registered">A workflow function is not registered in the current deployment.</Card>
</Cards>

## Learn More

* [API Reference](/docs/api-reference) - Complete API documentation
* [Foundations](/docs/foundations) - Architecture and core concepts
* [Examples](https://github.com/vercel/workflow) - Sample implementations
* [GitHub Issues](https://github.com/vercel/workflow/issues) - Report bugs and request features


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)