github/spec-kit · error · ValidationError

Aliases for command '{primary_name}' must be a list

Error message

Aliases for command '{primary_name}' must be a list

What it means

Error "Aliases for command '{primary_name}' must be a list" thrown in github/spec-kit.

Source

Thrown at src/specify_cli/extensions/__init__.py:1109

        Raises:
            ValidationError: If any declared name is invalid
        """
        if manifest.id in CORE_COMMAND_NAMES:
            raise ValidationError(
                f"Extension ID '{manifest.id}' conflicts with core command namespace '{manifest.id}'"
            )

        declared_names: Dict[str, str] = {}

        for cmd in manifest.commands:
            primary_name = cmd["name"]
            aliases = cmd.get("aliases", [])

            if aliases is None:
                aliases = []
            if not isinstance(aliases, list):
                raise ValidationError(
                    f"Aliases for command '{primary_name}' must be a list"
                )

            for kind, name in [("command", primary_name)] + [
                ("alias", alias) for alias in aliases
            ]:
                if not isinstance(name, str):
                    raise ValidationError(
                        f"{kind.capitalize()} for command '{primary_name}' must be a string"
                    )

                path_reason = relative_extension_path_violation(name)
                if path_reason:
                    raise ValidationError(
                        f"Invalid {kind} {name!r}: {path_reason}"
                    )

                # Enforce canonical pattern only for primary command names;

View on GitHub (pinned to bf88c9f9a8)

Solutions

  1. In the extension manifest, make the 'aliases' value for this command a YAML list of strings.

When it happens

Trigger: Thrown at src/specify_cli/extensions/__init__.py:1109 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14). Data as JSON: /api/errors/6a8cf22cd6d3737d. Report an issue: GitHub.