{"record":{"id":"6a8cf22cd6d3737d","repo":"github/spec-kit","slug":"aliases-for-command-primary-name-must-be-a-lis","errorCode":null,"errorMessage":"Aliases for command '{primary_name}' must be a list","messagePattern":"Aliases for command '(.+?)' must be a list","errorType":"validation","errorClass":"ValidationError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/extensions/__init__.py","lineNumber":1109,"sourceCode":"\n        Raises:\n            ValidationError: If any declared name is invalid\n        \"\"\"\n        if manifest.id in CORE_COMMAND_NAMES:\n            raise ValidationError(\n                f\"Extension ID '{manifest.id}' conflicts with core command namespace '{manifest.id}'\"\n            )\n\n        declared_names: Dict[str, str] = {}\n\n        for cmd in manifest.commands:\n            primary_name = cmd[\"name\"]\n            aliases = cmd.get(\"aliases\", [])\n\n            if aliases is None:\n                aliases = []\n            if not isinstance(aliases, list):\n                raise ValidationError(\n                    f\"Aliases for command '{primary_name}' must be a list\"\n                )\n\n            for kind, name in [(\"command\", primary_name)] + [\n                (\"alias\", alias) for alias in aliases\n            ]:\n                if not isinstance(name, str):\n                    raise ValidationError(\n                        f\"{kind.capitalize()} for command '{primary_name}' must be a string\"\n                    )\n\n                path_reason = relative_extension_path_violation(name)\n                if path_reason:\n                    raise ValidationError(\n                        f\"Invalid {kind} {name!r}: {path_reason}\"\n                    )\n\n                # Enforce canonical pattern only for primary command names;","sourceCodeStart":1091,"sourceCodeEnd":1127,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/extensions/__init__.py#L1091-L1127","documentation":"Error \"Aliases for command '{primary_name}' must be a list\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/extensions/__init__.py:1109 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["In the extension manifest, make the 'aliases' value for this command a YAML list of strings."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c","analyzedAt":"2026-08-14T19:43:37.150Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}