NousResearch/hermes-agent · error · AmbiguousJobReference

Job name '{ref}' is ambiguous — matches {len(matches)} jobs:

Error message

Job name '{ref}' is ambiguous — matches {len(matches)} jobs: {ids}. Use the job ID instead.

What it means

Error "Job name '{ref}' is ambiguous — matches {len(matches)} jobs: {ids}. Use the job ID instead." thrown in NousResearch/hermes-agent.

Source

Thrown at cron/jobs.py:1836

    """Resolve a job reference (ID or name) to a job record.

    - Exact ID match wins (works even if a different job's name equals this ID).
    - Otherwise, case-insensitive name match.
    - If a name matches more than one job, raises AmbiguousJobReference so the
      caller can surface the matching IDs rather than silently picking one.
    """
    if not ref:
        return None
    jobs = load_jobs()
    for job in jobs:
        if job["id"] == ref:
            return _normalize_job_record(job)
    ref_lower = ref.lower()
    name_matches = [j for j in jobs if (j.get("name") or "").lower() == ref_lower]
    if not name_matches:
        return None
    if len(name_matches) > 1:
        raise AmbiguousJobReference(
            ref, [_normalize_job_record(j) for j in name_matches]
        )
    return _normalize_job_record(name_matches[0])


def list_jobs(include_disabled: bool = False) -> List[Dict[str, Any]]:
    """List all jobs, optionally including disabled ones."""
    jobs = [_normalize_job_record(j) for j in load_jobs()]
    if not include_disabled:
        jobs = [j for j in jobs if j.get("enabled", True)]
    try:
        from cron.executions import latest_executions

        latest = latest_executions([job.get("id", "") for job in jobs])
    except Exception:
        latest = {}
    for job in jobs:
        job["latest_execution"] = latest.get(job.get("id", ""))

View on GitHub (pinned to c896c09c42)

Solutions

  1. Use the job ID instead of the ambiguous name.
  2. Rename jobs so names are unique.

When it happens

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