{"record":{"id":"5bce7bbd30bcfc8e","repo":"run-llama/llama_index","slug":"eval-mode-eval-mode-not-supported","errorCode":null,"errorMessage":"Eval mode {eval_mode} not supported.","messagePattern":"Eval mode (.+?) not supported\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"llama-index-core/llama_index/core/callbacks/global_handlers.py","lineNumber":147,"sourceCode":"        except ImportError:\n            raise ImportError(\n                \"Literal AI Handler is not installed. \"\n                \"Please install it using `pip install llama-index-callbacks-literalai`\"\n            )\n        handler = literalai_callback_handler(**eval_params)\n    elif eval_mode == \"opik\":\n        try:\n            from llama_index.callbacks.opik import (\n                opik_callback_handler,\n            )  # pants: no-infer-dep\n        except ImportError:\n            raise ImportError(\n                \"Opik Handler is not installed. \"\n                \"Please install it using `pip install llama-index-callbacks-opik`\"\n            )\n        handler = opik_callback_handler(**eval_params)\n    else:\n        raise ValueError(f\"Eval mode {eval_mode} not supported.\")\n\n    return handler\n","sourceCodeStart":129,"sourceCodeEnd":150,"githubUrl":"https://github.com/run-llama/llama_index/blob/afd0fef371831f9bda13e5af7167cf4e981278ab/llama-index-core/llama_index/core/callbacks/global_handlers.py#L129-L150","documentation":"Raised by create_global_handler() when the eval_mode string does not match any supported branch. Supported modes are wandb, openinference, arize_phoenix, honeyhive, promptlayer, deepeval, simple, argilla, langfuse, agentops, literalai, and opik; anything else (including typos and case mismatches) falls through to raise ValueError. Unlike the ImportError branches, this is purely a caller-input error, not a packaging issue.","triggerScenarios":"create_global_handler('phoenix', ...), set_global_handler('WandB'), set_global_handler('open-inference'), or any misspelled/renamed mode; also modes removed or renamed between llama-index versions.","commonSituations":"Typos or wrong casing in config files/env vars that feed eval_mode; using an integration name (e.g. 'openinference') that is correct but its package name ('otel') is guessed instead; mode lists drifting across library upgrades.","solutions":["Use one of the exact supported strings: 'wandb', 'openinference', 'arize_phoenix', 'honeyhive', 'promptlayer', 'deepeval', 'simple', 'argilla', 'langfuse', 'agentops', 'literalai', 'opik'","Check for typos, casing, and stray whitespace in the eval_mode value (e.g. from env vars or YAML config)","Validate eval_mode against the supported list before calling, especially when it comes from user config","If you expected a mode that is not listed, your llama-index-core version may predate it — upgrade llama-index-core"],"exampleFix":"# before\nfrom llama_index.core.callbacks.global_handlers import create_global_handler\nhandler = create_global_handler('phoenix')  # ValueError\n\n# after\nhandler = create_global_handler('arize_phoenix')","handlingStrategy":"validation","validationCode":"SUPPORTED_MODES = {'wandb','openinference','arize_phoenix','honeyhive','promptlayer','deepeval','simple','argilla','langfuse','agentops','literalai','opik'}\nassert eval_mode in SUPPORTED_MODES, f'eval_mode must be one of {sorted(SUPPORTED_MODES)}'","typeGuard":null,"tryCatchPattern":"try:\n    handler = create_global_handler(eval_mode)\nexcept ValueError as e:\n    raise ConfigError(f'Bad eval mode {eval_mode!r}: {e}') from e","preventionTips":["Normalize/strip eval_mode from env vars or config files before use","Fail fast on unknown config keys with a clear list of valid modes","Re-check the supported list when upgrading llama-index-core"],"tags":["llama-index","callbacks","validation","invalid-argument"],"backgroundTag":null,"analyzedSha":"afd0fef371831f9bda13e5af7167cf4e981278ab","analyzedAt":"2026-08-15T05:42:58.429Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}