Windows 10 + PowerShellでClaude Code(CLI)を最短・確実にインストールする完全ガイド
最初に何らかの手段でローカルのファイルを自在に編集できる生成AIを入れることができれば、あとは思い思いの環境を築くことが容易である。私の個人的なおすすめは、windowsであれば、wslを入れて、wsl上でVScodeを動かせるようにし、VScodeの拡張機能として、CODEX,Claude Code, Copilotを動かせるようにセットアップすること。
この記事は Windows 10 + PowerShell 環境で「Claude Code(ターミナル版)」を 最短・確実 に入れるための実践メモです。途中でつまずきやすいポイント(
CLAUDE_CODE_GIT_BASH_PATHや PATH の問題、npmが見つからない等)まで一気通貫でカバーします。
ゴール
-
claudeコマンドがどのPowerShellからでも実行できる -
claude doctorでヘルスチェックが OK になる - 初回ログイン/初回セッション開始までできる
全体像(結論)
Windowsでの最短コースは ネイティブインストーラ(Beta) を使う方法です。
-
Git for Windows を入れる(Git Bash の
bash.exeが必要) -
CLAUDE_CODE_GIT_BASH_PATHに 正しい bash.exe のパス を設定 -
irm https://claude.ai/install.ps1 | iexでインストール -
~/.local/binを ユーザーの PATH に追加 -
claude --version/claude doctorで確認 -
claude→/loginで認証
代替として npm グローバル(
npm install -g @anthropic-ai/claude-code)でもOK。権限・PATH問題を避けやすいのはネイティブ版です。
0. 前提条件
- Windows 10(11でも可)
- PowerShell(管理者でなくてOK。必要に応じて一時的に ExecutionPolicy を緩めます)
- ネットワークに制限がないこと(企業プロキシの場合は後述の環境変数で対応)
1. Git for Windows を入れる
目的: Claude Code が内部で使う Bash を提供するため。
Wingetで入れる(推奨)
winget install --id Git.Git -e --source winget
既に入っているかの確認
Test-Path "C:\Program Files\Git\usr\bin\bash.exe"
Test-Path "C:\Program Files\Git\bin\bash.exe"
どちらかが True になればOK。
迷ったらインストーラのデフォルト設定で進めてOK。Portable 版を使う場合は、後述の
CLAUDE_CODE_GIT_BASH_PATHで Bash の実体パスを明示します。
2. CLAUDE_CODE_GIT_BASH_PATH を設定
インストーラや本体が Git Bash の場所 を探すのに使う環境変数です。Portable Git の人は必須、通常インストールでも設定しておくと安全です。
典型的パス:
C:\Program Files\Git\usr\bin\bash.exe(新しめのGit for Windows)C:\Program Files\Git\bin\bash.exe
# どちらか存在する方を選ぶ
$bashPath = if (Test-Path "C:\Program Files\Git\usr\bin\bash.exe") {
"C:\\Program Files\\Git\\usr\\bin\\bash.exe"
} elseif (Test-Path "C:\Program Files\Git\bin\bash.exe") {
"C:\\Program Files\\Git\\bin\\bash.exe"
} else {
Read-Host "Git Bash (bash.exe) のフルパスを入力してください"
}
# ユーザー環境変数に恒久反映 + 現セッションにも反映
[Environment]::SetEnvironmentVariable('CLAUDE_CODE_GIT_BASH_PATH', $bashPath, 'User')
$env:CLAUDE_CODE_GIT_BASH_PATH = $bashPath
# 念のため表示
"CLAUDE_CODE_GIT_BASH_PATH = $env:CLAUDE_CODE_GIT_BASH_PATH"
3. ネイティブインストーラ(Beta)でインストール(推奨)
PowerShellを管理者ではなく通常権限で開き、必要なら一時的にExecutionPolicyを緩めます。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
# 安定版(推奨)
irm https://claude.ai/install.ps1 | iex
# 最新版 or 指定版を入れたい場合(任意)
# & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) latest
# & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 1.0.58
よくあるインストール時のエラー
-
Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH ...- → 章「2. 環境変数の設定」で正しいbash.exeを再設定し、PowerShellを開き直してインストーラを再実行。
4. ~/.local/bin を PATH に通す
ネイティブインストーラは ~/.local/bin/claude(Windowsだと C:\Users\<あなた>\.local\bin\claude.exe 相当)にシンボリックリンク/実体を配置します。ここがPATHに無いと claude が見つかりません。
# ディレクトリ作成(存在していればOK)
$localBin = Join-Path $HOME ".local\bin"
New-Item -ItemType Directory -Force -Path $localBin | Out-Null
# ユーザーのPATHに追加(恒久)
$uPath = [Environment]::GetEnvironmentVariable('Path','User')
if ($uPath -notmatch [regex]::Escape($localBin)) {
[Environment]::SetEnvironmentVariable('Path', $uPath + ";" + $localBin, 'User')
}
# 現セッションにも反映(**新しいターミナルを開き直す**のが最も確実)
$env:Path = [Environment]::GetEnvironmentVariable('Path','User') + ';' + [Environment]::GetEnvironmentVariable('Path','Machine')
確認
where claude
claude --version
claude doctor
5. 初回ログイン & 使い始め
# 任意のプロジェクトで
cd C:\path\to\your\project
claude
# 初回はログインを促されます。REPL内で:
/login
- Claude.ai(Pro/Max)でも、Claude Console(API従量)でもログイン可能。
- 以降は保存された認証でそのまま使えます。
6. すぐ使える最小コマンド集
claude # 対話モード開始
claude -p "関数fooを説明して" # 1回の出力だけ欲しい時
claude commit # 変更をコミット
/clear # 会話をクリア(REPL内)
/help # ヘルプ(REPL内)
7. VS Code 連携(任意)
- ネイティブ拡張(Beta):VS Code のマーケットプレイスから「Claude Code」を導入すると、専用サイドバーで操作できます。
-
レガシー連携:VS Code の統合ターミナルで
claudeを実行すると、自動で連携し、diff表示や選択範囲の共有が使えます。
まずはターミナルで慣れてから、必要に応じて拡張導入・設定を進めるのがオススメです。
8. npm 派の人向け:グローバルインストール手順(代替案)
Node.js 18+ が必要です。(LTSで可)
-
Node.js をインストール(公式インストーラ推奨)
-
グローバルにCLIを入れる:
npm install -g @anthropic-ai/claude-code
-
npmのグローバル実行ディレクトリが PATH に入っているか確認
- 典型的には
C:\Users\<あなた>\AppData\Roaming\npm(%APPDATA%\npm) - 見つからない場合は PATH に追加
-
claude --version/claude doctorで確認
注意: npm 方式は権限やPATHの影響を受けやすく、PowerShellのExecutionPolicyで
npm.ps1がブロックされることがあります。そんなときは一時的にSet-ExecutionPolicy -Scope Process RemoteSignedを使うか、npm.cmdを直接呼ぶと回避できます。
9. ありがちトラブルと対処
「claude が見つからない」
-
~/.local/binを PATH に通す(章 4) - その後 PowerShellを開き直す
-
where claudeで実体パスを確認
「CLAUDE_CODE_GIT_BASH_PATH が見つからない/無効」
- 正しい
bash.exeを指定してユーザー環境変数に設定(章 2) - PowerShellを開き直してから
claude doctor
「npm が見つからない」
- Node.js 未インストール。公式から 18+ を入れ直す
- 端末を開き直して
npm -v/node -vを確認
「WSL で動かしたい」
- WSL1/2どちらも動作。WSLで入れるなら Linux 側の Node/npm を使う(混在PATHに注意)
「ripgrep が原因で検索が弱い」
- Windows では
winget install BurntSushi.ripgrep.MSVCで入れて、USE_BUILTIN_RIPGREP=0を環境変数にセット
10. 更新・メンテナンス
- 自動更新:ネイティブインストーラは自動アップデータを搭載
- 手動更新:
claude update
11. セキュリティ設定の初手
- 標準で 編集やBash実行は承認制。慣れるまでは
/help→ 権限周りの説明とショートカットを把握 - 機密ファイルの読み取り拒否はプロジェクト直下の
.claude/settings.jsonにpermissions.denyを記述
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)",
"Read(./config/credentials.json)"
]
}
}
12. まとめ(チェックリスト)
- Git for Windows を入れた
-
CLAUDE_CODE_GIT_BASH_PATHを正しく設定した - ネイティブインストーラで導入した(または npm で導入)
-
~/.local/binを PATH に追加した -
claude --versionとclaude doctorが成功する -
/login済み、claudeが使える
おまけ:コピペ用ワンライナーセット
# 1) Git
winget install --id Git.Git -e --source winget
# 2) CLAUDE_CODE_GIT_BASH_PATH
$bashPath = if (Test-Path "C:\\Program Files\\Git\\usr\\bin\\bash.exe") { "C:\\Program Files\\Git\\usr\\bin\\bash.exe" } elseif (Test-Path "C:\\Program Files\\Git\\bin\\bash.exe") { "C:\\Program Files\\Git\\bin\\bash.exe" }
[Environment]::SetEnvironmentVariable('CLAUDE_CODE_GIT_BASH_PATH', $bashPath, 'User'); $env:CLAUDE_CODE_GIT_BASH_PATH=$bashPath
# 3) ネイティブインストール(安定版)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; irm https://claude.ai/install.ps1 | iex
# 4) PATH 追加
$localBin = Join-Path $HOME ".local\\bin"; New-Item -ItemType Directory -Force -Path $localBin | Out-Null; $uPath = [Environment]::GetEnvironmentVariable('Path','User'); if ($uPath -notmatch [regex]::Escape($localBin)) { [Environment]::SetEnvironmentVariable('Path', $uPath + ";" + $localBin, 'User') }; $env:Path = [Environment]::GetEnvironmentVariable('Path','User') + ';' + [Environment]::GetEnvironmentVariable('Path','Machine')
# 5) 動作確認
where claude; claude --version; claude doctor
参考
- エラーになったときは
claude doctorと/helpをまず実行 - 企業ネットワークでは HTTP(S) プロキシ環境変数を VS Code 側にも設定
本記事の手順は、公式ドキュメントの内容に沿って Windows 10 + PowerShell 向けに噛み砕いて再構成したものです。運用やセキュリティ要件に応じて、権限・ポリシー設定を見直してください。
Discussion