claude-code - 💡(How to fix) Fix Auto-updater silently downgrades binary when current version exceeds stable channel head (2.1.143 → 2.1.133 revert on Windows)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

On Windows, after a one-time force-install of CC 2.1.143 with autoUpdatesChannel: "stable" left unchanged, the bridge binary at ~/.local/bin/claude.exe silently reverted 2.1.143 → 2.1.133 within ~80 minutes. The stable channel head was 2.1.133 at the time. Setting autoUpdatesChannel: "latest" + minimumVersion: "2.1.143" stopped the revert; a 13-tick / 60-minute watcher confirmed stickiness after the change.

The observed behavior is consistent with the auto-updater enforcing current_binary == channel_head on a timer (force-downgrade when current > head), not the expected upgrade-only-forward (current >= head).

Root Cause

On Windows, after a one-time force-install of CC 2.1.143 with autoUpdatesChannel: "stable" left unchanged, the bridge binary at ~/.local/bin/claude.exe silently reverted 2.1.143 → 2.1.133 within ~80 minutes. The stable channel head was 2.1.133 at the time. Setting autoUpdatesChannel: "latest" + minimumVersion: "2.1.143" stopped the revert; a 13-tick / 60-minute watcher confirmed stickiness after the change.

The observed behavior is consistent with the auto-updater enforcing current_binary == channel_head on a timer (force-downgrade when current > head), not the expected upgrade-only-forward (current >= head).

Fix Action

Workaround

// ~/.claude/settings.json and ~/.claude/settings.local.json
{
  "autoUpdatesChannel": "latest",
  "minimumVersion": "2.1.143"
}
RAW_BUFFERClick to expand / collapse

Summary

On Windows, after a one-time force-install of CC 2.1.143 with autoUpdatesChannel: "stable" left unchanged, the bridge binary at ~/.local/bin/claude.exe silently reverted 2.1.143 → 2.1.133 within ~80 minutes. The stable channel head was 2.1.133 at the time. Setting autoUpdatesChannel: "latest" + minimumVersion: "2.1.143" stopped the revert; a 13-tick / 60-minute watcher confirmed stickiness after the change.

The observed behavior is consistent with the auto-updater enforcing current_binary == channel_head on a timer (force-downgrade when current > head), not the expected upgrade-only-forward (current >= head).

Environment

  • OS: Windows 11 Pro 26300, pwsh 7.6.1
  • Binary path: C:\Users\<u>\.local\bin\claude.exe
  • Install vector: iex (irm https://claude.ai/install.ps1) 2.1.143
  • Channel before fix: stable (head = 2.1.133)
  • Channel after fix: latest + minimumVersion: "2.1.143"

Timeline (2026-05-17 EDT)

TimeEvent
13:10:42Manual install of 2.1.143. SHA256 e480244f…69eb6, size 228,902,560. --version2.1.143 (Claude Code). autoUpdatesChannel left "stable".
~14:30Observed --version2.1.133. SHA on disk = 2.1.133's SHA (ba4c4196…4016e). No user install ran between 13:10 and 14:30.
~15:00~/.claude/settings.json + ~/.claude/settings.local.json: autoUpdatesChannel"latest", added minimumVersion: "2.1.143".
~15:00Binary re-upgraded to 2.1.143 automatically, before any manual install command ran.
15:30Manual reinstall as belt-and-suspenders; SHA unchanged.
15:58 → 16:58Watcher script probed binary every 5 min for 60 min (13 ticks). All ticks verdict=OK; SHA, size, and --version constant.

Expected

A binary at a version higher than the active channel head should not be downgraded silently.

Actual

Binary was downgraded to channel head despite being newer.

Workaround

// ~/.claude/settings.json and ~/.claude/settings.local.json
{
  "autoUpdatesChannel": "latest",
  "minimumVersion": "2.1.143"
}

Asks

  1. Confirm whether the updater intentionally enforces current == channel_head on stable.
  2. If unintentional: patch to forward-only semantics on stable.
  3. If intentional: document explicitly that stable will downgrade a higher-version binary to head, so users running off-channel forces understand the contract.

Related

Prior issue #59450 (Round-17 stability diagnostic, 2.1.142 upgrade, dispatch-path version-split).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Auto-updater silently downgrades binary when current version exceeds stable channel head (2.1.143 → 2.1.133 revert on Windows)