Windows で Claude Code を使うときのつまずき10選と対処

結論

  • Windows でのつまずきの多くは、文字コード(BOM)、PowerShell の実行ポリシー、起動するフォルダの3つに集まります。
  • 権限設定では、allow はフォルダの信頼の確認を承認するまで効かないこと、deny はスクリプト経由の読み取りを止めないことを押さえておきます。
  • 社内に配る前に、この記事の10個を手元の PC で一度確かめておくと、問い合わせを減らせます。

Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)は Windows でも動きますが、macOS や Linux 向けの解説記事のとおりに進めると、思わぬところで止まることがあります。この記事では、中小DXラボの検証や研修の準備で実際に起きたこと、または公式ドキュメントで確かめたことに限って、10個を症状・原因・対処の順にまとめました。

シェルと PowerShell

1. コマンドが Bash ではなく PowerShell で実行される

原因: 公式ドキュメントでは、Git for Windows が入っていない PC では、Claude Code はシェルのコマンドを PowerShell で実行するとされています。Git for Windows を入れると、Git Bash で実行されます。

対処: Bash 前提の手順書を使うなら Git for Windows を入れます。なお公式ドキュメントでは、Git for Windows がある場合も、claude.ai や Console のアカウントでは PowerShell ツールが既定で一緒に使えるとされています。そのため権限設定では、Bash(curl *) だけでなく PowerShell(Invoke-WebRequest *) のような PowerShell 用のルールも書いておきます。社内で配る PC の条件をそろえておくと、手順の食い違いが減ります。

2. PowerShell スクリプトの日本語が文字化けする・構文エラーになる

原因: Windows PowerShell 5.1 は、BOM(ファイルの先頭に付ける文字コードの目印)の無い UTF-8 のスクリプトを、別の文字コードとして読みます。

対処: スクリプトを UTF-8(BOM 付き)で保存し直します。Claude Code にスクリプトを作らせるときは、依頼に「UTF-8(BOM 付き)で保存」と書いておきます。

3. 「このシステムではスクリプトの実行が無効になっている」と出る

原因: PowerShell の実行ポリシーで止まっています。

対処: powershell -NoProfile -ExecutionPolicy Bypass -File スクリプト名.ps1 の形で実行します。この指定はその1回の実行だけに効き、PC の設定は変えません。

文字コードと Excel

4. 作らせた CSV を Excel で開くと文字化けする

原因: CSV が BOM の無い UTF-8 で保存されています。一度は正しく出力されていても、別のツールで保存し直して BOM が消えることもあります。

対処: 依頼に「Excel で開けるよう UTF-8(BOM 付き)で保存」と書きます。毎回書くのが手間なら、CLAUDE.md の守ることに1行入れておきます。

5. Python で読んだ CSV の1列目の名前が合わない

原因: ファイル先頭の BOM が、1列目の列名の一部として読み込まれています。見た目では分かりません。

対処: スクリプトの中で encoding="utf-8-sig" を指定して読むよう頼みます。4 と 5 は「BOM を付ける」「BOM を読み飛ばす」の組み合わせで考えると整理しやすくなります。

権限設定

6. allow に入れたコマンドなのに、毎回確認が出る

原因: そのフォルダで信頼の確認(workspace trust)をまだ承認していません。公式ドキュメントでは、プロジェクトの .claude/settings.json の allow は承認するまで使われず、deny と ask は承認と関係なく効くとされています。claude -p で実行すると、allow を無視したという警告が出ることがあります。

対処: 対話の画面でそのフォルダの claude を一度起動し、信頼の確認を承認します。設定を配ったら、利用者にこの1回をしてもらいます。

7. deny に入れた .env が、スクリプト経由で読めてしまう

原因: Read の deny は、Claude の読み取りツールや cat などには効きますが、スクリプトが自分でファイルを開く読み方には効きません。公式ドキュメントに書かれた仕様です。また、OS のレベルでアクセスを止めるサンドボックスは、執筆時点では Windows ネイティブでは使えず、WSL 2 で使えるとされています。

対処: 本物の API キーや実データを作業フォルダに置かないことを基本にします。強く止めたい場合は、WSL 2 でのサンドボックスや、利用者が上書きできない管理用設定を検討します。

使い方と環境

8. 「ファイルが見つからない」と言われる

原因: 作業するフォルダ以外で Claude Code を起動しています。Claude Code は起動したフォルダを起点に作業します。

対処: cd で作業するフォルダに移ってから起動し直します。研修では、最初に起動するフォルダを全員でそろえておきます。

9. 自分の PC と他の人の PC で、返答の傾向が違う

原因: 自分用の ~/.claude/CLAUDE.md(すべてのプロジェクトに効く個人の指示)も一緒に読み込まれています。頼んでいない一文が返答の最後に付く、といった形で表れることがあります。

対処: 研修や配布の前の確かめは、利用者と同じ条件のアカウントで行います。チームで共有したい内容は、プロジェクト用の CLAUDE.md に移します。

10. スクリプトを動かすと「python が見つからない」と出る

原因: Python が入っていないか、PATH(コマンドを探す場所の一覧)に入っていません。

対処: py -3 スクリプト名.py のように、Windows 用の Python ランチャーで実行してみます。それでも動かなければ Python をインストールします。配る前に、利用者の PC に Python があるかを確かめておくと安心です。

よくある質問

インストールに管理者権限は必要ですか

公式ドキュメントでは、Windows では PowerShell か CMD からインストールでき、管理者として実行する必要はないとされています。ただし、社内でインストールの申請が必要かどうかは別に確認してください。

WSL と Windows ネイティブのどちらで使えばよいですか

サンドボックスを使いたいなら WSL 2 です。Excel や PowerShell の業務ファイルを中心に扱うなら、Windows ネイティブと Git for Windows の組み合わせが始めやすい構成です。どちらにするかは、社内で配る PC の条件に合わせて決めます。

ここにない症状が出ました

まず claude doctor で、インストールや設定の問題が出ていないかを確かめます。症状から引ける早見表もあわせて見てください。

症状から引ける早見表

Claude Code つまずき早見表(Windows・情シス向け) では、この記事の10個を含むつまずきを、キーワードと分類で絞り込めます。各行に出典と、実機で起きたことか公式ドキュメントで確かめたことかの区別を付けています。

参考(公式ドキュメント・執筆時点)

仕様は変わることがあります。社内に配る前に、公式ドキュメントで最新の情報を確認してください。