vxcontrol/pentagi · error
failed to test provider
Error message
failed to test provider: %w
What it means
TestProvider wraps errors from tester.TestProvider, which runs functional checks (parallel workers) against an already-constructed provider. Unlike error 460, the provider was created successfully but at least one of the runtime test cases (model listing, simple call, tool call, etc.) failed.
Solutions
- Inspect the wrapped error from tester.TestProvider for the failing test case and its HTTP status/cause.
- Verify the API key works with a direct curl call to the provider endpoint.
- Check the provider server URL and configured model names are valid for that account.
- If transient (429/5xx), wait and re-run TestProvider.
Example fix
null
Defensive patterns
Strategy: retry
Validate before calling
resp, err := http.Get(providerEndpoint + "/health")
if err != nil || resp.StatusCode != 200 {
return fmt.Errorf("provider endpoint unreachable, skip TestProvider")
} Type guard
null
Try / catch
results, err := pc.TestProvider(ctx, prvtype, cfg)
if err != nil {
if isTransient(err) { // e.g. 429/5xx in wrapped message
time.Sleep(backoff)
results, err = pc.TestProvider(ctx, prvtype, cfg)
}
} Prevention
- Smoke-test the API key with a direct curl to the provider before running the suite.
- Watch for rate limits; the tester runs workers in parallel.
- Confirm the configured models exist on the provider account.
When it happens
Trigger: Calling TestProvider with a valid provider config where tester.TestProvider returns non-nil: API authentication failure, unreachable endpoint, rate limiting, model not available, or tool-calling capability failures during the test suite.
Common situations: Expired or revoked API key; network/proxy blocking the LLM endpoint; provider account without access to the configured model; server URL pointing to the wrong path; transient 429/5xx during parallel test workers.
Related errors
- failed to generate subtasks for task
- edit_file was called but did not produce the requested…
- failed to call llm after
- failed to get task title
- failed to perform agent chain for subtask
AI-assisted analysis of vxcontrol/pentagi@ea665308ba (2026-09-01).
Data as JSON: /api/errors/5799dc3866aac20c.
Report an issue: GitHub.
Appendix: source
Thrown at backend/pkg/providers/providers.go:969
return results, fmt.Errorf("failed to patch provider config: %w", err)
}
// Create provider for testing
providerName := provider.ProviderName("test-provider")
testProvider, err := pc.buildProviderFromConfig(prvtype, providerName, patchedConfig)
if err != nil {
return results, fmt.Errorf("failed to create provider for testing: %w", err)
}
// Run full provider testing
results, err = tester.TestProvider(
ctx,
testProvider,
tester.WithVerbose(false),
tester.WithParallelWorkers(defaultTestParallelWorkersNumber),
)
if err != nil {
return results, fmt.Errorf("failed to test provider: %w", err)
}
return results, nil
}
func (pc *providerController) patchProviderConfig(
prvtype provider.ProviderType,
config *pconfig.ProviderConfig,
) (*pconfig.ProviderConfig, error) {
var (
defaultCfg *pconfig.ProviderConfig
ok bool
)
if defaultCfg, ok = pc.defaultConfigs[prvtype]; !ok {
if reason, hasReason := pc.defaultConfigErrors[prvtype]; hasReason {
return nil, fmt.Errorf(
"provider type '%s' has no default config because it failed to load at startup: %w",View on GitHub (pinned to ea665308ba)