この記事についてClaude(Anthropic)との共同編集により作成されました。
要約
- 2026年7月24日にClaude Opus 5が公開されたのに、Claude Codeの
/modelに出てこない——原因はClaude Code本体のバージョンが古かったこと- Homebrewの
claude-codeカスクはstableチャンネル追従で約1週間遅れるうえ、自動更新しない。この二重の遅れでモデル追加に追いつけない- 公式推奨は
curl -fsSL https://claude.ai/install.sh | bashのネイティブインストール。こちらはバックグラウンドで自動更新する
はじめに
今回、筆者が検索窓に打ち込んだワードは「claude code opus 5 出てこない」だった。
Claude Opus 5が来た。ブラウザのClaude.aiでもデスクトップアプリでも、モデル選択にちゃんとOpus 5が並んでいる。ところがターミナルに戻ってclaudeを起動し、/modelを叩いても——Opus 5がない。
最初は「Claude Codeへの展開はまだ先なのかな」と思った。でも公式アナウンスにはClaude Codeでも使えると書いてある。じゃあプランの問題か、地域の問題か、と疑い始めたあたりで、ようやく本当の原因にたどり着いた。
結論から言うと、Claude Code本体が古かった。それだけだった。そしてなぜ古いままだったかというと、Homebrewで入れていたからである。
症状:アプリでは使えるのにClaude Codeでは選べない
整理すると、こういう状態だった。
- Claude.ai(ブラウザ): Opus 5が選べる
- デスクトップアプリ: Opus 5が選べる
- Claude Code(ターミナル):
/modelにOpus 5が出てこない
同じアカウント、同じプランなのに、ターミナルだけ置いていかれている。
ここで気づくべきだったのは、Claude Codeは「使えるモデルの一覧」をクライアント側のバージョンに依存して持っているという点だ。新モデルが増えたとき、その存在を知らないバージョンのクライアントは、当然それを選択肢に出さない。サーバ側が対応していても、手元のバイナリが古ければ画面には現れない。
つまりこれはアカウントの問題でもプランの問題でもなく、インストールの問題だった。
原因:Homebrewのカスクは「stable」を追いかけている
まずバージョンを確認する。
claude --versionそのうえで、Homebrew側が何を持っているかを見てみる。ここで初めて気づいたのだが、Claude CodeのHomebrewカスクは2種類ある。
$ brew info claude-code | head -1==> claude-code (Claude Code): 2.1.211
$ brew info claude-code@latest | head -1==> claude-code@latest (Claude Code): 2.1.219数字が違う。公式ドキュメントにはこう書かれている^1。
Homebrewは2つのカスクを提供している。
claude-codeはstableリリースチャンネルを追跡し、これは通常約1週間遅れで、重大なリグレッションを含むリリースはスキップされる。claude-code@latestはlatestチャンネルを追跡し、新バージョンが出荷され次第受け取る。
そして、もう一つ重要な注記がある^1。
Homebrewインストールは自動更新しない。 最新の機能とセキュリティ修正を得るには
brew upgrade claude-codeまたはbrew upgrade claude-code@latestを実行すること。
ここが今回の落とし穴の本体である。遅れが二重になっている。
- チャンネルの遅れ:
claude-codeカスクはstable追従なので、そもそも約1週間遅い - 手動更新の遅れ: Homebrew版は自動更新しないので、
brew upgradeを打たない限りその場に留まり続ける
Opus 5の公開は2026年7月24日^2。stableチャンネルが1週間遅れなら、リリース当日にstable版のClaude Codeが新モデルを知っているはずがない。そのうえ最後にbrew upgradeしたのがいつだったか思い出せない状態だったので、実際にはもっと古かった可能性が高い。
一方でネイティブインストール版はというと、公式ドキュメントにこう書いてある^1。
ネイティブインストールは、最新バージョンを維持するためにバックグラウンドで自動的に更新される。
……最初からこっちで入れておけばよかった、という話である。
解決:公式インストーラへ移行する
公式が推奨しているのはネイティブインストールで、macOS / Linux / WSLならワンライナーで済む^1。
curl -fsSL https://claude.ai/install.sh | bashWindowsの場合はPowerShellで以下。
irm https://claude.ai/install.ps1 | iexただし、Homebrew版を残したまま入れると事故る。順番としては、先にHomebrew版を消してからネイティブ版を入れるのが安全だ。
# 1. Homebrew版を削除(入れていたカスク名に合わせる)brew uninstall --cask claude-code# あるいはbrew uninstall --cask claude-code@latest
# 2. 公式インストーラでネイティブ版を入れるcurl -fsSL https://claude.ai/install.sh | bash
# 3. 確認claude --versionwhich -a claudewhich -a claudeで複数のパスが出てきたら、まだ古いインストールが残っている。公式のトラブルシュートにも「conflicting installations」の項目があるくらいで、これは典型的な詰まりどころらしい^1。
移行後のwhich -a claudeはこうなっていればOK。
/Users/USER_NAME/.local/bin/claudeネイティブ版は~/.local/bin/claudeを~/.local/share/claude/versions/<バージョン>へのシンボリックリンクとして管理している^1。実際に見るとこうなっている。
$ ls -la ~/.local/bin/claudelrwxr-xr-x 1 USER_NAME staff 47 7 25 10:33 /Users/USER_NAME/.local/bin/claude -> /Users/USER_NAME/.local/share/claude/versions/2.1.219バージョンごとのディレクトリを掘って、シンボリックリンクを差し替えることで更新している構造だ。だからバックグラウンド更新が走っても、実行中のプロセスが壊れずに済む。
PATHの落とし穴:install.shを打ったのに古いままの場合
ここ、自分の環境で「危なかったな」と思った点なので書いておく。
ネイティブ版は~/.local/binに入る。ところが.zshrcのPATH設定が、こうなっていたとする。
export PATH="$PATH:$HOME/.local/bin"末尾に追記している。この場合、/opt/homebrew/binのほうがPATHの前方にあるので、Homebrew版のclaudeが残っていればそちらが優先して起動する。インストーラを実行して「入れたはずなのにバージョンが上がらない」という状態は、たいていこれである。
確認と対処はこう。
# どのclaudeが呼ばれているかを全部出すwhich -a claude
# PATHの並び順を確認する(前にあるものが勝つ)echo $PATH | tr ':' '\n'古いほうが先頭に来ているなら、Homebrew版を消すか、~/.local/binをPATHの先頭に置く。
export PATH="$HOME/.local/bin:$PATH"なお、hash -r(zshならrehash)でシェルのコマンドキャッシュを捨てないと、パスを直しても古いほうを掴み続けることがある。ターミナルを開き直すのが確実。
Homebrewのまま行きたい人向けの選択肢
「パッケージ管理はbrewに寄せたい」という気持ちもよくわかる。その場合は、遅れを埋める設定が2つある。
1. latestチャンネルのカスクに乗り換える
brew uninstall --cask claude-codebrew install --cask claude-code@latestこれでチャンネルの1週間遅れは解消する。残るのは手動更新の問題だけになる。
2. Claude Codeにbrew upgradeを代行させる
環境変数CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEを1にすると、新バージョンがあるときにClaude Codeがバックグラウンドでbrew upgradeを実行し、成功したら再起動を促してくれる^1。対象はClaude Codeのパッケージだけで、他のソフトウェアには影響しない。
~/.claude/settings.jsonに書くならこう。
{ "env": { "CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1" }}ちなみにネイティブ版でも、更新チャンネルは自分で選べる^1。安定重視ならstableにできる。
{ "autoUpdatesChannel": "stable"}デフォルトはlatest(出たらすぐ入る)で、stableは約1週間遅れ・重大なリグレッションをスキップする。新モデルを出た日に触りたいならlatest一択、業務で安定を取りたいならstable、という使い分けになる。今回の教訓を踏まえると、個人の実験環境はlatestでいいと思う。
そもそもOpus 5とは何だったのか
移行してまで使いたかったモデルの話も少しだけ。
Claude Opus 5は2026年7月24日に公開された^2。価格は入力100万トークンあたり$5、出力100万トークンあたり$25で、前世代のOpus 4.8から据え置き。Claude Maxでは既定モデルになり、Claude Proでも選べる最上位モデルになった。
ベンチマーク面では、Frontier-BenchとGDPval-AAというコーディング・知識労働系の評価でstate-of-the-artを主張している^2。ARC-AGI 3では次点モデルの3倍、OSWorld 2.0では上位モデルのFable 5を3分の1のコストで上回るとされる。APIのモデルIDはclaude-opus-5。
要するに「Fableに迫る性能を半額で」という位置づけで、日常のコーディング用途としてはかなり効いてくる更新だ。だからこそ、ターミナルで選択肢に出てこないのがもどかしかった。
まとめ
- Claude Codeに新モデルが出てこないときは、まず
claude --versionを疑う。アカウントでもプランでもなく、たいていクライアントが古い - Homebrewの
claude-codeカスクはstable追従で約1週間遅れ、しかも自動更新しない。二重に遅れる - 公式推奨は
curl -fsSL https://claude.ai/install.sh | bashのネイティブインストール。バックグラウンドで自動更新される - 移行するときは先にHomebrew版を消す。
which -a claudeが2行以上返したら、まだ何か残っている - PATHに
~/.local/binを末尾で足していると、Homebrew版が生きている限りそちらが勝つ
新しいモデルが出るたびに「使えない」と検索するのは、けっこう時間の無駄だった。インストール方法を公式推奨に揃えておくだけで、この手のトラブルは丸ごと消える。同じところで止まっている人の役に立てば。
参考文献
- Claude Code 公式ドキュメント「Advanced setup」 https://code.claude.com/docs/en/setup
- Anthropic「Introducing Claude Opus 5」 https://www.anthropic.com/news/claude-opus-5