JuliusBrussee/caveman · error

no named tools found

Error message

no named tools found

What it means

Error "no named tools found" thrown in JuliusBrussee/caveman.

Source

Thrown at shrink/shrink.go:281

		obj, ok := item.(map[string]any)
		if !ok {
			continue
		}
		// OpenAI nests under "function".
		toolObj := obj
		if fn, ok := obj["function"].(map[string]any); ok {
			toolObj = fn
		}
		name, _ := toolObj["name"].(string)
		if name == "" {
			continue
		}
		raw, _ := json.Marshal(obj)
		schema := schemaOf(toolObj)
		entries = append(entries, toolEntry{name: name, raw: raw, schema: schema})
	}
	if len(entries) == 0 {
		return nil, fmt.Errorf("no named tools found")
	}
	return entries, nil
}

// schemaOf returns a tool's parameter schema, under either "inputSchema" (MCP) or
// "parameters" (OpenAI).
func schemaOf(tool map[string]any) map[string]any {
	if s, ok := tool["inputSchema"].(map[string]any); ok {
		return s
	}
	if s, ok := tool["parameters"].(map[string]any); ok {
		return s
	}
	return nil
}

// profileOf extracts param names, per-param enums, and the required list.
func profileOf(schema map[string]any) ToolProfile {

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Include at least one named tool in the catalog.

When it happens

Trigger: Thrown at shrink/shrink.go:281 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/1cfb9d8fc647576e. Report an issue: GitHub.