OpenBMB/ChatDev · error · RuntimeError

HumanPromptService is not configured; cannot execute human n

Error message

HumanPromptService is not configured; cannot execute human node

What it means

Executing a human node requires a HumanPromptService (delivered via context.get_human_prompt_service()) to ask the reviewer; when it is None the executor cannot solicit input and raises RuntimeError.

Source

Thrown at runtime/node/executor/human_executor.py:42

        Returns:
            Result supplied by the human reviewer
        """
        self._ensure_not_cancelled()
        if node.node_type != "human":
            raise ValueError(f"Node {node.id} is not a human node")
        
        human_config = node.as_config(HumanConfig)
        if not human_config:
            raise ValueError(f"Node {node.id} has no human configuration")
        
        human_task_description = human_config.description
        # Use prompt-style preview so humans see the same flattened text format
        # instead of raw message JSON.
        input_data = self._inputs_to_text(inputs)

        prompt_service = self.context.get_human_prompt_service()
        if prompt_service is None:
            raise RuntimeError("HumanPromptService is not configured; cannot execute human node")

        prompt_result = prompt_service.request(
            node.id,
            human_task_description or "",
            inputs=input_data,
            metadata={"node_type": "human"},
        )

        return [self._build_message(
            MessageRole.USER,
            prompt_result.as_message_content(),
            source=node.id,
        )]

View on GitHub (pinned to 4fb2db0ea9)

Solutions

  1. Configure a HumanPromptService on the runtime context (web UI, Slack, CLI prompt) before running human nodes
  2. Remove the human node for automated/headless runs or replace it with an auto-approve stub
  3. Fail fast at workflow validation time if any human node exists without a prompt service
Defensive patterns

Strategy: validation

Validate before calling

if any(n.node_type == 'human' for n in workflow.nodes):
    assert context.get_human_prompt_service() is not None, 'HumanPromptService required'

Prevention

When it happens

Trigger: Running a workflow containing a 'human' node when the runtime context was built without a HumanPromptService (CLI/batch run, misconfigured server).

Common situations: CI runs executing human-node workflows headlessly; server deployment missing the prompt-service wiring; running the same graph in an environment where human-in-the-loop was never set up.

Related errors


AI-assisted analysis of OpenBMB/ChatDev@4fb2db0ea9 (2026-08-27). Data as JSON: /api/errors/f3861d6cae52d035. Report an issue: GitHub.