{"record":{"id":"3478345abde6eb2b","repo":"github/spec-kit","slug":"duplicate-command-or-alias-name-in-extension-m","errorCode":null,"errorMessage":"Duplicate command or alias '{name}' in extension manifest","messagePattern":"Duplicate command or alias '(.+?)' in extension manifest","errorType":"validation","errorClass":"ValidationError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/extensions/__init__.py","lineNumber":1149,"sourceCode":"                    if match is None:\n                        raise ValidationError(\n                            f\"Invalid {kind} '{name}': \"\n                            \"must follow pattern 'speckit.{extension}.{command}'\"\n                        )\n\n                    namespace = match.group(1)\n                    if namespace != manifest.id:\n                        raise ValidationError(\n                            f\"{kind.capitalize()} '{name}' must use extension namespace '{manifest.id}'\"\n                        )\n\n                    if namespace in CORE_COMMAND_NAMES:\n                        raise ValidationError(\n                            f\"{kind.capitalize()} '{name}' conflicts with core command namespace '{namespace}'\"\n                        )\n\n                if name in declared_names:\n                    raise ValidationError(\n                        f\"Duplicate command or alias '{name}' in extension manifest\"\n                    )\n\n                declared_names[name] = kind\n\n        return declared_names\n\n    def _get_installed_command_name_map(\n        self,\n        exclude_extension_id: Optional[str] = None,\n    ) -> Dict[str, str]:\n        \"\"\"Return registered command and alias names for installed extensions.\"\"\"\n        installed_names: Dict[str, str] = {}\n\n        for ext_id in self.registry.keys():\n            if ext_id == exclude_extension_id:\n                continue\n","sourceCodeStart":1131,"sourceCodeEnd":1167,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/extensions/__init__.py#L1131-L1167","documentation":"Error \"Duplicate command or alias '{name}' in extension manifest\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/extensions/__init__.py:1149 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the duplicate command or alias name from the extension manifest so each name is unique."],"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"}