HKUDS/nanobot · error · ValueError

ChannelPlugin.management.feature_instances for '{plugin.name

Error message

ChannelPlugin.management.feature_instances for '{plugin.name}' returned duplicate instance id '{instance_id}'

What it means

Error "ChannelPlugin.management.feature_instances for '{plugin.name}' returned duplicate instance id '{instance_id}'" thrown in HKUDS/nanobot.

Source

Thrown at nanobot/channels/contracts.py:510

        )
        for spec in channel_instance_specs(plugin, section, enabled_only=False)
    ]
    if overrides is None:
        return instances

    by_id = {instance["id"]: instance for instance in instances}
    seen: set[str] = set()
    for override_value in cast(list[object], overrides):
        override = cast(dict[str, Any], override_value)
        instance_id = override.get("id")
        if not isinstance(instance_id, str) or instance_id not in by_id:
            raise ValueError(
                f"ChannelPlugin.management.feature_instances for '{plugin.name}' "
                "returned unknown instance id "
                f"'{instance_id}'"
            )
        if instance_id in seen:
            raise ValueError(
                f"ChannelPlugin.management.feature_instances for '{plugin.name}' "
                "returned duplicate instance id "
                f"'{instance_id}'"
            )
        seen.add(instance_id)
        for field in ("name", "display_name", "avatar_url"):
            if field in override:
                by_id[instance_id][field] = str(override[field] or "")
    return instances


def refresh_channel_feature_metadata(
    channel_cls: type[Any],
    config_path: Path,
    *,
    instance_id: str = "default",
) -> bool:
    return bool(channel_cls.refresh_feature_metadata(config_path, instance_id=instance_id))

View on GitHub (pinned to 42f37dc4c0)

When it happens

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