[BUG] In-app update notifications default to latest channel even when installed via stable Homebrew cask
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 autoUpdatesChannel setting defaults to "latest", meaning in-app update notifications check the latest release channel regardless of which Homebrew cask is installed.
With Homebrew/homebrew-cask#255221, the claude-code Homebrew cask was changed to track the stable release channel, while a new claude-code@latest cask was introduced for users who want the latest channel. However, Claude Code's update notification system is unaware of this distinction:
- A user who installs
brew install claude-code(stable channel) will still receive notifications about latest channel releases — versions that haven't been promoted to stable yet and are therefore not available via their cask - The notification tells them to run
brew upgrade claude-code, but that command won't install the version being advertised (since stable lags behind latest) - This creates confusing, misleading, and unactionable notifications for stable cask users
What Should Happen?
When Claude Code detects it was installed via Homebrew, it should infer the appropriate update channel from the cask name:
claude-code→ checkstablechannelclaude-code@latest→ checklatestchannel
The cask name is derivable from the binary path (e.g. /opt/homebrew/Caskroom/claude-code/... vs /opt/homebrew/Caskroom/claude-code@latest/...), which Claude Code already inspects for Homebrew detection.
Alternatively, the autoUpdatesChannel setting could default to "stable" when a Homebrew installation is detected, since Homebrew itself manages version delivery and users who want bleeding-edge have opted into claude-code@latest.
Steps to Reproduce
- Install via
brew install claude-code(stable channel) - Do not set
autoUpdatesChannelin~/.claude/settings.json - Wait for or trigger an update notification
- Observe that the notification references a version from the
latestchannel that is not yet available on thestablechannel or viabrew upgrade claude-code
Claude Code Version
Any (default channel behavior)
Platform
Homebrew (macOS/Linux)
Operating System
macOS
Additional Information
Related: Homebrew/homebrew-cask#255221
The autoUpdatesChannel setting is documented at https://code.claude.com/docs/en/setup#configure-release-channel
See also: #23783 (autoUpdatesChannel: "stable" ignored in non-Homebrew installs — now closed)
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗