github/spec-kit · error · CompatibilityError
Extension requires spec-kit {required}, but {speckit_version
Error message
Extension requires spec-kit {required}, but {speckit_version} is installed.\nUpgrade spec-kit with: {REINSTALL_COMMAND} What it means
Error "Extension requires spec-kit {required}, but {speckit_version} is installed.\nUpgrade spec-kit with: {REINSTALL_COMMAND}" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/extensions/__init__.py:2039
# Parse version specifier (e.g., ">=0.1.0,<2.0.0")
# Defense in depth: the manifest validator now rejects a non-string
# requires.speckit_version, but this method is public and also reachable
# with a hand-built manifest object. ``InvalidSpecifier`` alone does not
# cover a non-string -- scalars raise TypeError from the constructor, and
# a list/dict is iterable so it constructs here and only breaks inside
# .contains(). Reject up front so this always reports a CompatibilityError.
if not isinstance(required, str):
raise CompatibilityError(
"Invalid version specifier: expected a string, got "
f"{type(required).__name__} ({required!r})"
)
try:
SpecifierSet(required) # Just to validate
except InvalidSpecifier:
raise CompatibilityError(f"Invalid version specifier: {required}")
if not version_satisfies(speckit_version, required):
raise CompatibilityError(
f"Extension requires spec-kit {required}, "
f"but {speckit_version} is installed.\n"
f"Upgrade spec-kit with: {REINSTALL_COMMAND}"
)
return True
def install_from_directory(
self,
source_dir: Path,
speckit_version: str,
register_commands: bool = True,
priority: int = 10,
link_commands: bool = False,
force: bool = False,
) -> ExtensionManifest:
"""Install extension from a local directory.
View on GitHub (pinned to bf88c9f9a8)
Solutions
- Upgrade spec-kit with the printed reinstall command, or install an extension version compatible with the installed spec-kit.
When it happens
Trigger: Thrown at src/specify_cli/extensions/__init__.py:2039 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/4fb604c79ab0c6dd.
Report an issue: GitHub.