NousResearch/hermes-agent · error · ValueError

monitor_script and monitor_url are mutually exclusive — a jo

Error message

monitor_script and monitor_url are mutually exclusive — a job can only have one monitor source.

What it means

Error "monitor_script and monitor_url are mutually exclusive — a job can only have one monitor source." thrown in NousResearch/hermes-agent.

Source

Thrown at cron/jobs.py:1552

        _normalize_job_optional_text(job.get("base_url"), strip_trailing_slash=True),
        bool(job.get("no_agent")),
    )


def _validate_job_mode_invariants(
    monitor_script: Optional[str],
    monitor_url: Optional[str],
    no_agent: bool,
    script: Optional[str],
) -> None:
    """Shared create/update validation for job execution-mode invariants.

    ONE owner for the class: create_job and update_job both call this so an
    invariant enforced at create time cannot be violated through the update
    door (monitor jobs silently degrading when no_agent is flipped on, etc.).
    """
    if monitor_script and monitor_url:
        raise ValueError(
            "monitor_script and monitor_url are mutually exclusive — a job "
            "can only have one monitor source."
        )
    if (monitor_script or monitor_url) and no_agent:
        raise ValueError(
            "monitor_script/monitor_url cannot be combined with no_agent=True — "
            "the whole point of a monitor job is to suppress or wake the AGENT "
            "based on source changes. Use a plain no_agent script job instead."
        )
    if no_agent and not script:
        raise ValueError(
            "no_agent=True requires a script — with no agent and no script "
            "there is nothing for the job to run."
        )


def create_job(
    prompt: Optional[str],

View on GitHub (pinned to c896c09c42)

Solutions

  1. Configure only one monitor source: monitor_script or monitor_url, not both.

When it happens

Trigger: Thrown at cron/jobs.py:1552 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/0536d4ccc9546d3b. Report an issue: GitHub.