JuliusBrussee/caveman · error
cache-replay: unsupported provider %q
Error message
cache-replay: unsupported provider %q
What it means
Error "cache-replay: unsupported provider %q" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cmd/cache-replay/main.go:392
switch provider {
case "openai":
if os.Getenv("OPENAI_API_KEY") == "" {
return errors.New("cache-replay: OPENAI_API_KEY unavailable")
}
case "anthropic":
if os.Getenv("ANTHROPIC_API_KEY") == "" {
return errors.New("cache-replay: ANTHROPIC_API_KEY unavailable")
}
case "gemini":
if os.Getenv("GEMINI_API_KEY") == "" {
return errors.New("cache-replay: GEMINI_API_KEY unavailable")
}
case "bedrock":
if os.Getenv("AWS_BEARER_TOKEN_BEDROCK") == "" && (os.Getenv("AWS_ACCESS_KEY_ID") == "" || os.Getenv("AWS_SECRET_ACCESS_KEY") == "") {
return errors.New("cache-replay: Bedrock bearer token or AWS access credentials unavailable")
}
default:
return fmt.Errorf("cache-replay: unsupported provider %q", provider)
}
}
return nil
}
func verifierEnvironment(extra []string) ([]string, error) {
allowed := map[string]bool{"PATH": true, "LANG": true, "LC_ALL": true, "TMPDIR": true}
blocked := map[string]bool{
"OPENAI_API_KEY": true, "ANTHROPIC_API_KEY": true, "GEMINI_API_KEY": true,
"AWS_BEARER_TOKEN_BEDROCK": true, "AWS_ACCESS_KEY_ID": true, "AWS_SECRET_ACCESS_KEY": true, "AWS_SESSION_TOKEN": true,
}
for _, name := range extra {
name = strings.TrimSpace(name)
if !validEnvironmentName(name) || blocked[name] {
return nil, fmt.Errorf("cache-replay: verifier environment variable %q is invalid or credential-bearing", name)
}
allowed[name] = true
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Use a supported provider.
When it happens
Trigger: Thrown at cacheengine/cmd/cache-replay/main.go:392 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/d57e122be2349c09.
Report an issue: GitHub.