{"record":{"id":"d5ea01ee44efc4a2","repo":"microsoft/autogen","slug":"at-least-two-participants-are-required-for-selecto","errorCode":null,"errorMessage":"At least two participants are required for SelectorGroupChat.","messagePattern":"At least two participants are required for SelectorGroupChat\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_selector_group_chat.py","lineNumber":638,"sourceCode":"        emit_team_events: bool = False,\n        model_client_streaming: bool = False,\n        model_context: ChatCompletionContext | None = None,\n    ):\n        super().__init__(\n            name=name or self.DEFAULT_NAME,\n            description=description or self.DEFAULT_DESCRIPTION,\n            participants=participants,\n            group_chat_manager_name=\"SelectorGroupChatManager\",\n            group_chat_manager_class=SelectorGroupChatManager,\n            termination_condition=termination_condition,\n            max_turns=max_turns,\n            runtime=runtime,\n            custom_message_types=custom_message_types,\n            emit_team_events=emit_team_events,\n        )\n        # Validate the participants.\n        if len(participants) < 2:\n            raise ValueError(\"At least two participants are required for SelectorGroupChat.\")\n        self._selector_prompt = selector_prompt\n        self._model_client = model_client\n        self._allow_repeated_speaker = allow_repeated_speaker\n        self._selector_func = selector_func\n        self._max_selector_attempts = max_selector_attempts\n        self._candidate_func = candidate_func\n        self._model_client_streaming = model_client_streaming\n        self._model_context = model_context\n\n    def _create_group_chat_manager_factory(\n        self,\n        name: str,\n        group_topic_type: str,\n        output_topic_type: str,\n        participant_topic_types: List[str],\n        participant_names: List[str],\n        participant_descriptions: List[str],\n        output_message_queue: asyncio.Queue[BaseAgentEvent | BaseChatMessage | GroupChatTermination],","sourceCodeStart":620,"sourceCodeEnd":656,"githubUrl":"https://github.com/microsoft/autogen/blob/027ecf0a379bcc1d09956d46d12d44a3ad9cee14/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_selector_group_chat.py#L620-L656","documentation":"SelectorGroupChat.__init__ raises ValueError when fewer than two participants are provided. Speaker selection between multiple agents is the team's entire purpose; with one agent there is nothing to select, so construction is rejected (use the agent or a different team type).","triggerScenarios":"SelectorGroupChat(participants=[single_agent], model_client=client); a dynamically built list that ends up with one element.","commonSituations":"Degenerate config files or filtered agent pools producing a single participant; prototyping with one agent before adding more.","solutions":["Provide at least two participants to SelectorGroupChat.","If you genuinely have one agent, run the agent directly (agent.run_stream) or use a single-agent setup instead of SelectorGroupChat.","Validate len(participants) >= 2 in your team-building code before construction."],"exampleFix":"# before\nteam = SelectorGroupChat(participants=[assistant], model_client=client)  # ValueError\n\n# after\nteam = SelectorGroupChat(participants=[assistant, reviewer], model_client=client)","handlingStrategy":"validation","validationCode":"if len(participants) < 2:\n    raise ValueError(\"SelectorGroupChat needs >= 2 participants\")\nteam = SelectorGroupChat(participants=participants, model_client=client)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Guard dynamic participant construction with a minimum-count check.","For single-agent workflows, call the agent directly instead of a selector team."],"tags":["autogen","selector","participants","validation"],"backgroundTag":null,"analyzedSha":"027ecf0a379bcc1d09956d46d12d44a3ad9cee14","analyzedAt":"2026-08-15T03:38:00.719Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}