{"record":{"id":"4b59cac779464145","repo":"github/spec-kit","slug":"extension-version-mismatch-expected-update-ava","errorCode":null,"errorMessage":"Extension version mismatch: expected '{update['available']}', got '{preflight_manifest.version}'","messagePattern":"Extension version mismatch: expected '(.+?)', got '(.+?)'","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/extensions/_commands.py","lineNumber":2014,"sourceCode":"                        manifest_file = Path(manifest_tmpdir) / \"extension.yml\"\n                        manifest_file.write_bytes(manifest_bytes)\n                        preflight_manifest = ExtensionManifest(manifest_file)\n                        manager.check_compatibility(\n                            preflight_manifest, speckit_version\n                        )\n\n                    zip_extension_id = preflight_manifest.id\n                    if zip_extension_id != extension_id:\n                        raise ValueError(\n                            f\"Extension ID mismatch: expected '{extension_id}', got '{zip_extension_id}'\"\n                        )\n\n                    expected_version = pkg_version.Version(update[\"available\"])\n                    archive_version = pkg_version.Version(\n                        preflight_manifest.version\n                    )\n                    if archive_version != expected_version:\n                        raise ValueError(\n                            \"Extension version mismatch: \"\n                            f\"expected '{update['available']}', \"\n                            f\"got '{preflight_manifest.version}'\"\n                        )\n\n                    # Match the remaining deterministic install validation\n                    # before crossing the destructive boundary. The helper\n                    # excludes this extension's current registry entry while\n                    # still detecting namespace, core, duplicate, and\n                    # cross-extension command conflicts.\n                    manager._validate_install_conflicts(preflight_manifest)\n\n                    new_command_names = list(\n                        manager._collect_manifest_command_names(\n                            preflight_manifest\n                        )\n                    )\n                    new_skill_names = list(","sourceCodeStart":1996,"sourceCodeEnd":2032,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/extensions/_commands.py#L1996-L2032","documentation":"Error \"Extension version mismatch: expected '{update['available']}', got '{preflight_manifest.version}'\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/extensions/_commands.py:2014 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the catalog 'available' version or the archive manifest version so they match, then retry the update."],"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"}