{"record":{"id":"19edda2689bbbd65","repo":"conductor-oss/conductor","slug":"passthrough-agent-must-have-exactly-one-worke","errorCode":null,"errorMessage":"Passthrough agent '{}' must have exactly one worker tool defined.","messagePattern":"Passthrough agent '(.+?)' must have exactly one worker tool defined\\.","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/compiler/AgentCompiler.java","lineNumber":3810,"sourceCode":"        metadata.put(\"_graph_workflow\", true);\n        if (config.getModel() != null) {\n            metadata.put(\"model\", config.getModel());\n        }\n        wf.setMetadata(metadata);\n\n        return wf;\n    }\n\n    private boolean isFrameworkPassthrough(AgentConfig config) {\n        return config.getMetadata() != null\n                && Boolean.TRUE.equals(config.getMetadata().get(\"_framework_passthrough\"));\n    }\n\n    WorkflowDef compileFrameworkPassthrough(AgentConfig config) {\n        log.debug(\"Compiling framework passthrough workflow: {}\", config.getName());\n\n        if (config.getTools() == null || config.getTools().isEmpty()) {\n            throw new IllegalArgumentException(\n                    \"Passthrough agent '\"\n                            + config.getName()\n                            + \"' must have exactly one worker tool defined.\");\n        }\n        String workerName = config.getTools().get(0).getName();\n\n        WorkflowTask fwTask = new WorkflowTask();\n        fwTask.setType(\"SIMPLE\");\n        fwTask.setName(workerName);\n        fwTask.setTaskReferenceName(\"_fw_task\");\n        fwTask.setInputParameters(\n                new LinkedHashMap<>(\n                        Map.of(\n                                \"prompt\", \"${workflow.input.prompt}\",\n                                \"session_id\", \"${workflow.input.session_id}\",\n                                \"media\", \"${workflow.input.media}\",\n                                \"cwd\", \"${workflow.input.cwd}\")));\n","sourceCodeStart":3792,"sourceCodeEnd":3828,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/compiler/AgentCompiler.java#L3792-L3828","documentation":"Error \"Passthrough agent '{}' must have exactly one worker tool defined.\" thrown in conductor-oss/conductor.","triggerScenarios":"Thrown at agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/compiler/AgentCompiler.java:3810 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Define exactly one worker tool on the passthrough agent.","Remove extra tools or add the single worker tool the passthrough should delegate to."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}