Claude DesktopがMacでRosetta警告を出す理由と確認手順
Apple SiliconのMacでClaude Desktopを使うと出るIntelアプリ廃止の通知は、同梱のnode-ptyがIntel向けビルドだけという報告が原因です。確認コマンドと影響範囲を説明します。
Apple SiliconのMacでClaude Desktopを使っていて「Intelベースのアプリのサポートが終了する」という通知が出たなら、原因はアプリ本体ではなく、同梱されたターミナル用の部品にあるという報告があります。GitHubのissue #92303は、node-ptyのヘルパーがIntel(x86_64)向けしか入っていないため、使うたびにRosetta 2が呼ばれて警告が繰り返し出ると指摘しています。
アプリ全体がIntel専用というわけではありません。ここでは警告が出る仕組み、自分のMacで確かめる手順、影響の範囲を順に説明します。
警告の原因は同梱のnode-ptyにある
issueの報告者は、macOS 26(Apple Silicon)とClaude Desktop 1.46388.4の組み合わせで確認しています。/Applications/Claude.appの本体実行ファイルはユニバーサルバイナリ(x86_64とarm64の両方を含む形式)で、Apple Siliconではネイティブに動きます。
問題の部品は次のパスにあります。
Claude.app/Contents/Resources/app.asar.unpacked/
node_modules/node-pty/prebuilds/darwin-x64/spawn-helper報告では、このファイルがx86_64だけのMach-O実行ファイルで、arm64のスライスを持ちません。prebuildsの下にdarwin-arm64のディレクトリも見当たらないとされています。
node-ptyは、アプリがシェルを擬似端末(PTY)経由で動かすためのネイティブモジュールです。Intel向けの実行ファイルが呼ばれると、macOSはRosetta 2で翻訳して実行します。報告者の観察では、アプリのBashツールやターミナルパネルでシェルコマンドを動かすたびにRosettaが起動し、そのたびに「Intelベースのアプリはサポートされなくなります」という通知が出ます。
要点は次のとおりです。
- 本体はネイティブで動き、警告の引き金は端末機能の部品だけ
- 通知が出るのは端末やシェルコマンドを使った場面
- issueが求めている修正は、
node-ptyにarm64のビルドを同梱すること
なお、同じissueには、Claude Codeのコマンドラインツール本体(claude、報告時はv2.1.261)はarm64ネイティブで影響を受けないと書かれています。ターミナルでclaudeを使っているだけなら、この警告とは別の話です。
自分のMacで同じ状態か確かめる
通知が本当にClaude Desktopに由来するのか、端末で確かめる方法は2つあります。1つ目は、issueの再現手順そのものです。
file "/Applications/Claude.app/Contents/Resources/app.asar.unpacked/\
node_modules/node-pty/prebuilds/darwin-x64/spawn-helper"報告ではMach-O 64-bit executable x86_64と表示されました。x86_64 arm64のように両方が並べば、その部品はユニバーサルです。アプリのバージョンが違えば結果も変わる可能性があるので、手元の実行結果を優先してください。パスが存在しなければ、同梱の構成が変わっています。
2つ目はAppleが案内する、Intelベースのアプリの一覧を出す方法です。
Intelベースのアプリを一覧で確認する
- 1
macOS 27以降であることを確認する
この一覧画面は、AppleのサポートページがmacOS 27 Golden Gate以降を前提としています。
- 2
システム設定を開く
Appleメニューから「システム設定(System Settings)」を選びます。
- 3
Intel-based Appsの詳細を開く
「一般(General)」→「情報(About)」を開き、macOSの欄にある「Intel-based Apps」の「Details」を押します。
一覧には、最近使ったアプリか、よくある場所にインストールされたアプリが出ます。Claude本体が載るかどうかは、本体がユニバーサルである以上、この一覧では判断しにくい点に注意してください。一覧が示すのはアプリ単位で、部品単位ではないからです。この記事のケースは部品だけがIntel向けなので、fileコマンドの結果のほうが原因に直接つながります。
アプリ単位の種別は、Finderの「情報を見る」でも確認できます。
- Claudeアプリを一度選び、Command-Iを押す
- 「種類」が「アプリケーション(Universal)」(英語表示では
Application (Universal))なら、IntelとApple Siliconの両対応 - 「アプリケーション(Intel)」(
Application (Intel))なら、Intel向けのみ
報告者のClaude.appは本体がユニバーサルなので、ここがUniversalと表示されるのは矛盾しません。それでも通知が出るのは、実行時に呼ばれる部品側がIntelだからです。
警告は「故障」ではなく「予告」にあたる
通知は、今すぐ動かなくなるという意味ではありません。Appleは、RosettaをmacOS 27以前のApple Silicon Macで使えると説明しています。macOS 28からは、Intel向けフレームワークに依存する一部の古いゲームに限って機能が残る予定です。
つまり、macOS 27までの環境では、Intel向けの部品が引き続き翻訳されて動きます。通知はあくまで「将来のmacOSで、このアプリまたはその部品が動かなくなる」という予告です。AppleのサポートページにもIntelアプリを開いたときの通知の例が載っており、macOS 28への言及があります。
では、macOS 28で何が起きるのか。AppleのページはRosetta機能の範囲しか書いておらず、Claude Desktopの端末機能がどうなるかには触れていません。issueにも、macOS 28での挙動の検証は書かれていません。ここは推測を避け、修正が出たかどうかを待つのが現実的です。
読者側で取れる対処
issueの修正はアプリ側(ビルドの同梱内容)の作業なので、利用者がnode-ptyを差し替える手段は用意されていません。アプリ内のファイルを手で書き換えると、コード署名が壊れたり、更新で戻ったりする恐れがあるため、この記事では勧めません。利用者側でできるのは、次の3つです。
- 最新版に更新する。Appleは「アプリの更新を探す」ことを第一の対処として案内しています。アプリの更新を済ませたら、上の
fileコマンドで同梱状態を見直せます。 - Rosettaが入っていることを前提にする。macOS 27以前なら、通知が出ても動作は続きます。Rosettaが未導入の環境では、Intel向けアプリの初回起動時に導入を求められます。端末から入れるときのコマンドは
softwareupdate --install-rosettaです。 - 進捗を追う。修正の進み具合は、issue #92303の状態(open / closed)で追えます。
softwareupdate --install-rosetta業務用のMacを管理する側は、通知が出るアプリの一覧をチームで共有しておくとよいでしょう。PKGでの一括配布の流れはClaude DesktopをmacOSで一括導入する手順(PKG)にまとめています。
同じ通知を見かけたときの切り分け
Intel向けの部品が残っていれば、Claude Desktop以外のアプリでも同じ文面の通知が出ます。出どころは次の順で切り分けます。
- 通知の文面にClaudeの名前が出ているか。出ていなければ別のアプリが原因なので、そのアプリの更新を確認します。
- Finderの情報で種類が「アプリケーション(Intel)」か。そうなら本体がIntel専用で、この記事のケースとは別です。
fileコマンドでspawn-helperがx86_64だけか。そうならissue #92303と同じ状態で、アプリ側の修正待ちになります。
macOS用の導入の流れはClaude Mac版のダウンロードとインストールで扱っています。この記事のケースでは本体は両対応なので、部品単位の問題だと見分けるところまでが要点です。
警告と別の症状を混同しない
Mac版では、Rosetta以外にも権限やキーチェーンまわりのダイアログが出ます。見た目が似ているため、原因を取り違えやすい点に気をつけてください。キーチェーンのパスワード要求はClaudeアプリでMacのキーチェーンが求められる理由で別に説明しています。
見分けるポイントは文面です。Rosettaの通知にはIntelベースのアプリへの言及があり、キーチェーンの要求にはパスワードの入力欄や許可の選択肢が付きます。通知を閉じても、アプリ自体は動き続けます。
issueで確かめられたことと、macOS 28での未確認点
issueで確かめられたことと、残っていること
確かめられたこと
- 本体はユニバーサルで、Apple Siliconでネイティブに動く
node-ptyのspawn-helperがx86_64のみ- 端末機能の利用でRosettaが呼ばれ、警告が繰り返し出る
まだ分からないこと
- macOS 28で端末機能がどう動くか
- 修正がいつ入るか
fileの結果が今後のバージョンでも同じか
通知への備えとして、手元で取れる確認はfileコマンドの1行だけです。修正が入ったかどうかは、アプリを更新したあとにこのコマンドを再実行すれば分かります。ターミナルからDesktopを開くclaude --desktopの使い方を併用している場合も、確認手順は変わりません。