Skip to content

Duplicate 'skills' subparser causes crash on Python 3.11+ #898

@Czarekkk

Description

@Czarekkk

Bug

hermes crashes immediately on startup with:

argparse.ArgumentError: argument command: conflicting subparser: skills

Root Cause

In hermes_cli/main.py, the "skills" subparser name is registered twice on the same subparsers object:

  1. Line ~2253 — Skills Hub (browse, search, install, inspect, list, audit, uninstall, publish, snapshot), importing from hermes_cli.skills_hub
  2. Line ~2334 — Skills config (interactive enable/disable), importing from hermes_cli.skills_config

Both call subparsers.add_parser("skills", ...).

Python 3.11 changed argparse to raise an exception on duplicate subparser names instead of silently overwriting (see CPython #94331). Since the project requires >=3.11, this bug affects all supported Python versions.

Suggested Fix

Rename the second subparser from "skills" to "skills-config" (or integrate it as a sub-action of the first, e.g. hermes skills config).

Environment

  • macOS (Apple Silicon)
  • Python 3.11.14 (installed via uv)
  • Fresh install of hermes-agent

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions