Windows で Claude Code を使う:ネイティブ版と WSL の違い、インストール手順とつまずきポイント
Windows 環境で Claude Code を動かす 2 つの方法(ネイティブ版と WSL)を比較し、それぞれのインストール手順、Git for Windows の要件、PowerShell と VS Code での使い方、日本語入力やパスに関するつまずきポイントを解説します。
目次
Claude Code は当初 macOS と Linux が主な対象で、Windows では WSL(Windows Subsystem for Linux)経由の利用が案内されていました。現在は Windows ネイティブ版が提供され、PowerShell からそのまま使えます。ただし、Git for Windows が必要であること、hooks やスクリプトの書き方が Unix 前提であることなど、知っておくべき違いがあります。
この記事では、ネイティブ版と WSL 版の比較、それぞれの手順、実際につまずきやすい点をまとめます。
KEY POINT
この記事で分かること
- ネイティブ版と WSL 版の違いと選び方
- それぞれのインストール手順と VS Code 拡張との組み合わせ
- パス、日本語入力、hooks に関するつまずきポイント
ネイティブ版と WSL 版の比較
| 項目 | ネイティブ版 | WSL 版 |
|---|---|---|
| 実行環境 | Windows 上で直接動作 | WSL 内の Linux(Ubuntu など) |
| 前提 | Git for Windows | WSL2 と Linux ディストリビューション |
| シェル | PowerShell / コマンドプロンプト(内部で Git Bash を使用) | bash / zsh |
| プロジェクトの場所 | Windows のドライブ(C:\...) | WSL 内のファイルシステム(/home/...)が推奨 |
| Docker などの Linux ツール | 別途 Windows 版が必要 | Linux 版がそのまま動く |
| 向いている人 | Windows で完結する開発(.NET、Node など) | Linux 向けのビルド環境を使う開発 |
WSL からWindows 側のファイルを触ると遅い
WSL 版で /mnt/c/... にあるプロジェクトを扱うと、ファイル I/O が大幅に遅くなります。WSL 版を選ぶなら、プロジェクトは WSL 内(~/projects/ など)に置いてください。
ネイティブ版のインストール
1. Git for Windows を入れる
Claude Code のネイティブ版は、内部で Git Bash を使います。未インストールなら Git for Windows を入れてください。インストール時の既定設定で問題ありません。
2. Claude Code を入れる
PowerShell を開き、次を実行します。
irm https://claude.ai/install.ps1 | iex
npm を使う場合は次でも入ります(Node.js 18 以上が必要)。
npm install -g @anthropic-ai/claude-code
3. 起動して確認する
cd C:\path\to\project
claude
初回起動でログインが求められます。claude doctor を実行すると、インストール状態と Git Bash の検出状況を診断できます。
Git Bash が見つからないというエラーが出る場合は、環境変数で場所を明示します。
$env:CLAUDE_CODE_GIT_BASH_PATH = "C:\Program Files\Git\bin\bash.exe"
恒久的に設定するには、システムの環境変数に同じ名前で登録します。
WSL 版のインストール
- PowerShell(管理者)で
wsl --installを実行し、再起動します。既定で Ubuntu が入ります。 - Ubuntu のターミナルを開き、Node.js を入れます(nvm 経由が無難です)。
- Linux と同じ手順でインストールします。
curl -fsSL https://claude.ai/install.sh | bash
VS Code から使う場合は「WSL」拡張機能を入れ、WSL 内のフォルダを開いてから Claude Code 拡張を使います。
VS Code 拡張との組み合わせ
Claude Code の VS Code 拡張は、ネイティブ版・WSL 版のどちらでも使えます。
- ネイティブ版: 通常どおり Windows の VS Code で拡張を入れるだけ
- WSL 版: WSL 拡張でリモート接続したウィンドウ内で、Claude Code 拡張を「WSL にインストール」する
拡張の基本的な使い方は VS Code 拡張のインストールと初期設定 を参照してください。
つまずきポイント
hooks やスクリプトは bash 前提で書く
ネイティブ版でも hooks のコマンドは Git Bash で実行されます。PowerShell のコマンドレットは直接書けません。PowerShell を使いたい場合は明示的に呼び出します。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File .claude/hooks/format.ps1"
}
]
}
]
}
}
hooks の基本は hooks で lint と format を自動実行する を参照してください。
パスの書き方
permissions のパターンや CLAUDE.md では、スラッシュ区切り(src/**)で書けば Windows でも動作します。バックスラッシュは JSON 内でエスケープが必要になるため避けてください。
日本語入力
PowerShell やコマンドプロンプトでは、IME の変換確定の Enter がそのまま送信として扱われることがあります。Windows Terminal を使うと改善する場合が多いです。VS Code 拡張のサイドパネルでは問題が起きにくいので、日本語で長い指示を書くなら拡張の利用を勧めます。
文字化け
コマンド出力が文字化けする場合は、PowerShell の出力エンコーディングを UTF-8 にします。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
改行コード
Windows のエディタで作った CLAUDE.md や hooks スクリプトが CRLF だと、Git Bash で \r が混入してスクリプトが失敗することがあります。.gitattributes で *.sh text eol=lf を指定し、スクリプトは LF で保存してください。
まとめ
- Windows ネイティブ版は Git for Windows が前提。PowerShell から
irm https://claude.ai/install.ps1 | iexで入る - Linux 向けツールチェーンを使うなら WSL 版。プロジェクトは WSL 内に置く
- hooks やスクリプトは Git Bash 上で動く前提で書き、改行コードは LF にする
- 日本語入力や文字化けは Windows Terminal と UTF-8 設定、または VS Code 拡張で回避する
よくある質問
- Windows で Claude Code を使うのに WSL は必須ですか?
- 必須ではありません。現在は Windows ネイティブ版があり、PowerShell やコマンドプロンプトから直接使えます。ただし Git for Windows(Git Bash)のインストールが必要です。
- ネイティブ版と WSL 版のどちらを選ぶべきですか?
- プロジェクトを Windows 側で開発しているならネイティブ版、Linux 向けのツールチェーンや Docker を多用するなら WSL 版が扱いやすいです。
- ファイルパスの区切り文字で問題は出ますか?
- ネイティブ版では Claude が Windows のパス形式を扱えます。ただし hooks やスクリプトを自作する場合は、Git Bash 上で動く前提で書く必要があります。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合はお問い合わせからお知らせください。