UV checksum mismatch on ARM64 Windows blocks all UV-type extension installs

Resolved 💬 2 comments Opened Mar 10, 2026 by rgknight Closed Mar 13, 2026

Bug Description

Installing any UV-type desktop extension on ARM64 Windows fails with a checksum mismatch error. The hardcoded expected hash for uv-aarch64-pc-windows-msvc.zip v0.9.7 does not match the actual file on GitHub.

Error Message

Extension Installation Failed The extension could not be installed due to the following error: Checksum mismatch! Expected 9cb5dd8a0f8a72d803a9010ea9f65d05faf1dddb5c7e4cbdb72e49fac8fb4f49, got 4482ad2544544e1966b6d933d38e27368ce0307739d293322c10459f698a1629

Root Cause

Claude Desktop downloads UV 0.9.7 from:
https://github.com/astral-sh/uv/releases/download/0.9.7/uv-aarch64-pc-windows-msvc.zip

The actual SHA-256 of that file is 4482ad2544544e1966b6d933d38e27368ce0307739d293322c10459f698a1629, but Claude Desktop expects 9cb5dd8a0f8a72d803a9010ea9f65d05faf1dddb5c7e4cbdb72e49fac8fb4f49.

This blocks installation of all UV-type extensions on ARM64 Windows, not just ours.

Reproduction Steps

  1. Use an ARM64 Windows machine (e.g. Snapdragon laptop)
  2. Build any UV-type .mcpb extension (server.type: "uv" in manifest)
  3. Drag .mcpb into Claude Desktop Settings
  4. Installation reaches ~19.5 MB (the UV binary download) then fails with checksum mismatch

Log Evidence

From %APPDATA%/Claude/logs/main.log:

[UV Discovery] Searching for system UV installation...
[UV Discovery] System UV not found, downloading bundled version...
[UV Discovery] Downloading UV 0.9.7 for win32-arm64...
[download:2] Starting download from https://github.com/astral-sh/uv/releases/download/0.9.7/uv-aarch64-pc-windows-msvc.zip
[UV Discovery] Verifying download integrity...

Workaround

Installing UV system-wide (e.g. winget install astral-sh.uv) bypasses the download since Claude Desktop checks for a system UV first.

Environment

  • Claude Desktop v1.1.5749 (Windows)
  • ARM64 Windows (Snapdragon)
  • mcpb v2.1.2
  • Manifest version 0.4

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗