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.