conductor-oss/conductor · error · RuntimeException
no configuration found for: {name}
Error message
no configuration found for: {name} What it means
Thrown by AIModelProvider.getModel() when llmProvider is non-null but does not match any registered provider name or alias in the providerToLLM map. This map is populated during AIModelProvider construction from all ModelConfiguration beans; if a model fails to init (logged as 'cannot init'), it silently never registers.
Source
Thrown at ai/src/main/java/org/conductoross/conductor/ai/AIModelProvider.java:69
result);
providerToLLM.put(llm.getModelProvider(), llm);
for (String alias : llm.getProviderAliases()) {
providerToLLM.put(alias, llm);
}
} catch (Throwable t) {
log.error("cannot init {} model, reason: {}", modelConfiguration, t.getMessage());
}
}
}
public AIModel getModel(LLMWorkerInput input) {
String name = input.getLlmProvider();
if (name == null) {
throw new RuntimeException("llmProvider not specified: " + name);
}
AIModel model = providerToLLM.get(name);
if (model == null) {
throw new RuntimeException("no configuration found for: " + name);
}
return model;
}
public Consumer<TokenUsageLog> getTokenUsageLogger() {
return usageLog -> log.info("{}", usageLog);
}
}
View on GitHub (pinned to cf7c3e4a8a)
Solutions
- Check server logs for 'cannot init ... model, reason:' messages — a failed init silently skips registration
- Verify a ModelConfiguration bean for the requested provider is present and its getProviderAliases() includes the name you are passing
- Ensure required API keys and configuration properties (e.g. OPENAI_API_KEY) are set in the environment
- Correct typos or casing in the llmProvider value to match a registered provider name or alias
Example fix
// before
{"llmProvider": "antropic"}
// after
{"llmProvider": "anthropic"} Defensive patterns
Strategy: validation
Validate before calling
// Check if provider is registered before calling getModel
String providerName = input.getLlmProvider();
if (providerName != null && !providerName.isBlank()) {
// Check startup logs for 'cannot init ... model' messages
// These indicate a model bean failed to register
} Type guard
// Check available providers at startup @Autowired AIModelProvider provider; // After construction, inspect the providerToLLM map keys // to confirm all expected providers registered successfully
Try / catch
try {
AIModel model = aiModelProvider.getModel(input);
} catch (RuntimeException e) {
if (e.getMessage().startsWith("no configuration found for:")) {
taskResult.setStatus(TaskResult.Status.FAILED_WITH_TERMINAL_ERROR);
taskResult.setReasonForIncompletion(
"LLM provider '" + input.getLlmProvider() + "' is not configured. " +
"Check server logs for model initialization failures.");
} else {
throw e;
}
} Prevention
- Monitor startup logs for 'cannot init ... model' messages — these silently skip registration
- Implement a health check that verifies all expected providers are registered after startup
- Use consistent provider naming across workflow definitions and configuration
- Test model bean initialization in isolation during CI to catch config issues early
When it happens
Trigger: Calling getModel(input) with a provider name that has no corresponding ModelConfiguration bean, or whose bean threw during initialization. Also triggered when the name has a typo or uses a case that doesn't match the registered provider or its aliases.
Common situations: The requested provider (e.g. 'anthropic') has no ModelConfiguration bean in the Spring context. The model bean exists but failed to initialize — API key missing, misconfigured base URL — and was swallowed by the catch block at line 56. The provider name has a casing mismatch or is not among the configured aliases.
Related errors
- llmProvider not specified: {name}
- Bad/Unsupported schema? : {validationMessages}
- {"error":{errors},"response":{output}}
- Output does not Confirm to the schema. errors: %s
- {"error":{e.getMessage()},"response":{responseText}}
AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14).
Data as JSON: /api/errors/4a1fdf3ea55a1fcf.
Report an issue: GitHub.