Claude Codeを入れようとして検索すると、「npmでのインストールは非推奨」「Node.jsが必要」「Node.jsは要らない」と、正反対の情報が並んで出てきます。
結論から言うと、2026年9月時点の公式ドキュメントにnpmを非推奨(deprecated)とする記述はありません。そしてClaude Code本体の動作にNode.jsは必要ありません。
この記事では公式ドキュメントの現在の記述を確認したうえで、「結局どのインストール方法を選べばいいのか」「すでにnpmで入れている人は移行すべきなのか」を整理します。
なお、当サイトのClaude Code 導入方法 完全ガイドにも「npm経由のインストール(レガシー・非推奨)」という見出しがありました。これは公式の記述より踏み込んだ表現だったので、この記事の内容に合わせて訂正します。同じ思い込みをしている人は少なくないはずなので、どこで間違えたのかも含めて書いておきます。
結論
- 公式ドキュメントはnpmを「高度なインストールオプション」として案内している。非推奨とは書かれていない
- Claude Codeの実行にNode.jsは不要。npm版も中身は同じネイティブバイナリで、起動時にNodeを呼ばない
- Node.jsが要るのは「npmという経路でインストールするとき」だけ。v2.1.198以降はNode.js 22以上が前提だが、古いNodeでも警告が出るだけでインストールは完了する
- インストール方法による実質的な差は自動更新が効くかどうか。ネイティブインストールだけが自動で更新される
なぜ「npmは非推奨」という情報が出回るのか
理由は3つあります。どれも「半分は当たっている」ので、余計にややこしくなっています。
① 推奨されるインストール方法がnpmから変わった
以前のClaude Codeはnpmでのグローバルインストールが標準的な導入方法でした。現在の公式ドキュメントで「推奨」とラベルが付いているのはネイティブインストール(curl -fsSL https://claude.ai/install.sh | bash)です。
「推奨が移った」のは事実です。ただし、推奨が移ったことと、元の方法が非推奨になったことは別の話です。
② npmの説明が「高度なインストールオプション」の下に移動した
現在の公式ドキュメントでは、npmの項目はページ冒頭のインストール手順ではなく、後半の「高度なインストールオプション」という見出しの下にあります。バージョン指定インストールや Linuxパッケージマネージャー、バイナリの署名検証と同じ階層です。
ページの目立つ位置から消えたことで「廃止されたらしい」と受け取られたのだと思います。実際には、アップグレードコマンドもアンインストール手順も現役で書かれています。
③ Node.jsのバージョン要件が上がった
v2.1.198以降、npmパッケージはNode.js 22以上を要求するようになりました。このタイミングで EBADENGINE の警告を見た人が「もうnpmでは入らない」と判断した、というパターンです。
これは後述しますが、警告が出てもインストールは完了し、claudeは問題なく動きます。
僕自身、既存記事にそのまま「レガシー・非推奨」と書いていました。バージョン要件の引き上げと、ドキュメント構成の変更を、そのまま「非推奨化」と読んでしまっていたわけです。
公式ドキュメントでの各インストール方法の位置づけ
2026年9月時点で、公式ドキュメントが案内しているインストール方法を並べると次のようになります。
| 方法 | 自動更新 | 公式での扱い |
|---|---|---|
| ネイティブインストール | あり | 推奨 |
| Homebrew | なし | 通常の選択肢 |
| WinGet | なし | 通常の選択肢 |
| apt / dnf / apk | なし | 通常の選択肢 |
| npm | 条件付き | 高度なインストールオプション |
公式ドキュメント「高度なセットアップ」の記述をもとに作成(2026年9月確認)
表にしてみると分かりますが、「非推奨」という語はどこにも使われていません。そしてnpmだけが特別に冷遇されているわけでもなく、自動更新が効かないという点ではHomebrewもWinGetも aptも同じ扱いです。
ここは自分の記事でも間違えていた部分で、既存記事はmacOSの項で「方法A:Homebrewを使う場合(推奨)」と書いていました。公式が推奨しているのはネイティブインストールで、Homebrewはむしろ自動更新されない側です。あわせて訂正します。
Claude CodeにNode.jsは必要か
ここがこの記事の本題です。「必要」「不要」の答えが分かれるのは、実行時の話とインストール時の話が混ざっているからです。分けて整理します。
実行するだけならNode.jsは不要
根拠は2つあります。
1つ目は、公式のシステム要件にNode.jsが入っていないことです。挙げられているのはOSのバージョン(macOS 13.0以上、Windows 10 1809以上、Ubuntu 20.04以上、Debian 10以上、Alpine Linux 3.19 以上)、4GB以上のRAM、x64またはARM64プロセッサ、インターネット接続、シェル(Bash / Zsh / PowerShell / CMD)だけです。ランタイムの記載はありません。
2つ目は、npm版についての公式の説明です。npmパッケージはスタンドアロンインストーラーと同じネイティブバイナリをインストールする、と明記されています。@anthropic-ai/claude-code-darwin-arm64 のようなプラットフォーム別のオプション依存関係としてバイナリを取得し、postinstallがそれを所定の位置にリンクする、という仕組みです。
つまりnpmはバイナリの配送経路として使われているだけで、インストールされたclaude自体はNodeを呼びません。
Node.jsが要るのは「npmで入れるとき」だけ
逆に言えば、npmという経路を選んだときだけNode.jsが必要になります。
v2.1.198 以降、npmパッケージはNode.js 22以上を要求します。ただし公式ドキュメントには、古いNode.jsではインストールが失敗するのではなく EBADENGINE 警告が出力されるだけ、と書かれています。パッケージが取得するのはランタイムにNodeを使わないネイティブバイナリなので、インストールは完了し、claudeも引き続き実行できます。
npm install -g @anthropic-ai/claude-code
なお sudo npm install -g は公式が明確に警告しています。権限の問題とセキュリティリスクにつながるためです。権限エラーが出る場合 sudoを付けるのではなく、npmのグローバルディレクトリ側を見直してください。
「Node.jsを消したらClaude Codeも消える?」
ネイティブインストール・Homebrew・WinGet・aptなどで入れている場合は無関係です。Node.jsをアンインストールしてもClaude Codeはそのまま動きます。
注意が必要なのはnpmで入れている場合です。nvmのように「Node.jsのバージョンごとにグローバル領域が分かれる」管理方法を使っていると、Node.jsのバージョンを切り替えた瞬間に claude: command not found になることがあります。Claude Codeが壊れたわけではなく、切り替え先のバージョンにグローバルパッケージが入っていないだけです。
Claude Code本体の都合ではなく、Node.jsのバージョン管理ツールの都合で起きる現象です。ここが「Node.jsが必要」という理解を生んでいる実務上の原因だと思います。
すでにnpmで入れている人は移行すべきか
「動いているならそのままで良い」が基本です。中身は同じバイナリなので、機能差はありません。
判断基準は1つだけで、自動更新が効いているかどうかです。
公式ドキュメントによると、npmのグローバルディレクトリが書き込み可能でないために自動更新できない場合、Claude Codeは起動時に一度だけ通知を表示し、claude doctorが利用可能な修正を一覧表示します。
確認方法
claude doctor
claude doctorはセッションを開始せずに、インストールの状態と設定の診断を読み取り専用で出力するコマンドです。ここに Auto-updatesの行があり、有効になっているかどうかが分かります。

更新が止まったまま放置されているようなら、移行を検討する価値があります。逆に自動更新が効いているなら、急いで入れ替える理由はありません。
npmからネイティブへ移行する手順
移行する場合は、先にnpm版を消してから入れ直します。
npm uninstall -g @anthropic-ai/claude-code
curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude --versionが2.1.211 (Claude Code) のようにバージョンを返せば完了です。アンインストール後も古いclaudeが呼ばれる場合は、別のインストールが残っているか、古いインストーラーのシェルエイリアスが残っています。
ネイティブインストールでは、~/.local/bin/claudeがランチャーとして~/.local/share/claude/versions/配下へのシンボリックリンクになります。更新のたびにversions/側に新しいバージョンが入り、ランチャーがどれを実行するかを決める構造です。
npmのまま使い続ける場合
アップグレードは次のコマンドで行います。
npm install -g @anthropic-ai/claude-code@latest
公式はnpm update -gを避けるよう案内しています。元のインストール時のsemver範囲を尊重してしまい、最新リリースまで上がらない可能性があるためです。
実務ではどれを選ぶか
ここまでの内容を踏まえた選び方です。
- 特にこだわりがないなら、ネイティブインストール。自動更新が効くのはこれだけで、更新忘れを考えなくて済む
- Homebrew / WinGetで管理を揃えたいなら、それでいい。ただし自分で
brew upgrade/winget upgradeを回す必要がある - CI や Dockerイメージに焼くならapt / dnf / apk。もともとシステムのアップグレードフローに乗せる前提の配布
- npmは、プロジェクトのツールチェーンと管理を揃えたいときの選択肢。非推奨ではないが、自動更新まわりだけは自分で面倒を見ることになる
僕の環境の話
MacではNode.jsをvoltaで管理していて、Claude Codeはnpm系の経路で入れています。npmからpnpmに乗り換えたこともありますが、pnpmを入れてインストールし直しただけで、特に問題なく移行できました。npm経路が実用にならない、ということはありません。
一方でWindowsにはClaude Codeを入れたことがないので、この記事のWindowsに関する記述は公式ドキュメントの内容にとどめています。実機で確認できていない部分は、確認できていないものとして書いています。
npm install -g pnpm

まとめ
- 公式ドキュメントにnpmを非推奨とする記述はない。「高度なインストールオプション」に置かれているだけ
- Claude Codeの実行にNode.jsは不要。npm版も中身は同じネイティブバイナリ
- Node.jsが必要になるのはnpm経由でインストールするときだけ。古いNodeでも警告が出るだけでインストールは通る
- 方法による実質的な違いは自動更新の有無。迷うならネイティブインストール
- すでにnpmで動いているなら、
claude doctorで自動更新の状態を見てから判断すれば十分
インストール後の認証、CLAUDE.mdの書き方、料金プランの選び方までまとめて知りたい場合は、Claude Code の導入方法 完全ガイドを参照してください。この記事で扱ったnpmとNode.jsの記述は、そちらにも反映しています。
