カテゴリー / インストール・ログイン・設定

Claude Codeネイティブインストールの手順とnpm版からの移行方法

この記事の目次

Claude Codeのネイティブインストールとは、公式ドキュメントで「Native Install (Recommended)」と書かれている専用インストーラでの導入方法です。macOS・Linux・WSLなら curl -fsSL https://claude.ai/install.sh | bash、WindowsのPowerShellなら irm https://claude.ai/install.ps1 | iex を1行実行すれば入り、以後はバックグラウンドで自動更新されます。npm版との違いは「中身のプログラム」ではなく、更新の仕組みと置き場所です。この記事では、OS別のコマンド、インストール後の確認、npm版からの移行で起きやすい二重インストールの片付け、つまずいたときの切り分けを、公式ドキュメントの記述だけをもとに整理します。

Claude Codeのネイティブインストールは、npm版やHomebrew版と何が違うのか?

違いは主に「自動更新されるか」「どこに入るか」「何が前提か」の3点です。公式ドキュメントには、npmパッケージも単体インストーラと同じネイティブバイナリを入れ、インストールされた claude 自体はNodeを呼び出さないと書かれています。つまり、npm版だから動作の仕組みが違う、ということはありません。

導入方法 インストールコマンド 更新
ネイティブ(推奨) curl -fsSL https://claude.ai/install.sh | bash など バックグラウンドで自動更新
Homebrew brew install --cask claude-code 自動更新しない。brew upgrade claude-code
WinGet winget install Anthropic.ClaudeCode 自動更新しない。winget upgrade Anthropic.ClaudeCode
apt / dnf / apk 公式の署名付きリポジトリを登録して導入 Claude Code経由では自動更新しない。OSの通常のアップグレードで更新
npm npm install -g @anthropic-ai/claude-code npm install -g @anthropic-ai/claude-code@latest

npm版で注意したい点が2つあります。1つ目は、npmパッケージの導入にNode.js 22以上が求められることです。古いNode.jsでは EBADENGINE の警告が出るだけでインストールは完了し、claude も動きます。2つ目は更新方法です。公式は npm update -g を避けるよう書いており、理由は最初に入れたときのバージョン範囲に縛られ、最新版に上がらない場合があるためです。また sudo npm install -g は権限の問題とセキュリティ上のリスクにつながるとして、使わないよう明記されています。

HomebrewとWinGetは、環境変数 CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE を 1 にすると、新しいバージョンが出たときにClaude Codeがアップグレードをバックグラウンドで実行し、成功すると再起動を促します。

迷ったら公式推奨のネイティブインストールを選び、社内で導入経路が決まっている場合はそれに合わせます。

ネイティブインストールのコマンドはOSごとにどう違うのか?

使うコマンドは「macOS・Linux・WSL」「Windows PowerShell」「Windows CMD」の3種類です。

macOS・Linux・WSL

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

Windows PowerShell

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

Windows CMD

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Windowsでは、いま開いているのがPowerShellかCMDかでコマンドが変わります。プロンプトの先頭が PS C:\ ならPowerShell、PS のない C:\ ならCMDです。次のエラーが出たら、シェルを取り違えています。

表示されたエラー 実際の状況
'irm' is not recognized ... CMDでPowerShell用コマンドを実行した
The token '&&' is not a valid statement separator PowerShellでCMD用コマンドを実行した
A parameter cannot be found that matches parameter name 'fsSL' PowerShellでmacOS・Linux用の curl コマンドを実行した(PowerShellの curl は Invoke-WebRequest の別名)

Windowsのネイティブ環境では、管理者として実行する必要はありません。Git for Windowsは任意で、入っていない場合はClaude CodeがシェルツールとしてPowerShellを使います。WSLで使う場合は、WSLのディストリビューションを開き、その中でLinux用のコマンドを実行します。PowerShellやCMDから入れたものをWSLで使うわけではありません。WSLとネイティブのどちらにするかの判断はWindowsでの導入ガイドで扱っています。

Alpine Linuxなどmusl系のディストリビューションでは、インストールに bash と curl、実行時に libgcc・libstdc++・ripgrep が必要です。Alpineは bash と curl を標準で含まないため、先に入れておかないとインストールコマンドが not found で失敗します。

apk add bash curl libgcc libstdc++ ripgrep

パッケージを入れたら、settings.json で USE_BUILTIN_RIPGREP を 0 にします。

{
  "env": {
    "USE_BUILTIN_RIPGREP": "0"
  }
}

公式のシステム要件は、macOS 13.0以上、Windows 10 1809以上またはWindows Server 2019以上、Ubuntu 20.04以上、Debian 10以上、Alpine Linux 3.19以上、メモリ4GB以上、x64またはARM64のプロセッサです。

入れる前に知っておきたい2つの挙動

インストールコマンドは、ダウンロード中に進捗を表示しません。止まって見えても、終わるまで待ちます。

Linuxの小さなVPSなどでは、メモリ不足でインストールが途中で強制終了されることがあります。公式によると、インストールには空きメモリがおよそ512MB必要で、実行にはさらに多く要ります。Killed と出たら、メモリを空けるかスワップを追加してから実行し直します。

インストールできたかはどう確認するのか?

インストーラが終わったら、新しいターミナルを開いて次を実行します。

claude --version

2.1.211 (Claude Code) のようにインストール後のバージョン確認で番号が表示されれば、インストールは成功です。もう少し詳しく見たい場合は、次のコマンドを使います。

claude doctor

claude doctor はセッションを始めずに、インストールの状態、設定ファイルの検証エラー、修正案つきの警告を表示する読み取り専用の診断です。直近の自動更新の結果とインストール状態もここで確認できます。Claude Codeが起動できる状態なら、セッション内で /doctor を実行すると、確認を取ったうえで適用できる修正を提案してくれます。

ネイティブ版は、macOS・Linuxでは ~/.local/bin/claude に、Windowsでは %USERPROFILE%\.local\bin\claude.exe に置かれます。macOS・Linuxの ~/.local/bin/claude は、実体のある ~/.local/share/claude/versions/ へのシンボリックリンクです。ここまで確認できたら、ログインに進みます。ログインの手順はログイン方法の解説にまとめています。なお、Claude CodeはPro・Max・Team・Enterprise・Consoleのいずれかのアカウントが必要で、無料のclaude.aiプランには含まれません。

claude が見つからないと言われたら

command not found: claude や 'claude' is not recognized が出る場合、インストール先がPATHに入っていません。インストーラはこの状態を検出すると、出力の Setup notes: に Native installation exists but ~/.local/bin is not in your PATH. と表示しますが、PATH自体は書き換えません。

macOS・Linuxでは、まずPATHに入っているかを確認します。

echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

何も表示されなければ、使っているシェルの設定ファイルに追加します。macOSの標準であるZshの場合は次のとおりです。

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

LinuxのBashなら、同じ行を ~/.bashrc に追加します。macOSでBashを使っている場合は、~/.bashrc ではなく ~/.bash_profile に追加するよう公式は案内しています。Windowsで、PowerShellでのインストールが終わったのに claude が見つからない、または古いバージョンが表示される場合も、PATHを確認してから新しいターミナルを開き直します。

VS Code拡張だけを入れた状態では、~/.local/bin/claude は作られません。拡張は自分専用のCLIを内部に持っていて、PATHには追加しないためです。ターミナルから claude を使うには、ここで紹介したネイティブインストールが別に必要です。

npm版からネイティブインストールへ移行するには?

移行の手順は「ネイティブ版を入れる」「重複したインストールを見つける」「ネイティブ以外を消す」の3段階です。公式ドキュメントは、npm由来の権限エラーに困っている場合はネイティブインストーラへ切り替えるよう案内し、重複インストールが残っている場合は1つだけ残し、ネイティブ版を推奨すると書いています。

1. ネイティブ版を入れる

上のOS別コマンドをそのまま実行します。CLIには claude install というサブコマンドもあり、ネイティブバイナリのインストールや再インストールを行います。2.1.118 のようなバージョン番号や、stable・latest を指定できます。インストールスクリプトも、内部ではこの claude install の段階を実行しています。

2. 重複したインストールを見つける

インストールが複数あると、呼び出し先の違いによるバージョンの食い違いや予期しない動作の原因になります。macOS・Linuxでは、まずPATH上のすべての claude を表示します。

which -a claude

続いて、claude が置かれうる3か所を順に確認します。~/.local/bin/claude がネイティブ版、~/.claude/local/ は古いClaude Codeが作ったローカルnpmインストール、最後のコマンドはnpmのグローバルインストールです。

ls -la ~/.local/bin/claude
ls -la ~/.claude/local/
npm -g ls @anthropic-ai/claude-code 2>/dev/null

ls が No such file or directory と表示するのはエラーではなく、その場所に何も入っていないという意味です。Windowsでは次の2つで確認します。

where.exe claude
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

Test-Path が True ならネイティブ版が入っています。

3. ネイティブ版以外を消す

npmのグローバルインストールが残っていれば削除します。

npm uninstall -g @anthropic-ai/claude-code

古いローカルnpmインストールがあれば、macOS・Linuxでは次で削除します。

rm -rf ~/.claude/local

Homebrewで入れていた場合は brew uninstall --cask claude-code(claude-code@latest を入れていたならその名前)、WinGetなら winget uninstall Anthropic.ClaudeCode で削除します。片付けたら、macOS・Linuxではもう一度 which -a claude を、Windowsでは where.exe claude を実行して、ほかの場所の claude が残っていないかを確かめます。最後に新しいターミナルで claude --version を実行し、バージョン番号が表示されることを確認します。設定ファイルまで含めた削除手順はアンインストールガイドで扱っています。

更新チャネルやバージョンは、ネイティブ版でどう固定するのか?

ネイティブ版は、起動時と実行中に定期的に更新を確認し、バックグラウンドでダウンロードとインストールを行います。反映されるのは次に起動したときです。すぐ更新したい場合は claude update を実行します。更新されれば Successfully updated from <old version> to version <new version>、最新なら Claude Code is up to date (<version>) と表示されます。

更新の受け取り方は、設定 autoUpdatesChannel で選べます。既定は "latest" で、新機能がリリースされたらすぐ受け取ります。"stable" は、おおむね1週間前のバージョンを使い、大きな不具合があったリリースを飛ばします。セッション内の /config の「Auto-update channel」からも、settings.json からも変更できます。

{
  "autoUpdatesChannel": "stable"
}

インストール時にチャネルを指定すると、それが自動更新の既定になります。macOS・Linux・WSLでstableを入れるコマンドは次のとおりです。

curl -fsSL https://claude.ai/install.sh | bash -s stable

PowerShellでは次のように書きます。

& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

stable の代わりに 2.1.89 のようなバージョン番号を渡すと、そのバージョンを入れられます。

自動更新を止めたい場合は、settings.json の env で DISABLE_AUTOUPDATER を "1" にします。

{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}

反映されたかは claude doctor で確認でき、Auto-updates の行が disabled (set by env: DISABLE_AUTOUPDATER) になっていれば止まっています。ただし、これが止めるのはバックグラウンドの確認だけで、claude update と claude install は引き続き使えます。手動更新も含めてすべて止めるには DISABLE_UPDATES を使います。下限を決めておきたい場合は minimumVersion を設定すると、それより古いバージョンは自動更新でも claude update でも入りません。更新まわりの全体像はアップデートの解説を参照してください。

curl | bash で入れるものが本物か、どう確かめるのか?

公式は、配布されるバイナリの署名検証で正当性を確かめる手順を公開しています。各リリースには、全プラットフォームのバイナリのSHA256チェックサムを載せた manifest.json があり、このファイルはAnthropicのGPG鍵で署名されています。署名を検証すれば、そこに載っているすべてのバイナリを間接的に検証したことになります。

手順はPOSIXシェルと gpg・curl が前提です。Windowsでは、Git BashかWSLで実行します。まず公開鍵を取り込み、指紋を表示します。

curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --import
gpg --fingerprint security@anthropic.com

表示に 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE が含まれていることを確認します。次に、検証したいバージョンのマニフェストと署名を取得して検証します。

REPO=https://downloads.claude.ai/claude-code-releases
VERSION=2.1.89
curl -fsSLO "$REPO/$VERSION/manifest.json"
curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
gpg --verify manifest.json.sig manifest.json

成功すると Good signature from "Anthropic Claude Code Release Signing <security@anthropic.com>" と表示されます。同時に出る WARNING: This key is not certified with a trusted signature! は、取り込んだばかりの鍵で出る想定どおりの警告です。公式は、Good signature の行で暗号上の検証が通ったこと、最初の指紋の照合で鍵そのものが本物であることを確かめられると説明しています。

最後に、バイナリのSHA256を計算し、manifest.json の platforms.<platform>.checksum にある値と比べます。インストール済みのものを確かめる場合は、~/.local/share/claude/versions/ の下にある、VERSION に設定したのと同じバージョン番号のファイルが対象です。手元のバージョンと違う VERSION のマニフェストとは照合できないため、先に claude --version で入っている版を確かめ、その番号を VERSION に設定してください。計算コマンドは、Linuxでは sha256sum、macOSでは shasum -a 256 です。

マニフェストの署名があるのは 2.1.89 以降のリリースです。これとは別に、macOSのバイナリは「Anthropic PBC」の署名とAppleの公証を受けていて、codesign --verify --verbose ./claude で確かめられます。Linuxのバイナリには個別のコード署名がないため、ネイティブインストーラで入れた場合は上のマニフェスト署名で確認します。

ネイティブインストールが失敗したとき、エラーごとに何を見ればいいか?

公式のトラブルシューティングは、表示されたエラー文から原因を引ける構成になっています。公式が挙げるインストール時のエラー例から抜き出すと次のとおりです。

表示 原因と対処
command not found: claude / 'claude' is not recognized インストール先がPATHにない。前の節の手順でPATHを追加する
EACCES: permission denied インストール先のディレクトリに書き込めない。下の権限確認へ
syntax error near unexpected token '<' ダウンロードしたものがインストールスクリプトではなく、HTMLのページだった
curl: (22) The requested URL returned error: 403 社内のプロキシやファイアウォールが遮っている場合もある。対応国からの利用なら、まず接続を確認する
curl: (56) / curl: (23) Failure writing output to destination Bashがスクリプトを最後まで受け取れていない。downloads.claude.ai に届くかを確かめ、届くなら再実行する
Killed(Linux) メモリ不足。空きメモリを増やすかスワップを追加する
unable to get local issuer certificate 社内のCA証明書の設定が必要
Failed to fetch version ダウンロードサーバーに届いていない。ネットワークとプロキシの設定を確認する

権限エラーが出た場合、macOS・Linuxではまず claude の置き場所である ~/.local/bin に書き込めるかを確認します。

test -w ~/.local/bin && echo "writable" || echo "not writable"

not writable と出たら、公式はインストール先を作って自分を所有者にする次の手順を示しています。

sudo mkdir -p ~/.local/bin
sudo chown -R $(whoami) ~/.local

npm版でnpm特有の権限エラーに当たっている場合は、sudo で押し通さず、ネイティブインストーラへ切り替えるのが公式の案内です。

社内プロキシや証明書が原因で通らない場合の詳しい対処はネットワークエラーの対処ガイドに、インストール以外も含めたエラー全般はエラー対処の総合ガイドにまとめています。

この記事のコマンドと設定は、2026年10月18日時点の公式ドキュメント(code.claude.comの「Advanced setup」「Troubleshoot installation and login」「CLI reference」)に基づいています。インストーラのURLや対応OSが変わることがあるため、うまくいかないときは同じページの最新版と照らし合わせてください。

インストールが終わったあとに、実際の開発でどう使いこなすかを継続して学びたい場合は、月額1,980円から参加できる学習コミュニティ「AI駆動ラボ」も選択肢の一つです。