github/spec-kit · error · ValidationError
{kind.capitalize()} '{name}' must use extension namespace '{
Error message
{kind.capitalize()} '{name}' must use extension namespace '{manifest.id}' What it means
Error "{kind.capitalize()} '{name}' must use extension namespace '{manifest.id}'" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/extensions/__init__.py:1139
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;
# aliases are free-form to preserve community extension compat.
if kind == "command":
match = EXTENSION_COMMAND_NAME_PATTERN.match(name)
if match is None:
raise ValidationError(
f"Invalid {kind} '{name}': "
"must follow pattern 'speckit.{extension}.{command}'"
)
namespace = match.group(1)
if namespace != manifest.id:
raise ValidationError(
f"{kind.capitalize()} '{name}' must use extension namespace '{manifest.id}'"
)
if namespace in CORE_COMMAND_NAMES:
raise ValidationError(
f"{kind.capitalize()} '{name}' conflicts with core command namespace '{namespace}'"
)
if name in declared_names:
raise ValidationError(
f"Duplicate command or alias '{name}' in extension manifest"
)
declared_names[name] = kind
return declared_names
def _get_installed_command_name_map(View on GitHub (pinned to bf88c9f9a8)
Solutions
- Rename the command/alias so its namespace segment matches the extension id.
When it happens
Trigger: Thrown at src/specify_cli/extensions/__init__.py:1139 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/3eaed5ea9d8e508e.
Report an issue: GitHub.