{"record":{"id":"a8fca58ba2b204c3","repo":"conductor-oss/conductor","slug":"unknown-evaluator-s-in-inline-task","errorCode":null,"errorMessage":"Unknown evaluator '%s' in INLINE task.","messagePattern":"Unknown evaluator '(.+?)' in INLINE task\\.","errorType":"exception","errorClass":"TerminateWorkflowException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/netflix/conductor/core/execution/tasks/Inline.java","lineNumber":111,"sourceCode":"            task.addOutput(\"error\", errorMessage);\n        }\n\n        return true;\n    }\n\n    private void checkEvaluatorType(String evaluatorType) {\n        // evaluatorType is now optional with \"javascript\" as default, but must not be blank if\n        // provided\n        if (StringUtils.isBlank(evaluatorType)) {\n            LOGGER.error(\"Empty {} in INLINE task. \", QUERY_EVALUATOR_TYPE);\n            throw new TerminateWorkflowException(\n                    \"Empty '\"\n                            + QUERY_EVALUATOR_TYPE\n                            + \"' in INLINE task's input parameters. A non-empty String value must be provided.\");\n        }\n        if (evaluators.get(evaluatorType) == null) {\n            LOGGER.error(\"Evaluator {} for INLINE task not registered\", evaluatorType);\n            throw new TerminateWorkflowException(\n                    \"Unknown evaluator '\" + evaluatorType + \"' in INLINE task.\");\n        }\n    }\n\n    private void checkExpression(String expression) {\n        if (StringUtils.isBlank(expression)) {\n            LOGGER.error(\"Empty {} in INLINE task. \", QUERY_EXPRESSION_PARAMETER);\n            throw new TerminateWorkflowException(\n                    \"Empty '\"\n                            + QUERY_EXPRESSION_PARAMETER\n                            + \"' in Inline task's input parameters. A non-empty String value must be provided.\");\n        }\n    }\n}\n","sourceCodeStart":93,"sourceCodeEnd":126,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/core/src/main/java/com/netflix/conductor/core/execution/tasks/Inline.java#L93-L126","documentation":"Thrown by Inline.checkEvaluatorType() when the evaluatorType is non-blank but no Evaluator bean with that name is registered in the Spring context. The evaluators map (injected into Inline) contains Evaluator beans keyed by their @Component name. Supported built-in values: 'javascript', 'graaljs', 'value-param', and 'python' (if GraalVM Python is available). An unregistered name like 'groovy' or 'js' triggers this termination.","triggerScenarios":"An INLINE task specifies evaluatorType 'groovy', 'python' (when GraalVM Python is not on the classpath), or any unregistered evaluator name. A custom evaluator bean was removed or renamed.","commonSituations":"Server upgraded and a previously-available evaluator was deprecated/removed. Custom evaluator not deployed. Typo in evaluatorType — 'javascipt', 'java-script', or 'js'.","solutions":["Use a registered evaluator type: 'javascript', 'graaljs', or 'value-param'. For 'python', ensure GraalVM Python support is deployed.","If using a custom evaluator, verify the @Component name matches exactly and the bean is on the classpath.","Check for typos in the evaluatorType value in the workflow definition.","Inspect the server's Spring context for available Evaluator beans if unsure what is registered."],"exampleFix":"// before\n\"inputParameters\": {\n  \"evaluatorType\": \"js\",\n  \"expression\": \"return 1 + 1\"\n}\n\n// after\n\"inputParameters\": {\n  \"evaluatorType\": \"javascript\",\n  \"expression\": \"return 1 + 1\"\n}","handlingStrategy":"validation","validationCode":"// Verify evaluator is registered before INLINE execution\nString evaluatorType = (String) task.getInputData().get(\"evaluatorType\");\nif (evaluatorType == null) evaluatorType = \"javascript\";\nif (!evaluators.containsKey(evaluatorType)) {\n    throw new IllegalStateException(\n        \"Unknown evaluator: \" + evaluatorType\n        + \". Available: \" + evaluators.keySet());\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use only registered evaluator types: 'javascript', 'graaljs', 'value-param'.","For custom evaluators, ensure the @Component name matches the definition.","Check for typos in evaluatorType in workflow definitions."],"tags":["inline-task","evaluator","terminate","configuration","unknown-type"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}