Claude Code の教科書
第2章 インストールと最初のセッション

詳細セットアップとバージョン管理

OS要件・複数のインストール方法・自動アップデートの挙動・アンインストール手順まで、Claude Code を運用するために必要な設定を一通り理解する

第1部 クイックスタート0/12

この節で学ぶこと

この節では、Claude Code の動作環境から、5つのインストール方法、インストール後の確認・認証、そして自動更新とアンインストールまで、セットアップに必要な知識を一通り扱います。インストール方法によって、その後のアップデート運用が大きく変わります。

インストール方法で、アップデート運用が変わる

セットアップ全体
インストール方法を選ぶ
インストール後を確認
運用でアップデートを管理
5つのインストール方法自動更新の有無が変わるOS別の注意点ありアンインストール手順もある

動作環境・認証・アップデートの仕組みまで、セットアップの運用全体を扱う

セットアップ全体の見取り図

クイックスタートがインストールから最初のセッションまでの最短ルートだとすると、この節はその後の運用(バージョン管理・チーム展開・撤去)まで含めた詳細版です。スマートフォンのアプリ配布に例えると分かりやすくなります。

アプリ配布に例えると

App Store経由

放っておいても自動で最新版になる

公式サイトから手動DL

自分で「更新」を押さない限り古いバージョンのまま

Claude Code もこれと同じ構造。ネイティブインストール(公式インストーラー)だけがバックグラウンドで自動更新し、Homebrew・WinGet・Linuxパッケージマネージャ・npm はいずれも手動更新が必要

どの方法を選ぶかは、この後の運用の手間に直結します。

動作環境

Claude Code は次の環境で動作します。

主要OSに対応

macOS 13.0以降 / Windows 10 1809以降またはWindows Server 2019以降 / Ubuntu 20.04以降 / Debian 10以降 / Alpine Linux 3.19以降

最低4GB・x64かARM64

ハードウェアは4GB以上のRAM、x64またはARM64プロセッサ

ネット接続が必須

インターネット接続が必要(詳細はネットワーク設定のページ〔公開準備中〕を参照)

主要シェルに対応

Bash、Zsh、PowerShell、CMD

対応地域は限定

Anthropicがサポートする国・地域のみで利用可能

追加の依存関係として ripgrep(コード検索に使うツール)が必要ですが、通常は Claude Code に同梱されています。検索が失敗する場合はトラブルシューティングのページ(公開準備中)を参照してください。

インストール方法を選ぶ

下の図は5つのインストール方法と、自動更新の有無をまとめたものです。

ネイティブインストール(推奨)

自動更新。バックグラウンドで実行され、次回起動時に反映

Homebrew

手動更新。brew upgrade claude-code(@latest)

WinGet

手動更新。winget upgrade Anthropic.ClaudeCode

Linuxパッケージ管理(apt / dnf / apk)

手動更新。各パッケージマネージャの通常のアップグレード

npm

手動更新。npm install -g @anthropic-ai/claude-code@latest

※ Homebrew・WinGet は環境変数 CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 で自動化できます(詳細はアップデートの仕組み)。

ネイティブインストール(推奨)

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

ネイティブインストールはバックグラウンドで自動的に最新版を保ちます。インストール後は、作業したいプロジェクトのディレクトリでターミナルを開き、claude と実行するとインタラクティブなセッションが開始します。

GUIを使いたい場合はデスクトップアプリも選べます。

Homebrew

brew install --cask claude-code

Homebrewには2つのcaskがあります。claude-code は安定版チャンネル(stable、最新から約1週間遅れで、重大な不具合を含むリリースをスキップ)を追跡し、claude-code@latest は最新チャンネル(latest)をリリース直後に受け取ります。Homebrewは自動更新しませんbrew upgrade claude-code または brew upgrade claude-code@latest(インストールしたcaskに応じて)を実行してください。

WinGet

winget install Anthropic.ClaudeCode

WinGetも自動更新しません。定期的に winget upgrade Anthropic.ClaudeCode を実行してください。

Linuxパッケージマネージャ(apt / dnf / apk)

Debian/Ubuntu(apt)、Fedora/RHEL(dnf)、Alpine Linux(apk)向けに、署名済みリポジトリが公開されています。各リポジトリには stable(多くのユーザー向け)と latest の2チャンネルがあります。署名鍵のフィンガープリントは 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE です。これらのインストールはClaude Code経由では自動更新されず、通常のシステムアップグレード手順(apt upgradednf upgradeapk upgrade など)で更新します。

npm

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

npmパッケージは、公式インストーラーと同じネイティブバイナリを、プラットフォームごとのoptionalDependency(例: @anthropic-ai/claude-code-darwin-arm64)経由で取得し、postinstallでリンクします。インストール後の claude コマンド自体はNode.jsを呼び出しません。

Node.js 22以降が必要

v2.1.198以降、npmパッケージはNode.js 22以降が必要。古いNode.jsではインストール時に EBADENGINE 警告が出るが、インストール自体は完了し claude は正常に動作する(バイナリは実行時にNode.jsを使わないため)

対応プラットフォームは8種

darwin-arm64 / darwin-x64 / linux-x64 / linux-arm64 / linux-x64-musl / linux-arm64-musl / win32-x64 / win32-arm64

アップグレードは@latest

npm install -g @anthropic-ai/claude-code@latest を使う。npm update -g は元のインストール時のsemverの範囲を尊重してしまい、最新版に上がらないことがあるため避ける

sudoでのインストールは避ける

sudo npm install -g も権限問題やセキュリティリスクにつながるため避ける

Windows・Alpine Linuxでの注意点

Windowsのインストール先を選ぶ

ネイティブWindowsでは管理者権限は不要です。

選択肢必要なものサンドボックス向いている場面
ネイティブWindowsなし(Git for Windowsは任意)非対応Windowsネイティブのプロジェクト・ツール
WSL 2WSL 2の有効化対応Linuxツールチェーン、コマンド実行をサンドボックス化したい場合
WSL 1WSL 1の有効化非対応WSL 2が使えない場合

Git BashでBashツール

Git for Windowsのインストールは任意。入れるとBashツール(シェルコマンド実行に使うツール)がGit Bash経由で使える。入れない場合はPowerShellツールでシェルコマンドを実行する

パスはjsonで明示

Git Bashが見つからない場合は settings.json の CLAUDE_CODE_GIT_BASH_PATH で明示できる

PowerShellはオプトイン

Git for Windowsを入れている場合、PowerShellツールがBashと並ぶ追加の選択肢として段階的に展開されている。環境変数 CLAUDE_CODE_USE_POWERSHELL_TOOL を 1 にするとオプトイン、0 にするとオプトアウトできる

WSLはWSL内で完結

WSLを使う場合は、WSLのディストリビューション内でネイティブインストールコマンドをそのまま実行する。claude はWSLのターミナル内でインストール・起動し、PowerShellやCMDからではない

Git Bashのパスを明示する例:

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

Alpine Linuxでの追加設定

AlpineなどmuslベースのディストリビューションはデフォルトでBashとcurlを含まないため、インストールコマンドがそのままだと not found エラーで失敗します。実行時には libgcclibstdc++ripgrep も必要です。

apk add bash curl libgcc libstdc++ ripgrep

Alpineでは ripgrep はcommunityリポジトリに含まれます。apk がパッケージを見つけられない場合は /etc/apk/repositories にcommunityリポジトリを追加し、apk update してから再試行します。パッケージ導入後は settings.jsonUSE_BUILTIN_RIPGREP0 に設定してください。

settings.json
{
  "env": {
    "USE_BUILTIN_RIPGREP": "0"
  }
}

インストール後の確認

インストール後の確認
$ claude --version
2.1.211 (Claude Code)
$ claude doctor
(インストール状態・設定の診断結果を表示)
claude --version

正常にインストールできていれば 2.1.211 (Claude Code) のようなバージョン番号が表示されます。

より詳しい診断には claude doctor を使います。

claude doctor

claude doctor はセッションを開始せずに、インストール状態と設定に関する読み取り専用の診断(インストールの健全性、settings.json のバリデーションエラー、修正案付きの警告など)を出力します。

認証

Claude Codeの利用には認証が必要です。

有料プランが必須

Pro・Max・Team・Enterprise・Consoleのいずれかのアカウントが必要。無料のClaude.aiプランにはClaude Codeへのアクセスは含まれない

サードパーティ経由も可

Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryといったサードパーティのプロバイダー経由でも利用できる

初回はブラウザでログイン

claude を実行してブラウザの案内に従うとログインできる。環境変数 ANTHROPIC_API_KEY が設定されている場合は、ブラウザを開く代わりに、そのキーを承認するか一度だけ確認される

アカウント種別ごとの詳細は認証を参照してください。

アップデートの仕組み

自動更新の対象と挙動

ネイティブインストールは起動時と実行中に定期的に更新を確認し、バックグラウンドでダウンロード・インストールします。反映されるのは次回起動時です。

直近の結果はdoctorで確認

直近の更新結果は claude doctor で確認できる

シンボリックリンクで管理

macOS・Linuxでは、公式インストーラーが ~/.local/bin/claude を ~/.local/share/claude/versions/ 配下へのシンボリックリンクとして管理する

カスタムランチャーも尊重

ランチャーを自作のスクリプトやシンボリックリンクに置き換えても、自動更新や claude update はそのランチャーをそのまま残す(新しいバージョンは versions/ 配下にインストールされ続け、どのバージョンを実行するかはランチャー側の判断になる)。v2.1.207より前では、自動更新がカスタムランチャーを毎回自前のシンボリックリンクで上書きしていた。カスタムランチャーがある場合、Claude Codeはどのバージョンが必要か判別できないため、インストール済みの全バージョンをディスクに残す。claude doctor は公式インストーラーが作成していないランチャーを検出して報告する

管理を戻すには削除して更新

ランチャー管理をClaude Codeに戻すには、~/.local/bin/claude を削除して claude update を実行する

パッケージマネージャ経由のインストールでは扱いが変わります。

npmは権限不足で通知のみ

npmのグローバルインストールで、npmのグローバルディレクトリに書き込み権限がなく自動更新できない場合は、起動時に一度だけ通知が表示され、claude doctor が対処法を一覧表示する

既定は手動更新

Homebrew・WinGet・apt・dnf・apk のインストールはデフォルトでは自動更新しない

環境変数で一部自動化

環境変数 CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE を 1 に設定すると、Homebrew・WinGetについては新しいバージョンがある時にClaude Codeがバックグラウンドでアップグレードコマンドを実行し、成功時に再起動を促す(アップグレードの対象はClaude Codeパッケージのみで、他のソフトウェアには影響しない)

apt/dnf/apkは対象外

apt・dnf・apkは昇格権限が必要なため、この自動化の対象外で手動アップグレードのまま

リリースチャンネルを切り替える

autoUpdatesChannel 設定で、自動更新と claude update が追従するチャンネルを制御します。

"latest"(デフォルト)

リリースされ次第すぐに新機能を受け取る

"stable"

最新から約1週間遅れで、重大な不具合を含むリリースをスキップしたバージョンを使う

/config の「Auto-update channel」から設定するか、settings.json に直接書きます。

settings.json
{
  "autoUpdatesChannel": "stable"
}

Enterpriseの組織展開では、管理設定(managed settings、公開準備中)でリリースチャンネルを組織全体に強制できます。Homebrewはこの設定ではなくcask名(claude-code / claude-code@latest)でチャンネルを選びます。

最小バージョンを固定する

minimumVersion 設定はバージョンの下限です。バックグラウンドの自動更新と claude update は、この値を下回るバージョンへのインストールを拒否します。そのため "stable" チャンネルに切り替えても、すでにそれより新しい "latest" ビルドを使っている場合はダウングレードされません。

/config"latest" から "stable" に切り替えると、現在のバージョンにとどまるかダウングレードを許可するか確認されます。「とどまる」を選ぶと、その時点のバージョンが minimumVersion に設定されます。"latest" に戻すと minimumVersion はクリアされます。

settings.json
{
  "autoUpdatesChannel": "stable",
  "minimumVersion": "2.1.100"
}

minimumVersion

更新の下限。バックグラウンドの自動更新とclaude updateは、この値を下回るバージョンへの更新を拒否する。管理設定(公開準備中)で設定すると、ユーザー設定やプロジェクト設定では上書きできない組織全体の最小バージョンを強制できる

requiredMinimumVersion / requiredMaximumVersion

管理設定(公開準備中)専用。バージョン範囲外での起動そのものを拒否する。更新もrequiredMaximumVersionの上限を守る

自動更新を無効化する

settings.json
{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}

DISABLE_AUTOUPDATER はバックグラウンドの自動更新チェックだけを止めます。claude updateclaude install による手動更新はそのまま動作します。手動更新も含めてすべての更新経路をブロックしたい場合は、環境変数 DISABLE_UPDATES を使います。これは、Claude Codeを自社の配布経路で配り、ユーザーに指定バージョンを使い続けさせたい場合に向いています。

手動でアップデートする

claude update
手動アップデート
$ claude update
Successfully updated from <旧バージョン> to version <新バージョン>
(すでに最新の場合: Claude Code is up to date (<バージョン>))
(Homebrew・WinGet・apk管理下では: Claude is up to date!)

更新が実行されると Successfully updated from <旧バージョン> to version <新バージョン> と表示されます。すでに最新の場合は Claude Code is up to date (<バージョン>) と表示されます。Homebrew・WinGet・apkが管理しているインストールでは、代わりに Claude is up to date! と表示されます。

バージョン指定インストールとバイナリの検証(発展)

ネイティブインストーラーは、バージョン番号(例: 2.1.89)またはチャンネル名(latest / stable)を指定してインストールできます。インストール時に選んだチャンネルが、以後の自動更新のデフォルトになります。

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

    バージョン/チャンネルを指定

    バージョン番号(例: 2.1.89)またはチャンネル名(latest / stable)を指定してインストール。選んだチャンネルが以後の自動更新のデフォルトになる

  2. 2

    バージョンを確認

    claude --version で、指定したとおりのバージョン(例: 2.1.89 (Claude Code))が入っているか確認する

  3. 3

    マニフェストの署名を検証

    各リリースで全プラットフォームのバイナリのSHA256チェックサムを含む manifest.json が公開され、Anthropicの署名鍵(security@anthropic.com、フィンガープリント 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE)でGPG署名されている。署名付きマニフェストは 2.1.89 以降のリリースが対象で、それより前は署名なしのチェックサムのみ

  4. 4

    OS別に追加検証

    macOSは「Anthropic PBC」の署名とAppleの公証を受けており codesign --verify で、Windowsは「Anthropic, PBC」の署名を受けており Get-AuthenticodeSignature で検証できる。Linuxバイナリは個別の署名がなく、マニフェスト署名または各パッケージマネージャのリポジトリ署名で検証する

アンインストール

インストール方法ごとに手順が異なります。ネイティブインストールの場合:

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

ネイティブインストール

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

Homebrew

brew uninstall --cask claude-code(または claude-code@latest)

WinGet

winget uninstall Anthropic.ClaudeCode

apt / dnf / apk

パッケージ削除に加えて、リポジトリ設定ファイルの削除も行う

npm

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

設定ファイルまで削除する場合は次を実行します。この操作はすべての設定・許可済みツール・MCPサーバー設定・セッション履歴を削除します。

rm -rf ~/.claude・rm ~/.claude.json・rm -rf .claude・rm -f .mcp.json は、すべての設定・許可済みツール・MCPサーバー設定・セッション履歴を削除する

# ユーザー設定と状態を削除
rm -rf ~/.claude
rm ~/.claude.json

# プロジェクト固有の設定を削除(プロジェクトディレクトリで実行)
rm -rf .claude
rm -f .mcp.json

VS Code拡張機能、JetBrainsプラグイン、デスクトップアプリも ~/.claude/ に書き込みます。これらのいずれかが入ったままだと、次回実行時にディレクトリが再作成されます。完全に削除したい場合は、先にこれらのクライアントをアンインストールしてください。

つまずきポイント

よくある誤解

Homebrew や WinGet でインストールしても、ネイティブインストールと同じようにバックグラウンドで自動更新されるはず

実際は

自動更新されるのはネイティブインストール(curl / irm)だけ。Homebrew・WinGetは brew upgrade / winget upgrade を自分で実行するか、環境変数 CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 を設定する必要がある

よくある誤解

minimumVersion を設定すれば、それより低いバージョンでの起動そのものを拒否できる

実際は

minimumVersion はあくまで「更新」の下限で、古いバージョンへの更新を拒否するだけ。バージョン範囲外での起動そのものを拒否したいなら、管理設定専用の requiredMinimumVersion と requiredMaximumVersion を使う

よくある誤解

DISABLE_AUTOUPDATER=1 に設定すれば、更新を完全に止められる

実際は

実際に止まるのはバックグラウンドの自動チェックだけ。claude update を自分で実行すれば更新される。手動更新も含めて完全に止めたい場合は DISABLE_UPDATES を使う

よくある誤解

Alpine Linuxでもインストールコマンドをそのまま実行すれば動く

実際は

AlpineはデフォルトでBash・curlを含まないため not found エラーで失敗する。事前に apk add bash curl libgcc libstdc++ ripgrep を実行し、パッケージ導入後は USE_BUILTIN_RIPGREP=0 を設定する必要がある

  • 参考(公式ではない): チームに展開する場合、まず1人がネイティブインストールで動作確認し、その後 autoUpdatesChannel"stable" に固定して展開すると、開発中の不具合を踏みにくくなります。

関連リンク

出典

On this page