JuliusBrussee/caveman · error
cachebench: OpenAI API key unavailable
Error message
cachebench: OpenAI API key unavailable
What it means
Error "cachebench: OpenAI API key unavailable" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/replay_http.go:222
}
resolved := *base
if rawPath == "" {
resolved.Path = strings.TrimRight(base.Path, "/") + path
resolved.RawPath = ""
} else {
resolved.RawPath = strings.TrimRight(base.EscapedPath(), "/") + rawPath
resolved.Path, _ = url.PathUnescape(resolved.RawPath)
}
resolved.RawQuery = ""
resolved.Fragment = ""
return &resolved, nil
}
func (transport *HTTPReplayTransport) authorize(provider, region string, request *http.Request, body []byte) error {
switch provider {
case "openai":
if !validReplaySecret(transport.credentials.OpenAIAPIKey) {
return errors.New("cachebench: OpenAI API key unavailable")
}
request.Header.Set("authorization", "Bearer "+transport.credentials.OpenAIAPIKey)
case "anthropic":
if !validReplaySecret(transport.credentials.AnthropicAPIKey) {
return errors.New("cachebench: Anthropic API key unavailable")
}
request.Header.Set("x-api-key", transport.credentials.AnthropicAPIKey)
request.Header.Set("anthropic-version", "2023-06-01")
case "gemini":
if !validReplaySecret(transport.credentials.GeminiAPIKey) {
return errors.New("cachebench: Gemini API key unavailable")
}
request.Header.Set("x-goog-api-key", transport.credentials.GeminiAPIKey)
case "bedrock":
if validReplaySecret(transport.credentials.BedrockAPIKey) {
request.Header.Set("authorization", "Bearer "+transport.credentials.BedrockAPIKey)
return nil
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Set OPENAI_API_KEY for the replay.
When it happens
Trigger: Thrown at cacheengine/cachebench/replay_http.go:222 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/c4cc6b2f2aba84b7.
Report an issue: GitHub.