NousResearch/hermes-agent · error · RuntimeError

MoA aggregator cannot be another MoA preset

Error message

MoA aggregator cannot be another MoA preset

What it means

Error "MoA aggregator cannot be another MoA preset" thrown in NousResearch/hermes-agent.

Source

Thrown at agent/moa_loop.py:1757

        ephemeral advisor result.  Reusing the guidance avoids a second costly
        fan-out while keeping the aggregator request aligned with the compacted
        history.
        """
        guidance = prepared.get("guidance")
        agg_messages = [dict(message) for message in messages]
        if guidance:
            _attach_reference_guidance(agg_messages, str(guidance))
        return {**prepared, "messages": agg_messages}

    def _call_prepared_aggregator(
        self, prepared: dict[str, Any], api_kwargs: dict[str, Any]
    ) -> Any:
        """Send an already prepared MoA aggregator request exactly once."""
        agg_messages = prepared["messages"]
        aggregator = prepared["aggregator"]
        aggregator_temperature = prepared["aggregator_temperature"]
        if aggregator.get("provider") == "moa":
            raise RuntimeError("MoA aggregator cannot be another MoA preset")
        agg_kwargs = dict(api_kwargs)
        max_tokens: Any = agg_kwargs.get("max_tokens")
        tools: Any = agg_kwargs.get("tools")
        extra_body: Any = agg_kwargs.get("extra_body")
        agg_runtime = _slot_runtime(aggregator)
        try:
            from agent.agent_runtime_helpers import (
                plan_cache_sections_for_destination,
            )

            guidance = prepared.get("guidance")
            planning_messages = agg_messages
            if guidance:
                planning_messages = peel_reference_guidance(
                    agg_messages,
                    str(guidance),
                )
            # plan_cache_sections_for_destination never mutates its inputs

View on GitHub (pinned to c896c09c42)

Solutions

  1. Choose a non-MoA model/preset as the aggregator.
  2. Flatten the MoA configuration so the aggregator is a plain model.

When it happens

Trigger: Thrown at agent/moa_loop.py:1757 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/f0fc16673df81f2e. Report an issue: GitHub.