HKUDS/nanobot · error · ValueError

{plugin.name} does not support multiple instances

Error message

{plugin.name} does not support multiple instances

What it means

Error "{plugin.name} does not support multiple instances" thrown in HKUDS/nanobot.

Source

Thrown at nanobot/channels/contracts.py:316

    for part in parts[:-1]:
        nested: object = target.get(part)
        if not isinstance(nested, dict):
            nested = {}
            target[part] = nested
        target = cast(dict[str, Any], nested)
    target[parts[-1]] = value


def channel_local_state_present(plugin: ChannelPlugin, section: Any) -> bool:
    checker = plugin.management.local_state_present
    return bool(checker and checker(section))


def channel_runtime_name(plugin: ChannelPlugin, instance_id: str = "default") -> str:
    factory = plugin.management.runtime_name
    if factory is None:
        if instance_id not in {"", "default"}:
            raise ValueError(f"{plugin.name} does not support multiple instances")
        runtime_name = plugin.name
    else:
        runtime_name = str(factory(plugin.name, instance_id))
    _validate_runtime_name(plugin, runtime_name)
    return runtime_name


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 = (

View on GitHub (pinned to 42f37dc4c0)

When it happens

Trigger: Thrown at nanobot/channels/contracts.py:316 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/170c99029575cc50. Report an issue: GitHub.