github/spec-kit · error · ValueError
Extension ID mismatch: expected '{extension_id}', got '{zip_
Error message
Extension ID mismatch: expected '{extension_id}', got '{zip_extension_id}' What it means
Error "Extension ID mismatch: expected '{extension_id}', got '{zip_extension_id}'" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/extensions/_commands.py:2005
"expected 'extension' mapping"
)
# Run the same manifest and compatibility validation as a
# normal install while the existing extension is still
# untouched. Reuse the exact bounded bytes selected above.
with tempfile.TemporaryDirectory(
prefix="speckit-update-manifest-"
) as manifest_tmpdir:
manifest_file = Path(manifest_tmpdir) / "extension.yml"
manifest_file.write_bytes(manifest_bytes)
preflight_manifest = ExtensionManifest(manifest_file)
manager.check_compatibility(
preflight_manifest, speckit_version
)
zip_extension_id = preflight_manifest.id
if zip_extension_id != extension_id:
raise ValueError(
f"Extension ID mismatch: expected '{extension_id}', got '{zip_extension_id}'"
)
expected_version = pkg_version.Version(update["available"])
archive_version = pkg_version.Version(
preflight_manifest.version
)
if archive_version != expected_version:
raise ValueError(
"Extension version mismatch: "
f"expected '{update['available']}', "
f"got '{preflight_manifest.version}'"
)
# Match the remaining deterministic install validation
# before crossing the destructive boundary. The helper
# excludes this extension's current registry entry while
# still detecting namespace, core, duplicate, andView on GitHub (pinned to bf88c9f9a8)
Solutions
- Publish the archive whose extension id matches the requested id, or request the id the archive actually provides.
When it happens
Trigger: Thrown at src/specify_cli/extensions/_commands.py:2005 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/6dd8a5673a40357f.
Report an issue: GitHub.