JuliusBrussee/caveman · error

cachebench: Anthropic API key unavailable

Error message

cachebench: Anthropic API key unavailable

What it means

Error "cachebench: Anthropic API key unavailable" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/replay_http.go:227

	} 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
		}
		if !validAWSRegion(region) || !transport.credentials.AWS.Valid() || !validReplaySecret(transport.credentials.AWS.AccessKeyID) || !validReplaySecret(transport.credentials.AWS.SecretAccessKey) || transport.credentials.AWS.SessionToken != "" && !validReplaySecret(transport.credentials.AWS.SessionToken) {
			return errors.New("cachebench: Bedrock credentials unavailable")
		}
		signer := awssig.Signer{Region: region, Service: "bedrock"}
		if err := signer.Sign(request, transport.credentials.AWS, awssig.HashPayload(body), time.Now().UTC()); err != nil {

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Set ANTHROPIC_API_KEY for the replay.

When it happens

Trigger: Thrown at cacheengine/cachebench/replay_http.go:227 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/c0dd375dcbdf84a9. Report an issue: GitHub.