---
title: 'Why do code evaluators fail with "Code eval dispatcher is not configured"?'
seoTitle: "Fix: Code eval dispatcher is not configured"
description: Code-based evaluators on self-hosted Langfuse need a dispatcher. Set LANGFUSE_CODE_EVAL_DISPATCHER on web and worker to fix the error.
tags: [self-hosting, evaluation]
---

# Why do code evaluators fail with "Code eval dispatcher is not configured"?

[Code evaluators](/docs/evaluation/evaluation-methods/code-evaluators) run your evaluation code outside the main Langfuse process. On self-hosted Langfuse you choose where that code runs with `LANGFUSE_CODE_EVAL_DISPATCHER`. In production builds this variable has no default, so testing or running a code evaluator fails with `Code eval dispatcher is not configured` until you set it.

Set the variable on **both** the web and worker containers:

| Value            | Runs                                                                            | Notes                                                                                                                                                                                                                      |
| ---------------- | ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aws-lambda`     | Python and TypeScript                                                           | Executes code in AWS Lambda functions. Configure the function names and IAM permissions as described in [AWS Lambda dispatcher](/self-hosting/configuration/code-evaluators#aws-lambda-dispatcher).                        |
| `external`       | Python and TypeScript, or the subset in `LANGFUSE_CODE_EVAL_EXTERNAL_LANGUAGES` | Sends code to an HTTP executor you operate, with a signed request. Set the endpoint and signing secret as described in [External HTTP dispatcher](/self-hosting/configuration/code-evaluators#external-dispatcher).        |
| `insecure-local` | TypeScript/JavaScript only                                                      | Runs code inside the worker process. Not a sandbox; use only when every user who can create evaluators is trusted. See [Local insecure dispatcher](/self-hosting/configuration/code-evaluators#local-insecure-dispatcher). |

Restart web and worker after changing the variable. Code evaluators are available in open-source self-hosted Langfuse; no license key is required.

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/faq/all/code-eval-dispatcher-not-configured.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx @langfuse/cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
