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, and

View on GitHub (pinned to bf88c9f9a8)

Solutions

  1. 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.