JuliusBrussee/caveman · error
tools: %w
Error message
tools: %w
What it means
Error "tools: %w" thrown in JuliusBrussee/caveman.
Source
Thrown at engine/pixel/transform_gemini.go:256
if err := json.Unmarshal(body, &raw); err != nil {
return geminiGenerateContent{}, err
}
req := geminiGenerateContent{extra: raw}
if v, ok := raw["contents"]; ok {
if err := json.Unmarshal(v, &req.Contents); err != nil {
return geminiGenerateContent{}, fmt.Errorf("contents: %w", err)
}
}
if v, ok := raw["systemInstruction"]; ok && len(bytes.TrimSpace(v)) > 0 && !bytes.Equal(bytes.TrimSpace(v), []byte("null")) {
var inst geminiInstruction
if err := json.Unmarshal(v, &inst); err != nil {
return geminiGenerateContent{}, fmt.Errorf("systemInstruction: %w", err)
}
req.SystemInstruction = &inst
}
if v, ok := raw["tools"]; ok {
if err := json.Unmarshal(v, &req.Tools); err != nil {
return geminiGenerateContent{}, fmt.Errorf("tools: %w", err)
}
}
return req, nil
}
func geminiGlobalMediaResolution(raw map[string]json.RawMessage) (string, bool) {
var config json.RawMessage
for _, key := range []string{"generationConfig", "generation_config"} {
if value, found := raw[key]; found {
if config != nil {
return "", false
}
config = value
}
}
if config == nil {
return "default", true
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Fix the tools field transform error.
When it happens
Trigger: Thrown at engine/pixel/transform_gemini.go:256 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/cae56c7be474e2cc.
Report an issue: GitHub.