Claude Desktop Squirrel auto-updater fails code signature validation on macOS 26 Tahoe (SQRLCodeSignatureErrorDomain)
Description
Claude Desktop's Squirrel auto-updater consistently fails code signature validation when checking for updates on macOS 26 Tahoe. The update is downloaded and extracted to the ShipIt cache, but codesign validation of the staged .app bundle rejects it with SQRLCodeSignatureErrorDomain — "a sealed resource is missing or invalid."
The installed app itself passes all signature checks (codesign -vvv and spctl -a). Only the update staging pipeline is affected.
Error
Auto-update error: [Error: Code signature at URL
file:///Users/.../Library/Caches/com.anthropic.claudefordesktop.ShipIt/update.<random>/Claude.app/
did not pass validation: a sealed resource is missing or invalid] {
code: -1,
domain: 'SQRLCodeSignatureErrorDomain'
}
Timeline (proving this is server-side, not a macOS update)
| Date | Event |
|------|-------|
| Mar 10 | macOS 26.3.1 installed — no signature errors for 19 days |
| Mar 28 | Claude Desktop v1.1.9310 — update checks succeed, no errors |
| Mar 29 18:41 | First signature error appears — Anthropic pushed a new update candidate |
| Mar 30 09:07 | ShipIt installed v1.1.9493 (ShipIt has separate validation from Squirrel) |
| Mar 31 | Clean reinstall from official download — error persists on next update check |
The macOS version has not changed since March 10. The error began March 29 when Anthropic's update server started serving a new update package.
Steps to reproduce
- Run Claude Desktop v1.1.9493 on macOS 26.3.1 (arm64)
- Wait for auto-update check (every ~60 min, controlled by GrowthBook
check_interval_ticks) - Observe
Auto-update errorin~/Library/Logs/Claude/main.log
Attempted fixes (none resolved it)
- Cleared ShipIt cache (
rm -rf ~/Library/Caches/com.anthropic.claudefordesktop.ShipIt/) - Clean reinstall from official download ZIP (HTTP/1.1, verified signature before installing)
- Verified installed app:
codesign -vvv --deep→ valid,spctl -a -vvv→ Notarized Developer ID
Likely cause
The Squirrel update package served by https://api.anthropic.com/api/desktop/darwin/universal/squirrel/update contains a .app bundle whose code signature uses a format that macOS 26 Tahoe's stricter Apple System Policy enforcement rejects. This is consistent with #20407 (obsolete resource envelope on macOS 26 beta) and #13463 (auto-updates disabled on Tahoe 26.1).
The installed app (from the direct download ZIP) passes validation, so the issue is specific to how the Squirrel update delta/package is signed or packaged.
Impact
- Auto-updates are non-functional — error recurs every update check cycle
- Non-blocking: the app itself works fine
- Users on macOS 26 cannot receive automatic updates and must manually download
Environment
- macOS: 26.3.1 (Build 25D2128), arm64 (Mac16,8)
- Claude Desktop: 1.1.9493
- Update URL:
https://api.anthropic.com/api/desktop/darwin/universal/squirrel/update
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗