miseで入れたClaude Codeに更新通知が出続ける理由と止め方
miseで最新バージョンを入れたのに「Update available! Run: mise upgrade claude」が消えない現象の仕組みと、通知を無視してよい条件、止め方をまとめます。
miseで入れたClaude Codeの画面右下に「Update available! Run: mise upgrade claude」と出続け、指示どおりmise upgrade claudeを実行しても何も起きません。この現象はGitHub issue #95103で報告されています。結論から書くと、mise側に新しいバージョンがまだ届いていない間の通知と読めます。miseに新バージョンが届けば、mise upgrade claudeで更新できます。
「Update available! Run: mise upgrade claude」は何を知らせているのか
報告者の環境はArch Linux、Claude Code 2.1.273、mise 2026.9.1です。グローバル設定にclaude = "latest"を書き、バックエンドはaqua:anthropics/claude-codeでした。
# ~/.config/mise/config.toml(報告者の設定)
[tools]
claude = "latest"通知が出ている状態で、報告者は次の3つを実行しています。
claude --version
MISE_FETCH_REMOTE_VERSIONS_CACHE=0 mise latest claude
npm view @anthropic-ai/claude-code dist-tags.latest返ってきた値は次のとおりです。
| コマンド | 結果 | 意味 |
|---|---|---|
claude --version | 結果2.1.273 | 意味手元のバージョン |
mise latest claude(キャッシュ無効) | 結果2.1.273 | 意味miseが把握している最新バージョン |
npm view … dist-tags.latest | 結果2.1.274 | 意味npmで公開済みの最新バージョン |
手元のバージョンとmiseの最新バージョンが同じなので、mise upgrade claudeは「更新なし」で終わります。一方でnpmのlatestタグは1つ先に進んでいました。
なぜ「最新なのに更新あり」と表示されるのか
報告者は、通知の判定がnpmのlatestタグとの比較で行われ、miseはGitHub Releasesからバージョンを取得するため反映が少し遅れる、と見ています。新バージョンがほぼ毎日出るので、通知もほぼ常時出ます。
ここは報告者の推測で、Anthropic側が判定元を説明しているわけではありません。ただ、セットアップ手順にも同じ型の注意書きがあります。Homebrew、WinGet、apt、dnf、apkの節に、次のknown issueが載っています。
Claude Code may notify you of updates before the new version is available in these package managers.
つまり「通知が先に出て、パッケージマネージャー側の反映が遅れる」ことは既知の挙動として書かれています。同じ注意書きは「更新に失敗したら、少し待ってから再試行する」とも案内しています。miseでも、手元とmiseの最新が同じなら、待つのが基本の対処になります。また、claude doctorは直近の更新試行の結果を表示する、と書かれているので、通知が出たあとに何が起きたかを見る手がかりになります。miseはこの一覧に名前がありません。セットアップ手順にmiseの記載はなく、miseで入れた場合の挙動は#95103の報告が唯一の手がかりです。
issueには同型の報告として、apt(#87197)、Homebrew(#49590)、winget(#46550)が挙げられています。パッケージマネージャーで入れたClaude Codeは、どれも同じ構造でつまずきます。
この通知を無視してよい条件
通知が出たら、まず次の順で確認します。
claude --versionで手元のバージョンを見るmise latest claudeでmiseが把握する最新バージョンを見る- 2つが同じなら、
mise upgrade claudeで上がるバージョンは今のところ存在しない
2つが同じなら、通知は無視して構いません。miseに新バージョンが届けば、mise upgrade claudeで更新できます。2つが違うなら、通知は正しく、更新が可能です。
報告者はMISE_FETCH_REMOTE_VERSIONS_CACHE=0を付けてmise latest claudeを実行し、キャッシュの影響を避けた値を見ていました。この環境変数の仕様はmiseのドキュメントで確認できていませんが、「さっき出たはずのバージョンが見えない」ときの切り分けに、報告者と同じ形で試せます。
# キャッシュを使わずにmiseの最新バージョンを確認する
MISE_FETCH_REMOTE_VERSIONS_CACHE=0 mise latest claude
# 新しいバージョンが見えたら更新する
mise upgrade claudemise upgradeは古くなったツールを更新するコマンド、mise latestはバージョン指定にあてはまる最新バージョンを解決するコマンドです。役割が違うので、通知の判定と同じ数字がmise latestに出るとは限りません。
通知を止めたいときの選択肢
報告者はDISABLE_AUTOUPDATER=1を設定して通知を消しています。手順書では、settings.jsonのenvキーに書きます。
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}この設定が止めるのは、バックグラウンドの更新チェックだけです。claude updateやclaude installは引き続き使えます。手動更新も含めて塞ぐDISABLE_UPDATESという別の設定もあります。
miseで入れた場合は、更新の主導権はmiseにあります。通知が消えても困らない人は、DISABLE_AUTOUPDATERで止めるのが簡単です。ただし、止めると通知が出なくなるため、新バージョンが出ていること自体に気づけなくなります。定期的にmise latest claudeで確認してmise upgrade claudeを回す運用と組み合わせる形になります。
設定の反映はclaude doctorで確認できます。Auto-updatesの行がdisabled (set by env: DISABLE_AUTOUPDATER)になれば有効です。この表示はネイティブ版とnpm版向けの確認方法として書かれており、miseで入れた環境で同じ行が出るかは説明がありません。
claude doctorDISABLE_AUTOUPDATERとautoUpdates設定の違い、止めたときの注意はautoUpdatesが無視されるという報告と確実な止め方にまとめています。更新コマンド全般はClaude Codeアップデートの方法が扱っています。
通知が出続けたときに疑う原因の切り分け
「最新のはずなのに通知が消えない」原因は、miseの反映遅れだけとは限りません。
| 状況 | 疑うこと | 確認方法 |
|---|---|---|
| 手元のバージョンとmiseの最新バージョンが同じ | 疑うことmiseへの反映待ち | 確認方法時間を置いてmise latest claudeを再実行 |
| 手元のバージョンがmiseの最新より古い | 疑うこと更新が未実施 | 確認方法mise upgrade claude |
| 新バージョンが出たはずなのにmiseに出ない | 疑うこと反映遅れ、またはキャッシュ | 確認方法MISE_FETCH_REMOTE_VERSIONS_CACHE=0を付けて確認(報告者と同じ方法) |
claudeが別の場所の実行ファイルを指している | 疑うことPATH上の別インストール | 確認方法which -a claude |
最後の行は、miseに限らずasdfのshimでも起きます。実際に、asdfのshim経由で古いバージョンを掴み続ける問題はClaude Codeがasdfのshimで古いバージョンを掴み続ける問題を直すで扱っています。なお、v2.1.47ではclaude doctorがmiseやasdf管理下の環境をネイティブインストールと誤判定するバグが修正されています。
which -a claude複数のclaudeが出てきたら、優先されているものがmise管理下かを見ます。インストール方法ごとの違いはClaude Codeのインストールガイドにあります。
公式のリリースチャネル設定はmise環境の通知を変えるか
セットアップ手順には、更新の追い方を選ぶ設定が2つあります。autoUpdatesChannelは"latest"(既定、公開されたらすぐ受け取る)と"stable"(およそ1週間遅れで、大きな不具合のあるリリースを飛ばす)を切り替え、自動更新とclaude updateに効きます。minimumVersionは、それより古いバージョンへの更新を拒む下限です。/configでlatestからstableに切り替えると、いまのバージョンに留まるかダウングレードを許すかを尋ねられ、留まる方を選ぶとそのバージョンがminimumVersionに入ります。latestへ戻せばこの値は消えます。Homebrewだけは設定ではなく、cask名でclaude-code(stable)とclaude-code@latest(latest)を選びます。ネイティブインストーラーの側でも、インストール時にバージョン番号かチャネルを引数で渡せて、選んだチャネルがその後の自動更新の既定になります(bash -s stableやbash -s 2.1.89の形です)。つまり公式が想定する固定の方法は、インストーラーへの引数か設定ファイルです。
ただし、これらがmiseで入れたClaude Codeの通知にどう作用するかは、手順書にも#95103にも記載がありません。ネイティブインストーラーの更新を対象にした設定として書かれており、miseのclaude = "latest"と組み合わせた結果は確認できていないため、通知を消す手段としては紹介できません。
mise側にも、バージョンの見え方を絞る道具があります。mise latestには、インストール済みのバージョンだけに解決を絞る--installedと、指定した期間より新しいリリースを除く--minimum-release-ageがあります。
mise latest claude --installed
mise latest claude --minimum-release-age 7d--minimum-release-ageを付けると公開直後のバージョンが候補から外れるので、「通知は出たがmiseにまだ無い」状態と見比べる材料になります。通知の判定そのものは変わらない点は、上の切り分けと同じです。
報告の状態と、今後の見通し
issue #95103は2026年9月17日に報告されました。報告者が求めているのは、パッケージマネージャーが新バージョンを持っているときだけ通知を出すか、少なくとも「まだ効かないコマンド」を案内しないことです。
当面は、通知を「miseに新バージョンが届いたかもしれない合図」として扱い、実際に更新が要るかをmise latest claudeで確かめる形が現実的です。
よくある質問
通知はどれくらいの頻度で出ますか
報告者の環境では、ほぼ常時出ていました。新バージョンがほぼ毎日公開され、npmのlatestタグが動くたびに、miseの反映が追いつくまで通知が続くためです。頻度の実測値は報告にもありません。
miseの反映は、どれくらい遅れるのですか
公式にも報告にも、遅れの長さを示す数字はありません。報告者の例では、npmが2.1.274、miseが2.1.273という1バージョンの差でした。
Homebrewなら自動更新できますか
公式の手順では、HomebrewとWinGetはCLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEを1にすると、Claude Codeが更新コマンドを代わりに実行します。miseがこの対象かどうかは、記載がありません。
まとめ
「Update available! Run: mise upgrade claude」は、報告者の観察では、npmのlatestタグの方がmiseの最新版より先に進んでいる間に出ます。claude --versionとmise latest claudeが同じなら、更新できるものは無く、通知は無視して構いません。消したいときはDISABLE_AUTOUPDATERが使えますが、新バージョンに気づく手段が減る点は残ります。この型の遅れは、他のパッケージマネージャーではknown issueとして書かれています。miseはその一覧の外なので、挙動が変わったらissueの更新を確認してください。