---
title: "PowerShellでclaudeコマンドが起動しない — AI支援ツールの実行環境にハマった記録 | C#もぐもぐ"
description: "ある日PowerShellでclaudeコマンドが起動しなくなった問題を、Claude Code自身と協働で切り分けた記録です。遠回りの末にたどり着いた原因は、AI支援ツールの実行環境が実機と別だったことでした。"
url: "https://blog.223n.tech/posts/241/"
---

# PowerShellでclaudeコマンドが起動しない — AI支援ツールの実行環境にハマった記録

2026年5月18日

[Claude Code](https://blog.223n.tech/tags/Claude%20Code/) [Windows](https://blog.223n.tech/tags/Windows/) [PowerShell](https://blog.223n.tech/tags/PowerShell/) [npm](https://blog.223n.tech/tags/npm/) [Troubleshooting](https://blog.223n.tech/tags/Troubleshooting/)

> ***注記***
>
> この記事は、Claude Code（AIアシスタント）と協働でトラブルシュートした実録です。
> 遠回りした過程もそのまま残しています。結論だけ知りたい方は「原因」と「教訓」をご覧ください。

## はじめに

ある日、PowerShellで`claude`と入力してもClaude Codeが起動しなくなりました。

最初は「コマンド名が変わったのか」と疑いましたが、
結論から言うとコマンドは`claude`のままで変わっていませんでした。

原因にたどり着くまでにかなり遠回りをしたので、その過程と教訓を記録します。

切り分けはClaude Code自身に手伝ってもらいました。

皮肉なことに、その支援ツールの実行環境こそが遠回りの元凶でした。

## 環境

| 項目 | 内容 |
| - | - |
| OS | Windows 11 Pro |
| シェル | PowerShell 7.6.1 |
| Node.js | v24.15.0 |
| npm | 11.12.1 |
| 補助シェル | Git Bash（MINGW64） |

## 症状

新しいPowerShellを開いて`claude`を実行しても、次のエラーになります。

```
claude: The term 'claude' is not recognized as a name of a cmdlet, function, script file, or executable program.
```

## 切り分けの記録

### 1. 診断ツールが応答しない

まず状況を確認しようとしたところ、
PowerShell側の診断コマンドが`Write-Output "hello"`のような最小の内容でも応答しませんでした。

そこで動作するGit Bashへ切り替えて調査を続けました。

このときの「動くほうへ切り替える」という判断が、あとで大きな落とし穴になります。

### 2. そもそも未インストールだった

Git Bashで調べると、次の状態でした。

| 確認項目 | 結果 |
| - | - |
| PATH上の`claude` | なし |
| npmグローバル領域 | ディレクトリごと存在しない |
| `~/.local/bin` | 存在しない |
| Node.js / npm | 利用可能 |
| `~/.claude`（設定） | 残存 |

設定は残っているのに本体だけがない状態でした。コマンド名の変更ではなく、
Claude Code本体が消えていたことが原因と判断し、
`npm install -g @anthropic-ai/claude-code`を実行しました。

インストールは数秒で完了しました。

### 3. 再インストールしたのに実機で起動しない

ところが、ユーザー側の実機PowerShellを新しく開いても、依然として`claude`が見つかりません。

現在のセッションにPATHを一時追加しても結果は同じでした。

### 4. PATHは登録済み、それでも起動しない

Windowsのレジストリ上のユーザー環境変数PATHを確認すると、
`C:\Users\<user>\AppData\Roaming\npm`はきちんと登録されていました。

設定自体は正しいのに起動しません。

ここで「ターミナルアプリが古い環境を保持しているのでは」という仮説を立てましたが、これは外れでした。

### 5. 決定的な発見 — 別環境を見ていた

実機PowerShellで次を実行してもらい、ようやく核心がわかりました。

```powershell
Test-Path "$env:APPDATA\npm"
```

結果は`False`でした。インストール先のディレクトリが、実機からは存在しないのです。

一方、調査に使っていたGit Bashからは同じパスにファイルがはっきり見えていました。

つまり、診断と`npm install`を実行していたGit Bashは、
Claude Codeの支援ツールが動くサンドボックス側の環境であり、
ユーザーが操作している実機とは別のファイルシステムでした。

再インストールは別環境に対して行われ、実機には一切反映されていなかったのです。

最初に「PowerShellの診断が全滅した」のは、そのツールが実機に届いていなかったサインでした。

### 6. 実機で再インストールして解決

原因がわかれば対応は単純でした。実機のPowerShellで直接インストールします。

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

インストール後、フルパスとコマンド名の両方で起動を確認しました。

```powershell
& "$env:APPDATA\npm\claude.cmd" --version
claude --version
```

どちらも`2.1.143 (Claude Code)`を返し、解決しました。

実機のユーザー環境変数PATHには`npm`のパスが元から登録されていたため、
本体さえ入れば新しいセッションでそのまま起動します。

## 原因

直接の原因は、Claude Code本体が実機に存在しなかったことです
（npmグローバル領域がディレクトリごと消失していました）。

遠回りの原因は別にあります。調査と再インストールを、
実機ではなくAI支援ツールのサンドボックス環境に対して行っていたことです。

両者は状態がよく似た別環境だったため、ツール上では成功しているように見えていました。

## 教訓

今回の遠回りから得た教訓は次のとおりです。

- **AI支援ツールの実行環境と実機を同一視しない。**
  - ツールが動くシェルが、必ずしも自分の実機とは限りません。状態が似ていると混同しやすく、危険です。
- **「動くほうへ切り替える」前に、その環境の正体を確認する。**
  - 片方のツールが応答しないときの乗り換えは、別環境への乗り換えになっている場合があります。
- **診断値を実機の事実と取り違えない。**
  - `npm config get prefix`やレジストリの値も、取得した環境のものです。実機での再確認が要ります。
- **状態変更は実機で検証する。**
  - インストールやPATH変更は、最終的に実機で実行し、実機で起動を確認するまで完了とみなさないようにします。
- **応答しないツールはエラーではなくサインのことがある。**
  - 出力が空で失敗し続けるのは、対象に届いていない兆候かもしれません。

## おわりに

`claude`が起動しない原因は、コマンドの変更ではなく本体の消失でした。

そして解決を長引かせた本質は、AI支援ツールの環境と実機の取り違えでした。

支援ツールは便利ですが、その実行環境がどこを指しているのかを意識しないと、
成功したように見えて何も変わっていない、という事態に陥ります。

次に同じ状況へ出会ったら、まず「いま自分はどの環境を見ているのか」を最初に確認しようと思います。

## 参考サイト

- [Claude Code](https://www.anthropic.com/claude-code)
- [npm Docs](https://docs.npmjs.com/)
- [Node.js](https://nodejs.org/)
- [Git for Windows](https://gitforwindows.org/)
- [PowerShell Documentation](https://learn.microsoft.com/powershell/)
- [about_Environment_Variables](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables)

[記事一覧に戻る](https://blog.223n.tech/posts/)
