HKUDS/nanobot · error · ConfigLoadError
The top level of config.json must be a JSON object.
Error message
The top level of config.json must be a JSON object.
What it means
Error "The top level of config.json must be a JSON object." thrown in HKUDS/nanobot.
Source
Thrown at nanobot/config/loader.py:110
),
) from exc
except UnicodeDecodeError as exc:
raise ConfigLoadError(
path,
kind="io_error",
summary="The file is not valid UTF-8.",
) from exc
except OSError as exc:
detail = exc.strerror or type(exc).__name__
raise ConfigLoadError(
path,
kind="io_error",
summary=f"Unable to read the file: {_sentence(detail)}",
) from exc
if not isinstance(data, dict):
root_type = type(data).__name__
raise ConfigLoadError(
path,
kind="invalid_root",
summary="The top level of config.json must be a JSON object.",
issues=(
ConfigIssue(
path=(),
message=f"Expected an object, but found {root_type}.",
),
),
)
data = _migrate_config(cast(dict[str, Any], data))
try:
config = Config.model_validate(data)
except ValidationError as exc:
issues = validation_issues(exc)
raise ConfigLoadError(
path,View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/config/loader.py:110 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26).
Data as JSON: /api/errors/36b9619d9afa936c.
Report an issue: GitHub.