Claude Media
Claude DesktopがMacでRosetta警告を出す理由と確認手順

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. 1

    macOS 27以降であることを確認する

    この一覧画面は、AppleのサポートページがmacOS 27 Golden Gate以降を前提としています。

  2. 2

    システム設定を開く

    Appleメニューから「システム設定(System Settings)」を選びます。

  3. 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つです。

  1. 最新版に更新する。Appleは「アプリの更新を探す」ことを第一の対処として案内しています。アプリの更新を済ませたら、上のfileコマンドで同梱状態を見直せます。
  2. Rosettaが入っていることを前提にする。macOS 27以前なら、通知が出ても動作は続きます。Rosettaが未導入の環境では、Intel向けアプリの初回起動時に導入を求められます。端末から入れるときのコマンドはsoftwareupdate --install-rosettaです。
  3. 進捗を追う。修正の進み具合は、issue #92303の状態(open / closed)で追えます。
softwareupdate --install-rosetta

業務用のMacを管理する側は、通知が出るアプリの一覧をチームで共有しておくとよいでしょう。PKGでの一括配布の流れはClaude DesktopをmacOSで一括導入する手順(PKG)にまとめています。

同じ通知を見かけたときの切り分け

Intel向けの部品が残っていれば、Claude Desktop以外のアプリでも同じ文面の通知が出ます。出どころは次の順で切り分けます。

  1. 通知の文面にClaudeの名前が出ているか。出ていなければ別のアプリが原因なので、そのアプリの更新を確認します。
  2. Finderの情報で種類が「アプリケーション(Intel)」か。そうなら本体がIntel専用で、この記事のケースとは別です。
  3. 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の使い方を併用している場合も、確認手順は変わりません。

この記事を共有:XはてブLinkedIn