HKUDS/nanobot · error · TypeError

ChannelPlugin.management.instance_specs for '{plugin.name}'

Error message

ChannelPlugin.management.instance_specs for '{plugin.name}' must return an iterable

What it means

Error "ChannelPlugin.management.instance_specs for '{plugin.name}' must return an iterable" thrown in HKUDS/nanobot.

Source

Thrown at nanobot/channels/contracts.py:342

def channel_instance_specs(
    plugin: ChannelPlugin,
    section: Any,
    *,
    enabled_only: bool = True,
) -> list[ChannelInstanceSpec]:
    """Expand persisted config through the dependency-free management adapter."""
    factory = plugin.management.instance_specs
    if factory is None:
        activation = ChannelActivation.from_config(section)
        raw_specs: object = (
            []
            if enabled_only and not activation.resolve(default=plugin.default_enabled)
            else [ChannelInstanceSpec(instance_id="default", config=section)]
        )
    else:
        raw_specs = cast(object, factory(section, enabled_only=enabled_only))
    if not isinstance(raw_specs, Iterable):
        raise TypeError(
            f"ChannelPlugin.management.instance_specs for '{plugin.name}' must return an iterable"
        )
    specs = list(cast(Iterable[object], raw_specs))
    if not _all_channel_instance_specs(specs):
        raise TypeError(
            f"ChannelPlugin.management.instance_specs for '{plugin.name}' returned an invalid item"
        )

    instance_ids: set[str] = set()
    runtime_names: set[str] = set()
    for spec in specs:
        instance_id = cast(object, spec.instance_id)
        if not isinstance(instance_id, str) or not instance_id.strip():
            raise ValueError(
                f"ChannelPlugin.management.instance_specs for '{plugin.name}' returned an empty instance id"
            )
        if spec.instance_id in instance_ids:
            raise ValueError(

View on GitHub (pinned to 42f37dc4c0)

When it happens

Trigger: Thrown at nanobot/channels/contracts.py:342 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/2ce23e5dc98743fc. Report an issue: GitHub.