🔍
Claude DesktopでENOENTエラーが発生してMCPサーバーが起動しない
発生事象
Claude Desktopを起動するとトーストでエラーメッセージが表示され、claude_codeのMCPが起動しない現象に遭遇しました。
とりあえずログを確認すると、以下のようなエラーメッセージが出力されていました。
2025-08-09T09:45:08.525Z [claude_code] [error] spawn /Users/[user_name]/.nodebrew/current/bin/claude ENOENT {
metadata: {
context: 'connection',
stack: 'Error: spawn /Users/[user_name]/.nodebrew/current/bin/claude ENOENT\n' +
' at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n' +
' at onErrorNT (node:internal/child_process:483:16)\n' +
' at process.processTicksAndRejections (node:internal/process/task_queues:90:21)'
}
}
/Users/[user_name]/.nodebrew/current/bin/claude
が見つからないためにMCPサーバの起動に失敗しているようです。
原因調査
原因を特定するために、以下の手順で調査しました。
1. ファイルの存在確認
$ ls -l /Users/[user_name]/.nodebrew/current/bin/claude
やはりファイルが存在しないようです。
ls: /Users/[user_name]/.nodebrew/current/bin/claude: No such file or directory
which
コマンドでパスを確認
2. $ which claude
このコマンドで何も表示されなかったため、claude
が対象のパスにインストールされていないことが分かりました。
nodebrew
の環境を確認
3. まずはnodebrew list
コマンドで、インストールされているnodeのバージョンと現在有効になっているバージョンを確認。
$ nodebrew list
複数のバージョンがインストールされており、現在はv22.17.1
がcurrentとして設定されていることが分かりました。
v18.18.2
v20.11.0
v20.18.1
v22.17.1
current: v22.17.1
claude
実行ファイルの場所特定
4. $ find /Users/[user_name]/.nodebrew -name claude
claude
の実行ファイルはv18.18.2
とv20.18.1
のnodeバージョンにはインストールされていることが判明。
/Users/[user_name]/.nodebrew/node/v18.18.2/bin/claude
/Users/[user_name]/.nodebrew/node/v20.18.1/bin/claude
原因
ここまで来てそういえば最近gemini cli導入時にnodebrew
でnodeのバージョンを切り替えたなと思い出しました。
現在のnodeバージョン (v22.17.1
) にはclaude
コマンドがインストールされていない状態になっていたようですね。
claude-code
をインストール
解決方法: 現在のnodeバージョンにnpm install -g @anthropic-ai/claude-code
インストール後、Claude Desktopを再起動したら解消しました。
Discussion