Claude Code をターミナルで起動しようとしたら、Error: claude native binary not installed というエラーが出て動かなくなったことがありました。
私の場合は、前は普通に使えていたのに、ある日突然このエラーが出るようになったパターンでした。
この記事では、そのときに私が実際にやって解決した手順を、順番にまとめています。
あわせて、調べる中で見つけた別の対処法も、私が試したものとは分けて紹介します。
まず、このエラーは何が起きているのか
ターミナルで claude と打つと、こんなエラーが表示されました。
Error: claude native binary not installed.
Either postinstall did not run (--ignore-scripts, some pnpm configs)
or the platform-native optional dependency was not downloaded (--omit=optional).
英語なのでちょっと身構えてしまいますが、ざっくり言うと「Claude Code が中途半端にしか入っていない状態」です。
Claude Code は、コマンドを動かすための本体(ネイティブバイナリと呼ばれる部分)を、インストールのときに一緒にダウンロードする仕組みになっています。
この本体部分がうまく入らなかったり、途中で欠けてしまったりすると、
命令を受け取る入り口だけあって中身が空っぽ、という状態になります。
その結果が「native binary not installed(本体が入っていません)」というエラーです。
私のように「前は使えていたのに急に」というケースは、アップデートが途中で失敗して、本体だけ壊れてしまったことが多いようです。
私が実際にやって解決した手順
ここからは、私が実際に順番にやって直った流れです。
環境はMac(zsh、npmはHomebrew経由でインストール)です。
①まず再インストールを試す
最初にやったのは、シンプルに入れ直すことでした。
npm install -g @anthropic-ai/claude-code --force
–force は「今あるものを上書きして入れ直す」という意味の指定です。
ただ、私の場合はこれだけでは直りませんでした。
次のような別のエラーが出てきたからです。
②「directory not empty」で再インストールが失敗した
再インストールしようとしたら、今度はこんなエラーが出ました。
npm error code ENOTEMPTY
npm error ENOTEMPTY: directory not empty, rename ...
これは、壊れた古いフォルダが邪魔をして、新しいファイルに入れ替えられない状態です。
npm は入れ直すとき、古いフォルダを一度どかしてから新しいものを置くのですが、その「どかす」作業が失敗していました。
③壊れたフォルダを手動で削除してから入れ直す
そこで、じゃまをしている古いフォルダを自分で消してから、もう一度インストールしました。
sudo rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
この2行で、無事に claude コマンドが使えるようになりました。
フォルダの場所(/opt/homebrew/…)は、npmをどうやって入れたかで変わることがあります。
自分の環境での場所は、下のコマンドで確認できます。
npm config get prefix
ここで表示された場所の lib/node_modules/@anthropic-ai/claude-code が、削除するフォルダになります。
sudo を使うときの注意
sudo を実行するとパスワードを求められますが、これはMacのログインパスワードです。
入力しても画面に文字は表示されませんが、ちゃんと入力されています。そのままEnterで大丈夫でした。
調べたところ、こういう対処法もありました
ここからは、私が試したものではなく、調べる中で見つけた別の対処法です。
私が使ったのは上の「削除して入れ直す」方法ですが、このエラーの原因そのもの(本体部分がダウンロードされていない)に直接効く方法として、optional な依存パッケージを明示的に含めて入れ直すやり方が紹介されていました。
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code --include=optional
–include=optional は「省略されがちな追加パッケージも、ちゃんと一緒に入れる」という指定です。
native binary not installed のエラー文にも「optional dependency was not downloaded(optionalの依存が落ちてこなかった)」と書かれているので、そこを名指しで補うイメージだと思います。
私の環境では試していないので断言はできませんが、Claude Codeの公式のやりとりの中でも挙がっていた方法なので、削除して入れ直す前に試す選択肢としてもよさそうです。
他のエラーも一緒に出ている場合
実は私がこのエラーに遭遇したときは、最初に別のエラー(zsh: permission denied: claude)が出ていて、それを直したあとに native binary not installed が出てきました。
「入り口の権限のエラー」と「本体が入っていないエラー」が、続けざまに出てくることがあります。
そのときの一部始終(どのエラーがどの順番で出て、それぞれどう直したか)は、別の記事に時系列でまとめています。
複数のエラーが連続して出て混乱している場合は、こちらもあわせて読むと流れがつかみやすいと思います。

今後また出たときのために(覚え書き)
同じことがまた起きたとき、自分がすぐ思い出せるように、確認用のコマンドをまとめておきます。
私自身が次にこのエラーを見たときも、まずはここを見返すつもりです。
| コマンド | 何を確認できるか |
| which claude | claudeコマンドが今どこにあるか(見つからなければ場所の問題) |
| npm config get prefix | npmで入れたものが置かれている場所(削除するフォルダの目印) |
| node –version | Node.jsのバージョン確認 |
| claude –version | Claude Codeが正常に入っているか(バージョンが出ればOK) |
最後の claude –version でバージョン番号が表示されれば、ちゃんと直っている合図です。
まとめ
「native binary not installed」は、Claude Code の本体部分が入りきっていないときに出るエラーでした。
私の場合は、再インストールだけでは直らず、壊れた古いフォルダを手動で削除してから入れ直すことで解決しました。
エラー文に optional の依存が落ちてこなかったと書かれていることから、調べた範囲では –include=optional を付けて入れ直す方法も原因に直接効きそうでした。まず軽く試すならこちらから、という手もあると思います。
Claude Code は更新が速いぶん、アップデートのタイミングでこういう半端な状態になることがあるようです。
「前は動いていたのに急に」というときは、一度きれいに入れ直すと直ることが多いので、私はこの覚え書きを見返しながら対処しています。


