rohitg00/ai-engineering-from-scratch · error · ValueError
schema properties for {location} must be an object
Error message
schema properties for {location} must be an object What it means
Error "schema properties for {location} must be an object" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at certifications/claude/lessons/10-tool-use-and-agentic-loops/code/main.py:165
raise ValueError(f"invalid length for {location}: below minLength {minimum}")
if maximum is not None and len(value) > maximum:
raise ValueError(f"invalid length for {location}: above maxLength {maximum}")
if isinstance(value, list):
minimum = _integer_bound(schema, "minItems")
maximum = _integer_bound(schema, "maxItems")
if minimum is not None and len(value) < minimum:
raise ValueError(f"invalid item count for {location}: below minItems {minimum}")
if maximum is not None and len(value) > maximum:
raise ValueError(f"invalid item count for {location}: above maxItems {maximum}")
if "items" in schema:
for index, item in enumerate(value):
_validate_schema_value(item, schema["items"], f"{location}[{index}]")
if isinstance(value, dict):
properties = schema.get("properties", {})
if not isinstance(properties, dict):
raise ValueError(f"schema properties for {location} must be an object")
required = schema.get("required", [])
if not isinstance(required, list) or not all(isinstance(name, str) for name in required):
raise ValueError(f"schema required for {location} must be a string list")
missing = [name for name in required if name not in value]
if missing:
raise ValueError(f"missing required fields: {', '.join(missing)}")
unexpected = set(value) - set(properties)
if unexpected and schema.get("additionalProperties") is False:
raise ValueError(f"unexpected fields: {', '.join(sorted(unexpected))}")
for name, item in value.items():
if name in properties:
_validate_schema_value(item, properties[name], f"{location}.{name}")
@dataclass(frozen=True)
class Tool:
name: str
description: strView on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at certifications/claude/lessons/10-tool-use-and-agentic-loops/code/main.py:165 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/ca4d8ac7dc17b6ed.
Report an issue: GitHub.