[BUG] `Update available` banner suggests brew upgrade when `brew cask` is already at latest

Status Fixed / completed
Reported on v2.1.68
Maintainer reply ✓ Yes — ashwin-ant
Activity 13 comments · opened Mar 4, 2026 · closed Apr 18, 2026
💡 Likely answer: A maintainer (ashwin-ant, collaborator) responded on this thread — see the highlighted reply below.

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The CLI persistently shows:

Update available! Run: brew upgrade claude-code

Running brew upgrade claude-code returns:

Warning: Not upgrading claude-code, the latest version is already installed

brew info claude-code confirms the installed version matches the latest available cask version. The CLI's internal version check appears to compare against a newer release (presumably npm?) that the brew cask hasn't published yet.

What Should Happen?

The banner should either:

  • Not appear when the install method's latest version is already installed
  • Suggest the correct upgrade path for the detected install method (e.g., npm install -g @anthropic-ai/claude-code if brew is behind)
  • Include the target version number so the user can assess whether it matters

Environment:

  • claude-code 2.1.68 (installed via brew cask)
  • macOS (Apple Silicon)
  • brew cask also reports 2.1.68 as latest

Error Messages/Logs

Steps to Reproduce

Type brew info claude-code into a terminal?

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.68 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

13 Comments

weeweefinch · 5 months ago

IMO this isn't a bug. give it a week, brew can lag a couple days from release and npm.

kaplanoah · 5 months ago
IMO this isn't a bug. give it a week, brew can lag a couple days from release and npm.

Disagree. "If the user thinks it's a bug, it's a bug." Don't say "Update available!" until the actual update is available. This is one of the more annoying and manual parts of using Claude Code

LewisJEllis · 5 months ago

<img width="1360" height="492" alt="Image" src="https://github.com/user-attachments/assets/045279d5-8779-4477-aa71-7d136fe214fb" />

Yea, this is a bug. It recurs with every update for a few hours from when npm publish happens to when brew catches up. With increasingly frequent updates, it's becoming increasingly annoying; "just wait a bit" is not a resolution to "The user is often being instructed to do something which will have no effect". If brew upgrade claude-code will not have any effect, the banner should not tell the user to run it.

For brew installations, just do the version check against brew instead of npm.

centricle · 5 months ago

OP here: This honestly feels like a security issue. If I'm being trained to disregard upgrade alerts, I mean... c'mon, right?

rumeshmadhusanka · 5 months ago

I can only see v2.1.81 even though v2.1.89 is released :(

theanadimukt · 5 months ago

I am having the same issue. Claude code documentation Chagelog page shows 2.1.90 as a latest version while Homebrew claude-code is still on 2.1.81

Mreddi1 · 5 months ago

Is there a plan to fix this?

byrongehman-ezpz · 5 months ago

Related: https://github.com/Homebrew/homebrew-cask/pull/255221

The brew cask is following "stable" line (not "latest") now. Notes in the PR has the tips to disable Claude's nags about an upgrade being available (when there isn't for "stable"):

This cask tracks the stable release channel. In-app update notifications

default to the latest channel regardless. To align notifications with this
cask, set the auto-update channel to "stable" via /config or in
~/.claude/settings.json:
https://code.claude.com/docs/en/setup#configure-release-channel

chilleregeravi · 4 months ago

if I run "claude update" then it shows latest release available, but if I run "brew upgrade claude-code" it says latest release is installed. Not sure if we are in stable or latest branch. Previously, I was able to update on a daily basis not its stuck after 2.1.81

pfelrodrigues · 4 months ago

Still happening on 2.1.85 (Homebrew stable). The root cause is clear: the update check compares against the npm @latest tag (currently 2.1.92), while Homebrew cask now tracks the stable channel (2.1.85). The autoUpdatesChannel setting mentioned in Homebrew/homebrew-cask#255221 should be documented and ideally auto-detected for Homebrew installations. The binary already detects Homebrew via /Caskroom/ in process.execPath — it could also default the update channel to stable in that case.

darthShadow · 4 months ago

The wrong update notification was fixed in the latest release 2.1.92:

Fixed Homebrew install update prompts to use the cask's release channel (claude-code → stable, claude-code@latest → latest)
ashwin-ant collaborator · 4 months ago

This was fixed in v2.1.101 — The 'Update available' banner for Homebrew installs now checks the actual cask version on formulae.brew.sh before suggesting brew upgrade. If you're still seeing this in the latest version, please comment with your version and repro and we'll reopen.

github-actions[bot] · 4 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.