NousResearch/hermes-agent · error · ValueError

Bundle name {name!r} normalizes to an empty slug

Error message

Bundle name {name!r} normalizes to an empty slug

What it means

Error "Bundle name {name!r} normalizes to an empty slug" thrown in NousResearch/hermes-agent.

Source

Thrown at agent/skill_bundles.py:380

    if user_instruction:
        header_lines.extend(
            ["", f"User instruction: {user_instruction}"]
        )

    header = "\n".join(header_lines)
    return ("\n\n".join([header, *skill_blocks]), loaded_names, missing)


# ---------------------------------------------------------------------------
# File-level CRUD helpers — used by `hermes bundles` CLI subcommand.
# ---------------------------------------------------------------------------


def bundle_path_for(name: str) -> Path:
    """Return the canonical filesystem path for a bundle name."""
    slug = _slugify(name)
    if not slug:
        raise ValueError(f"Bundle name {name!r} normalizes to an empty slug")
    return _bundles_dir() / f"{slug}.yaml"


def save_bundle(
    name: str,
    skills: List[str],
    description: str = "",
    instruction: str = "",
    overwrite: bool = False,
) -> Path:
    """Write a bundle to disk and invalidate the cache.

    Raises ``FileExistsError`` if the target exists and ``overwrite`` is
    False. Raises ``ValueError`` if the inputs are unusable.
    """
    name = (name or "").strip()
    if not name:
        raise ValueError("Bundle name is required")

View on GitHub (pinned to c896c09c42)

Solutions

  1. Choose a bundle name that keeps at least one alphanumeric character after normalization.

When it happens

Trigger: Thrown at agent/skill_bundles.py:380 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/8de2fbaec50df8d9. Report an issue: GitHub.