Claude Media
Claude Code install完全ガイド — Windows・Mac・Linux別の手順とnpm・更新まで

Claude Code install完全ガイド — Windows・Mac・Linux別の手順とnpm・更新まで

Claude Codeのインストール手順をWindows・macOS・Linux別にまとめます。ネイティブインストーラーとnpmの使い分け、アップデート、アンインストール、導入時のつまずき対処まで一気に確認できます。

Claude Codeをインストールする一番の近道

Claude Codeのインストールは、ターミナルでコマンドを1行実行するだけで完了します。macOS・Linux・WSLなら curl -fsSL https://claude.ai/install.sh | bash、WindowsならPowerShellで irm https://claude.ai/install.ps1 | iex を実行する方法(ネイティブインストーラー)が推奨されており、Node.jsの事前準備も不要です。

Claude Codeとは、Anthropicが提供するターミナル上で動くエージェント型AIコーディングツールです。コードの読み書きからシェルコマンドの実行、Git操作までを自然言語の指示でこなします。ツール自体の全体像はClaude Codeとは何かをまとめた解説記事で扱っているので、この記事では「手元のマシンで claude コマンドが動き、ログインまで終わる」状態に到達することに絞って手順を追います。インストールが終わったら、Claude CodeでHugoサイトを作る手順のような具体的な使い方も試してみてください。

インストール前に確認する3つのこと

先にシステム要件・アカウント・インストール方法の3点を確認しておくと、途中でやり直しになりません。特にアカウント要件は見落としやすいポイントです。

システム要件

項目要件
OS要件macOS 13.0以上 / Windows 10 1809以上(Server 2019以上) / Ubuntu 20.04以上・Debian 10以上・Alpine 3.19以上
ハードウェア要件4GB以上のRAM、x64またはARM64プロセッサ
シェル要件Bash / Zsh / PowerShell / CMDのいずれか
ネットワーク要件インターネット接続が必須
利用地域要件Anthropicの対応国のみ

ネイティブインストーラーは自己完結型のバイナリを配置するため、Node.jsは不要です。Node.jsが要るのはnpm経由でインストールする場合のみ(v2.1.198以降はNode.js 22以上)という点は、古い情報と混同しやすいので注意してください。

アカウント(プラン)要件

Claude Codeの利用にはPro・Max・Team・EnterpriseのいずれかのサブスクリプションプランかConsole(API)アカウントが必要です。無料のClaude.aiプランにはClaude Codeのアクセスが含まれていません。どのプランで使うのが自分に合うかは、Claude Codeの料金とプラン選びの判断ガイドが参考になります。Amazon Bedrock、Google CloudのAgent Platform(旧Vertex AI)、Microsoft Foundryの3つがサードパーティ経由の認証先として選べます。

インストール方法の使い分け早見表

方法対象自動更新向いているケース
ネイティブインストーラー対象macOS / Linux / WSL / Windows自動更新あり向いているケースほとんどの利用者。迷ったらこれ
Homebrew対象macOS自動更新既定なし(brew upgrade)、環境変数で自動化可向いているケースbrewでツールを一元管理したい
WinGet対象Windows自動更新既定なし(winget upgrade)、環境変数で自動化可向いているケースwingetで管理を統一したい
apt / dnf / apk対象Debian系 / Fedora系 / Alpine自動更新なし(システム更新に同梱)向いているケースサーバー群をパッケージ管理したい
npm対象Node.js 22以上がある環境自動更新あり(権限による)向いているケース既存のnpm運用に載せたい・CIで使う

どの方法でもインストールされる本体は同じネイティブバイナリです。違いは配布経路と更新の仕組みだけなので、管理しやすい経路を選べば問題ありません。HomebrewとWinGetは既定では手動更新ですが、CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE環境変数を1に設定すると、新しい版があるときにClaude Codeがバックグラウンドでbrew upgrade・winget upgrade相当のアップグレードを実行し、成功すると再起動を促します。

macOSにインストールする手順

macOSではcurlによるネイティブインストールが最短です。ネイティブとHomebrew、どちらを選ぶかは導入経路ごとの違いで判断します。Homebrewユーザーならcaskでも導入できます。

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

Homebrewを使う場合は次のとおりです。

brew install --cask claude-code

Homebrewには2つのcaskがあります。claude-code は安定版チャネル(最新からおよそ1週間遅れで、大きな不具合のあるリリースをスキップ)を追跡し、claude-code@latest はリリース直後の最新版を追跡します。Homebrew経由は既定では自動更新されず、brew upgrade claude-code を定期的に実行する運用になります。settings.jsonで CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE を 1 にすれば、この更新をClaude Code自身がバックグラウンドで代行します。

バイナリは「Anthropic PBC」名義で署名されApple公証済みなので、Gatekeeperの警告なしに起動できます。

Windowsにインストールする手順

WindowsはネイティブとWSLの2通りの動かし方があり、まずどちらで使うかを決めます。Windowsネイティブのプロジェクトを扱うならネイティブ、Linuxツールチェーンやサンドボックス実行(WSL 2のみ対応)が必要ならWSLが向いています。

ネイティブWindowsの場合

PowerShellを開いて次を実行します。管理者権限は不要です。

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

CMDから入れる場合はコマンドが異なります。

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

The token '&&' is not a valid statement separator と出たらPowerShellでCMD用コマンドを実行しています。逆に 'irm' is not recognized と出たらCMDでPowerShell用コマンドを実行しています。プロンプトの行頭が PS C:\ ならPowerShell、C:\ だけならCMDです。

WinGetで管理したい場合は次の1行でも導入できます(既定では自動更新なし。CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 で有効化できます)。

winget install Anthropic.ClaudeCode

ネイティブWindowsではGit for Windowsの導入が推奨されています。Git Bashが入るとClaude CodeがBashツールでシェルコマンドを実行できるためです。なくても動作はしますが、その場合シェル実行はPowerShellツール経由になります。Git for Windowsを入れたのにGit Bashが見つからないと言われる場合は、settings.jsonでパスを明示すると解決します。

{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

WSLの場合

WSLのディストリビューション(Ubuntuなど)のターミナルを開き、Linux用のインストールコマンドをそのまま実行します。

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

PowerShellやCMDからではなく、必ずWSLターミナル内でインストールと起動を行う点だけ間違えないようにしてください。WSL環境ではGit for Windowsは不要です。

Linuxにインストールする手順

LinuxでもcurlのネイティブインストールがそのままUbuntu・Debian・Alpineなどで使えます。サーバー群を構成管理しているなら、署名付きのapt・dnf・apkリポジトリからの導入も選べます。Ubuntuでbubblewrap依存のエラーに当たった場合はClaude Code Ubuntuインストールで解決手順をまとめています。

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

Debian/Ubuntuでaptリポジトリを使う場合は次のとおりです。

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
  -o /etc/apt/keyrings/claude-code.asc
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
  | sudo tee /etc/apt/sources.list.d/claude-code.list
sudo apt update
sudo apt install claude-code

Fedora/RHELは sudo dnf install claude-code(リポジトリ定義を追加後)、Alpineは apk add claude-code で同様に導入できます。パッケージマネージャー経由はClaude Code自身では自動更新されず、sudo apt upgrade claude-code のような通常のシステム更新フローで新しい版を受け取ります。

Alpineなどmuslベースのディストリビューションでネイティブインストーラーを使う場合は注意が必要です。素のAlpineにはbashとcurlが入っておらず、インストールコマンドのcurl -fsSL ... | bash自体がnot foundエラーで失敗します。先にapk add bash curl libgcc libstdc++ ripgrepでこれらを追加インストールし、settings.jsonで USE_BUILTIN_RIPGREP=0 を設定してから実行してください。

npmでインストールする手順

既存のNode.js環境やCIパイプラインに載せたい場合はnpmグローバルインストールが使えます。v2.1.198以降のnpmパッケージはNode.js 22以上を前提とします。それより古いNode.jsでは、インストール時に EBADENGINE 警告が表示されますが処理自体は失敗せず完了し、claude も動作します(このパッケージは実行時にNode.jsを使わないネイティブバイナリを取得するためです)。

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

npmパッケージの中身もスタンドアロン版と同じネイティブバイナリで、@anthropic-ai/claude-code-darwin-arm64 のようなプラットフォーム別のoptional dependency経由で取得されます。このため、npmの設定でoptional dependencyを無効化している(--omit=optional や .npmrc の optional=false)とバイナリが見つからず起動に失敗します。このnative binary not installedエラーの原因切り分けとnpm・pnpm・yarn別の直し方は「native binary not installed」の直し方にまとめています。

注意点が2つあります。sudo npm install -g は権限の問題とセキュリティリスクにつながるため使わないこと。更新時は npm update -g ではなく npm install -g @anthropic-ai/claude-code@latest を使うことです(npm update -g は元のsemver範囲に縛られ、最新に上がらないことがあります)。

インストール後の確認とログイン

インストールが終わったら、新しいターミナルを開いて次の順に進めます。

手順

インストール後の流れ

  1. 1

    claude --version でバージョンを出す

    表示されれば配置もPATHも問題ありません。出ないときは、後述の「claudeコマンドが見つからない」へ進みます。

  2. 2

    作業フォルダーで claude を起動してログインする

    初回はブラウザーが開きます。Claude.aiのサブスクリプション(Pro/Max/Team/Enterprise)かConsoleアカウントで認証します。

  3. 3

    claude doctor で状態を見る

    導入形態・自動更新・検索機能の状態が一覧で出ます。

v2.1.287のmacOS(ネイティブインストール)では、バージョン表示と claude doctor の出力は次のとおりでした。ホームのパスは ~ に置き換え、診断の一部は省いています。

$ claude --version
2.1.287 (Claude Code)
$ claude doctor
Claude Code doctor
 
Running: native (2.1.287)
Platform: darwin-arm64
Path: ~/.local/share/claude/versions/2.1.287
Config install method: native
Search: OK (bundled)
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: success → 2.1.287 (2026-10-02)
 
No installation issues found.
 
For a full setup checkup that can also fix issues, run /doctor in a Claude Code session.

Running と Config install method が導入形態で、ここではどちらも native です。Last update attempt には直近の更新結果が出るので、更新が止まっていないかもここで分かります。claude doctor --help には、カレントディレクトリの設定ファイルを信頼確認のプロンプトなしで読むとあります。修復まで行う診断は、セッション内の /doctor です。

ログインの方式は、ブラウザーを使えるかどうかで分かれます。

くらべる

ログインの方式は環境で変わる

ブラウザーで認証

手元のマシン・SSH先

claude を起動するとブラウザーで認証します。ANTHROPIC_API_KEY が設定されていると、ブラウザーの代わりにそのキーを使うかの確認が1回出ます。

トークンで認証

CI・スクリプト

claude setup-token で1年有効のOAuthトークンを発行し、CLAUDE_CODE_OAUTH_TOKEN 環境変数に設定します。トークンは保存されず画面に出るだけなので、自分で控えます。発行にはClaudeのサブスクリプションが必要です。--bare を付けた実行ではこの環境変数は読まれません。

SSH先やコンテナでコードを貼る形になるときは、後述の「ログインでブラウザーが開かない・コードが貼れない」を見ます。アカウントの作成方法やログイン方式の全体像はClaudeログインガイドで扱っています。

アップデートの仕組みと手動更新

ネイティブインストールは起動時と実行中に更新を自動チェックし、バックグラウンドでダウンロードして次回起動時に反映します。つまり通常は何もしなくても最新版に保たれます。今すぐ更新を当てたいときは手動コマンドが使えます。

claude update

claude update --help の先頭は Usage: claude update|upgrade [options] で、claude upgrade でも同じ更新を実行できます(v2.1.287)。

更新の挙動は設定で細かく制御できます。

設定効果
autoUpdatesChannel: "latest"効果既定。リリース直後に新機能を受け取る
autoUpdatesChannel: "stable"効果約1週間遅れの安定版を追跡し、大きな不具合の版をスキップ
minimumVersion効果これ未満への更新・ダウングレードを拒否する下限を設定
env.DISABLE_AUTOUPDATER: "1"効果バックグラウンド自動更新のみ停止(claude update は可)
env.DISABLE_UPDATES: "1"効果手動更新も含めて、すべての更新経路を止める

チャネル切り替えはClaude Code内の /config →「自動更新チャネル」か、settings.jsonへの追記で行います。minimumVersion が縛るのは更新の下限だけです。起動そのものを版の範囲で制限したいときは、managed settingsの requiredMinimumVersion と requiredMaximumVersion を使います。settings.jsonの書き方全般はClaude Codeのsettings.json解説にまとまっています。なお、apt/dnf/apk経由のインストールはこの自動更新の対象外で、通常のシステム更新コマンドが必要です。HomebrewとWinGetも既定では対象外ですが、CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 を設定すればClaude Code側から代行できます。

ネイティブインストールのランチャー(~/.local/bin/claude)を独自のスクリプトやシンボリックリンクに置き換えている場合、v2.1.207からは挙動が変わりました。それより前は自動更新のたびにこのランチャーがClaude Code自身のシンボリックリンクで上書きされていましたが、v2.1.207以降は温存されます。新しいバージョンは~/.local/share/claude/versions/配下に追加インストールされるだけで、どの版を実行するかはカスタムランチャー側の判断に委ねられます。claude doctorはこの状態を「ネイティブインストーラーが作成していないランチャー」として報告します。ランチャーの管理をClaude Codeに戻したい場合は、~/.local/bin/claudeを削除してからclaude updateを実行します。

バージョンやチャネルを指定してインストールする

ネイティブインストーラーは、チャネル(stable・latest)かバージョン番号を引数に取ります。インストール時に選んだチャネルが、その後の自動更新の既定になります。

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

PowerShellでは、スクリプトをスクリプトブロックにして引数を渡します。

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

この stable や番号は、スクリプトがダウンロードしたバイナリに渡す claude install の引数です。claude install --help の出力は次のとおりです(v2.1.287)。

Usage: claude install [options] [target]
 
Install Claude Code native build. Use [target] to specify version (stable,
latest, or specific version)
 
Options:
  --force     Force installation even if already installed
  -h, --help  Display help for command

アンインストールの手順

アンインストールはインストール経路に対応した削除コマンドを実行するだけです。ネイティブインストールの場合は、バイナリとバージョンファイルを削除します。

rm -f ~/.local/bin/claude
rm -rf ~/.local/share/claude

Windowsのネイティブインストールは、PowerShellで次を実行します。

Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force

他の経路は brew uninstall --cask claude-code(latestチャネルのcaskなら claude-code@latest)、winget uninstall Anthropic.ClaudeCode、npm uninstall -g @anthropic-ai/claude-code です。aptは sudo apt remove claude-code に加えて、/etc/apt/sources.list.d/claude-code.list と /etc/apt/keyrings/claude-code.asc も消さないとリポジトリ設定が残ります。

設定や履歴まで完全に消したい場合は ~/.claude ディレクトリと ~/.claude.json も削除します。ただしこの操作で許可済みツール・MCPサーバー構成・セッション履歴がすべて消える点と、VS Code拡張やDesktopアプリが残っていると次回起動時にディレクトリが再作成される点には注意が必要です。方式別のコマンドと残存ファイルの消し方をより詳しく知りたい場合はClaude Codeアンインストールの手順にまとめています。

よくあるつまずきと対処

導入時のトラブルは原因がパターン化しています。ここでは正常な手順に沿って進めるための頻出パターンだけを扱い、エラーメッセージから原因を1つずつ切り分ける詳しい手順はClaude Codeインストールエラーの切り分けチェックリストに譲ります。インストール後に出るエラーはClaude Codeのトラブルシューティングガイドが対象です。

claudeコマンドが見つからない

インストール成功後の command not found: claude は、インストール先がPATHに入っていないのが原因です。シェル別の直し方はClaude Codeのcommand not foundをPATH設定で直すにまとめています。バイナリはmacOS/Linuxで ~/.local/bin/claude、Windowsで %USERPROFILE%\.local\bin\claude.exe に置かれます。macOSなら次でPATHに追加できます。

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

Windowsではターミナルの再起動で直ることも多く、直らなければユーザー環境変数のPathに %USERPROFILE%\.local\bin を追加します。

VS Code拡張はチャット画面用にCLIのコピーを内蔵しています。ただし、VS Codeの統合ターミナルで claude を実行するには、拡張とは別にこの記事のインストールが必要です。

インストールスクリプトがHTMLや403を返す

syntax error near unexpected token '<' や curl: (22) ... 403 は、インストールURLがスクリプトではなくHTMLページやエラーを返したサインです。利用できない地域からのアクセス、企業プロキシやファイアウォールによる downloads.claude.ai の遮断が主な原因になります。プロキシ環境では次の項の設定を確認してから再実行するか、HomebrewやWinGetなど別経路を試します。原因ごとの切り分け手順はinstall scriptがHTML/403を返す原因と対処で詳しく扱っています。

企業プロキシ・TLS検査環境での設定

企業ネットワークでは、プロキシの指定と社内CA証明書の指定の2段階を押さえると切り分けが早くなります。プロキシ経由の環境では、HTTPS_PROXY(必要なら HTTP_PROXY も)を設定してからインストールコマンドを実行します。プロキシのアドレスがわからない場合はIT部門に確認します。

export HTTPS_PROXY=http://proxy.example.com:8080
curl -fsSL https://claude.ai/install.sh | bash

TLS検査(SSLインスペクション)を行うプロキシの配下では、unable to get local issuer certificate のような証明書エラーが出ます。この場合、インストール時はcurlの --cacert で社内CA証明書を渡し、インストール後のClaude Code本体には NODE_EXTRA_CA_CERTS 環境変数で同じ証明書を指定します。証明書ファイルはIT部門から入手します。

# インストール時: curlに社内CA証明書を渡す
curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash
 
# インストール後: API通信にも同じ証明書を使わせる
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

WSLでうまく動かない

WSLでのつまずきは大きく2つに分かれます。第一に、WSL1では cannot execute binary file: Exec format error が出て、ネイティブバイナリが動きません。GitHubのissue #38788で追跡されている既知の問題です。PowerShellで wsl --set-version <ディストリビューション名> 2 を実行してWSL2に変換するのが確実な解決策です。

WSL1のまま使う場合は、~/.bashrc に次の関数を足し、動的リンカー経由で起動します。

claude() {
  /lib64/ld-linux-x86-64.so.2 "$(readlink -f "$HOME/.local/bin/claude")" "$@"
}

第二に、npm経由で入れるとWindows側のNode.jsを拾い、exec: node: not found が出ることがあります。which npm の結果が /mnt/c/ で始まっていれば該当するので、Linux側にディストリビューションのパッケージマネージャーかnvmでNode.jsを入れ直します。Windows側のNode.jsを消したり、appendWindowsPath = false でWindowsのPATH取り込みを切ったりするのは避けます。WSLからWindowsの実行ファイルを呼べなくなるためです。

ログインでブラウザーが開かない・コードが貼れない

WSL2・SSH先・コンテナでは、ブラウザーが別のホストで開き、リダイレクトがClaude Codeのローカルのコールバックに届きません。承認するとブラウザーにログインコードが表示されるので、ターミナルの Paste code here if prompted に貼ります。

ブラウザーがまったく開かないWSL2では、Windows側ブラウザーのパスを BROWSER に設定します。

export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude

ログイン画面で c を押すとURLがコピーされ、手元のマシンのブラウザーで開けます。貼り付けが効かないときは、端末の別の貼り付けショートカット(Windows Terminalなら右クリックやShift+Insert)を試すか、標準入力からコードを読む claude auth login を使います。

npmの権限エラー

npmグローバルインストールで権限エラーが出ても、sudo を付けるのは避けてください。npm固有の権限問題に深入りするより、ネイティブインストーラーへ切り替えるのが早道です。

低メモリのLinuxサーバーで「Killed」

VPSなどでインストール中に Killed と出るのは、メモリ不足でLinuxのOOM killer(メモリ不足時にプロセスを強制終了する仕組み)が claude install を止めたためです。インストールスクリプトは原因を表示し、終了コード137で止まります。表示は次のとおりで、行番号とプロセスIDは実行ごとに変わります。

Setting up Claude Code...
bash: line 183: 34803 Killed    "$binary_path" install ${TARGET:+"$TARGET"}
Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.
Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.
数字

メモリ不足のときの数字

  • インストールに必要な空き

    約512MB

  • Claude Codeに必要なRAM

    4GB以上

  • 追加するスワップ

    2GB

    下のコマンド4行

インストールだけなら空き512MB前後で足ります。動かすには4GB以上のRAMが前提です

スワップを追加してから、もう一度インストールコマンドを実行します。

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

スワップの代わりに、ほかのプロセスを止めて空きメモリを増やす方法や、インスタンスを大きくする方法もあります。

Dockerコンテナでrootのままルートディレクトリ(/)でインストーラを実行すると、ファイルシステム全体のスキャンが走ってメモリを使い切り、ハングすることがあります。Dockerfileで WORKDIR /tmp を設定してからインストーラを実行すると回避できます。Docker DesktopではSettings > Resourcesでメモリ上限を引き上げ、ビルドをやり直します。

複数のインストールが競合する

過去にnpm版を入れていた環境では、新旧のバイナリが混在してバージョン不一致を起こすことがあります。which -a claude(Windowsは where.exe claude)で重複を確認し、~/.local/bin/claude のネイティブ版だけ残して他を削除します。レガシーなローカルnpm版は rm -rf ~/.claude/local で消せます。

まとめ

迷ったらネイティブインストーラーを選び、claude --version、ログイン、claude doctor の順で終えます。Homebrew・WinGet・apt系やnpmを選ぶ場合は、更新が自動で届くかどうかを先に決めておくと、後で版が古くなる事態を避けられます。導入後はClaude Codeの全体像と使い方で何ができるかを押さえ、挙動を変えたくなったらsettings.jsonの設定に進みます。

この記事を共有:XはてブLinkedIn