新しいセッションでClaude Codeを起動しようとしたら「claude native binary not installed」と出て動かない。この状態は、Mac用の本体が入っていないだけです。設定を疑う前に本体のファイルサイズを見れば数秒で判定でき、npmで入れ直せば直ります。
エラーは次のとおりです。
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).
Run the postinstall manually (adjust path for local vs global install):
node node_modules/@anthropic-ai/claude-code/install.cjs
Or reinstall without --ignore-scripts / --omit=optional.
本体のファイルサイズで判定する
npmでグローバルに入れたClaude Codeは、bin/claude.exe が起動コマンドの実体です。まずこのファイルの大きさを確認します。
ls -la "$(npm root -g)/@anthropic-ai/claude-code/bin/claude.exe"
正常なら数百MBあります。筆者のMacで入れ直した後は 274,675,680 バイトでした。壊れているときは500バイトほどしかありません。中身は上のエラーを表示して終了するだけのシェルスクリプトです。
つまり「数百バイトなら本体が入っていない」と判断できます。
エラー文の原因候補に当てはまらないこともある
エラー文は --ignore-scripts と --omit=optional を原因に挙げています。どちらもnpmの設定で確認できます。
npm config get ignore-scripts
npm config get omit
false と空なら、この2つは関係ありません。その場合に疑うのは、インストールが途中で止まったことです。
実際にこれで起動しなくなりました。Claude Codeの自動アップデートが新しい版をnpmで入れている途中で、npmが SIGTERM で終了していました。npmのログには、Apple Silicon用の本体パッケージが「失敗したオプション依存」として削除された記録が残っていました。それでもインストール後の処理は正常終了扱いになり、500バイトのスクリプトだけが残った状態です。
原因をログで確かめたい場合は、他のnpmコマンドを打つ前に ~/.npm/_logs を見てください。npmのログは既定で最新10件しか残りません。調べるために数回npmを実行しただけで、失敗時のログは消えていました。
入れ直す
直し方はグローバルに入れ直すだけです。
npm install -g @anthropic-ai/claude-code@latest
筆者の環境では24秒で終わりました。本体のダウンロードが大きいので、終わるまでターミナルを閉じないでください。途中で止めると同じ状態に戻ります。
終わったら最初の ls -la をもう一度実行し、数百MBになっていることを確認します。
起動中のセッションは止まらない
この状態でも、壊れる前から開いていたClaude Codeのセッションはそのまま使えました。困るのは新しく起動するときだけです。作業中のセッションを閉じずに、別のターミナルで入れ直せば作業を中断せずに済みます。