JuliusBrussee/caveman · error
rewriter: api key is required
Error message
rewriter: api key is required
What it means
Error "rewriter: api key is required" thrown in JuliusBrussee/caveman.
Source
Thrown at rewriter/rewriter.go:137
// on rejected calls so a corpus study can size the rewrites the gate threw
// away. The bytes themselves never leave on a rejection.
CandidateTokens int
}
// New validates cfg and returns a Client. An unknown provider is an error
// rather than a default: a silently mis-routed rewriter would produce bytes no
// gate was designed for.
func New(cfg Config) (*Client, error) {
provider := strings.ToLower(strings.TrimSpace(cfg.Provider))
if provider != providerAnthropic && provider != providerOpenAI {
return nil, fmt.Errorf("rewriter: unsupported provider %q", cfg.Provider)
}
model := strings.TrimSpace(cfg.Model)
if model == "" {
return nil, errors.New("rewriter: model is required")
}
if strings.TrimSpace(cfg.APIKey) == "" {
return nil, errors.New("rewriter: api key is required")
}
theta := cfg.Theta
if theta == 0 {
theta = DefaultTheta
}
if theta < 0 {
return nil, fmt.Errorf("rewriter: theta must not be negative, got %d", theta)
}
doer := cfg.HTTPDoer
if doer == nil {
doer = http.DefaultClient.Do
}
return &Client{provider: provider, model: model, apiKey: cfg.APIKey, theta: theta, doer: doer}, nil
}
// Rewrite condenses req.StepBytes, or explains why it did not.
//
// Gate 1 (invocation) skips the API call entirely when the step is at or underView on GitHub (pinned to 27d5a3981a)
Solutions
- Set the rewriter API key.
When it happens
Trigger: Thrown at rewriter/rewriter.go:137 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/fa587142469d5e67.
Report an issue: GitHub.