2483 文字
12 分
【解決済み】Claude CodeでOpus 5が選べない・出てこない原因はHomebrew版だった【公式インストーラ移行手順】
この記事について

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」を追いかけている#

まずバージョンを確認する。

Terminal window
claude --version

そのうえで、Homebrew側が何を持っているかを見てみる。ここで初めて気づいたのだが、Claude CodeのHomebrewカスクは2種類ある

Terminal window
$ 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を実行すること。

ここが今回の落とし穴の本体である。遅れが二重になっている。

  1. チャンネルの遅れ: claude-codeカスクはstable追従なので、そもそも約1週間遅い
  2. 手動更新の遅れ: Homebrew版は自動更新しないので、brew upgradeを打たない限りその場に留まり続ける

Opus 5の公開は2026年7月24日^2。stableチャンネルが1週間遅れなら、リリース当日にstable版のClaude Codeが新モデルを知っているはずがない。そのうえ最後にbrew upgradeしたのがいつだったか思い出せない状態だったので、実際にはもっと古かった可能性が高い。

一方でネイティブインストール版はというと、公式ドキュメントにこう書いてある^1。

ネイティブインストールは、最新バージョンを維持するためにバックグラウンドで自動的に更新される。

……最初からこっちで入れておけばよかった、という話である。

解決:公式インストーラへ移行する#

公式が推奨しているのはネイティブインストールで、macOS / Linux / WSLならワンライナーで済む^1。

Terminal window
curl -fsSL https://claude.ai/install.sh | bash

Windowsの場合はPowerShellで以下。

Terminal window
irm https://claude.ai/install.ps1 | iex

ただし、Homebrew版を残したまま入れると事故る。順番としては、先にHomebrew版を消してからネイティブ版を入れるのが安全だ。

Terminal window
# 1. Homebrew版を削除(入れていたカスク名に合わせる)
brew uninstall --cask claude-code
# あるいは
brew uninstall --cask claude-code@latest
# 2. 公式インストーラでネイティブ版を入れる
curl -fsSL https://claude.ai/install.sh | bash
# 3. 確認
claude --version
which -a claude

which -a claudeで複数のパスが出てきたら、まだ古いインストールが残っている。公式のトラブルシュートにも「conflicting installations」の項目があるくらいで、これは典型的な詰まりどころらしい^1。

移行後のwhich -a claudeはこうなっていればOK。

/Users/USER_NAME/.local/bin/claude

ネイティブ版は~/.local/bin/claude~/.local/share/claude/versions/<バージョン>へのシンボリックリンクとして管理している^1。実際に見るとこうなっている。

Terminal window
$ ls -la ~/.local/bin/claude
lrwxr-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設定が、こうなっていたとする。

Terminal window
export PATH="$PATH:$HOME/.local/bin"

末尾に追記している。この場合、/opt/homebrew/binのほうがPATHの前方にあるので、Homebrew版のclaudeが残っていればそちらが優先して起動する。インストーラを実行して「入れたはずなのにバージョンが上がらない」という状態は、たいていこれである。

確認と対処はこう。

Terminal window
# どのclaudeが呼ばれているかを全部出す
which -a claude
# PATHの並び順を確認する(前にあるものが勝つ)
echo $PATH | tr ':' '\n'

古いほうが先頭に来ているなら、Homebrew版を消すか、~/.local/binをPATHの先頭に置く。

Terminal window
export PATH="$HOME/.local/bin:$PATH"

なお、hash -r(zshならrehash)でシェルのコマンドキャッシュを捨てないと、パスを直しても古いほうを掴み続けることがある。ターミナルを開き直すのが確実。

Homebrewのまま行きたい人向けの選択肢#

「パッケージ管理はbrewに寄せたい」という気持ちもよくわかる。その場合は、遅れを埋める設定が2つある。

1. latestチャンネルのカスクに乗り換える#

Terminal window
brew uninstall --cask claude-code
brew install --cask claude-code@latest

これでチャンネルの1週間遅れは解消する。残るのは手動更新の問題だけになる。

2. Claude Codeにbrew upgradeを代行させる#

環境変数CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE1にすると、新バージョンがあるときに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版が生きている限りそちらが勝つ

新しいモデルが出るたびに「使えない」と検索するのは、けっこう時間の無駄だった。インストール方法を公式推奨に揃えておくだけで、この手のトラブルは丸ごと消える。同じところで止まっている人の役に立てば。

参考文献#

  1. Claude Code 公式ドキュメント「Advanced setup」 https://code.claude.com/docs/en/setup
  2. Anthropic「Introducing Claude Opus 5」 https://www.anthropic.com/news/claude-opus-5
【解決済み】Claude CodeでOpus 5が選べない・出てこない原因はHomebrew版だった【公式インストーラ移行手順】
https://yurudeep.com/posts/aicoding/2026/20260725/
作者
ひらノルム
公開日
2026-07-25
ライセンス
CC BY-NC-SA 4.0