macOS で Clash が「開けません」「壊れています」と表示される場合の対処:ネットワーク拡張機能とキーチェーン権限の解決策
macOS で Clash クライアントをインストールすると「開けません」「壊れています」やネットワーク拡張機能の認証失敗が発生しがちです。セキュリティ設定、ネットワーク拡張機能、キーチェーンの対処手順をシステムバージョン別に解説します。
macOS 上で Clash 系クライアント(ClashX、ClashX Meta、Clash Verge Rev、Clash Nyanpasu など)を初めて起動する際にブロックされる原因は、大きく分けて 3 つのシステム階層に起因します。Gatekeeper による公証チェック、ネットワーク拡張機能の認証フロー、キーチェーンのアクセス制御です。表示されるダイアログの文面はよく似ていますが、対処方法は完全に異なるため、コマンドを混同すると余計に混乱しがちです。
本記事では「まずどの階層で引っかかっているかを特定し、そのうえで OS のバージョンに合った設定画面を開く」という順序で対処手順を整理しました。macOS 13 Ventura 以降の「システム設定」を軸に解説し、macOS 12 Monterey 以前の「システム環境設定」の対応箇所も併記しています。
エラーの見分け方:3 種類のダイアログとそれぞれの仕組み
多くの Clash クライアントは Apple の有償デベロッパー署名・公証を通していないコミュニティ開発版か、再パッケージ後に署名が無効化されているため、システムが手動での許可を要求してきます。まずは表示されたダイアログの文面を下表と照らし合わせ、どの階層で止まっているかを特定してから、該当するセクションへ進んでください。
| ダイアログの文面 | 該当する階層 | 対処箇所 |
|---|---|---|
| 「壊れているため開けません。ゴミ箱に入れる必要があります」 | ダウンロード時の隔離属性 | ターミナルで quarantine を除去(第2節) |
| 「開発元が未確認のため開けません」/「Apple はこのアプリに問題がないかを確認できませんでした」 | Gatekeeper の公証チェック | 右クリックで開く、または「このまま開く」(第3節) |
| 「ネットワークコンテンツをフィルタリングしようとしています」/「システムソフトウェアの読み込みがブロックされました」、拡張モードが有効化できない | ネットワーク拡張機能の認証 | システム設定内の3箇所を許可(第4節) |
| 起動時に「キーチェーンに保存された機密情報を使用しようとしています」が繰り返し表示される | キーチェーンのアクセス制御 | 常に許可、またはキーチェーンの修復(第5節) |
これら4種類のエラーは同時に発生することもあります。まず「開けない」問題を解決し、次に「開いたが拡張モードが効かない」問題、最後に「起動ごとにパスワードを求められる」問題へと進んでください。本記事の順序どおりに進めれば、手順を飛ばす必要はありません。
「壊れています」への対処:ダウンロード時の隔離属性を除去する
ブラウザやチャットツール経由でダウンロードした dmg・zip ファイルには、システムが自動的に com.apple.quarantine という拡張属性を付与します。この属性が付いたアプリは署名検証に失敗すると「壊れています」という表示になります。対処法はこの属性を削除することであり、再ダウンロードを繰り返しても意味がありません——再ダウンロードしたファイルにも同じ隔離属性が付くため、結果は変わりません。
- dmg からアプリを「アプリケーション」フォルダにドラッグし、最終的なパスが
/Applications/ClashX.app(実際のアプリ名に応じて読み替え)になっていることを確認します。 - 「ターミナル」を開きます(Launchpad → その他 → ターミナル)。
- 以下のコマンドを実行し、ログインパスワードを入力(入力中は文字が表示されませんが正常です)して Enter を押します。
sudo xattr -rd com.apple.quarantine /Applications/ClashX.appパラメータの意味:-r はアプリバンドル内のすべてのファイルに再帰的に適用、-d は指定した属性を削除します。パスに空白が含まれる場合はパス全体を引用符で囲んでください。コマンドの末尾に半角スペースを1つ空けておき、アプリのアイコンを Finder からターミナルウィンドウへ直接ドラッグすればパスが自動入力され、手入力によるミスを避けられます。
注意
このコマンドは、このアプリ1つに対して Gatekeeper のチェックを回避するものです。公式 GitHub リポジトリや信頼できる配布元から入手したインストーラーにのみ実行してください。出所不明のインストーラーは削除し、許可しないようにしてください。
「開発元が未確認」への対処:Gatekeeper を一度だけ許可する
このダイアログは「壊れています」より対処が簡単で、システム標準の一度限りの許可機能を使えばコマンドラインは不要です。以下の2つの方法のどちらかで対応できます。
方法1(推奨):Finder でアプリを見つけ、Control キーを押しながらアイコンをクリック(または2本指でクリック)し、「開く」を選択します。このときダイアログに「開く」ボタンが追加表示されるので、それをクリックすればシステムがこの選択を記憶し、以後はダブルクリックで通常起動できるようになります。
方法2:アプリがブロックされてから約1時間以内に、「システム設定 → プライバシーとセキュリティ」を開き、「セキュリティ」の項目までスクロールすると「“xxx”がブロックされました」という表示が出ます。「このまま開く」をクリックし、パスワードを入力して確定してください。
バージョン対応表:macOS 13 Ventura 以降は「システム設定 → プライバシーとセキュリティ」から、macOS 12 Monterey 以前は「システム環境設定 → セキュリティとプライバシー → 一般」からアクセスします。後者では画面左下の鍵アイコンをクリックしてロックを解除しないと「このまま開く」を選択できません。
推奨しない方法
一部の古い解説記事では sudo spctl --master-disable を実行して「すべてのアプリケーションを許可」を有効化する方法が紹介されていますが、これは Mac 全体の Gatekeeper を無効化する操作です。以降ダウンロードするすべてのアプリがチェックを受けなくなるため、影響範囲が大きすぎます。アプリごとに個別許可すれば十分に対応できるため、この全体設定の変更は避けてください。
ネットワーク拡張機能の認証:拡張モードと TUN モード
ClashX Meta の「拡張モード」や mihomo 系クライアントの TUN モードは、いずれもシステムレベルのネットワーク拡張機能をインストールし、Mac 全体の通信を引き継ぐ仕組みです。macOS はこの種の拡張機能に対して明示的な許可を必須としており、初回有効化時には次の2種類のダイアログが順番に表示されます。
- 「“xxx”がネットワークコンテンツをフィルタリングしようとしています」:コンテンツフィルターの認証で、「許可」をクリックします。
- 「開発元“xxx”のシステムソフトウェアの読み込みがブロックされました」:システム拡張機能の読み込み認証で、設定画面から「許可」する必要があります。
macOS 13 以降では、以下の3箇所の許可設定をそれぞれ確認してください。
- 「システム設定 → ネットワーク → フィルタ」:対象クライアントのフィルタがオンになっているか確認してください。初回ダイアログで誤って「許可しない」を選んだ場合はここで再度オンにできます。
- 「システム設定 → 一般 → ログイン項目と拡張機能 → ネットワーク拡張機能」:対象クライアントの拡張機能が有効になっているか確認してください。
- 「システム設定 → プライバシーとセキュリティ → セキュリティ」:「ブロックされました」という表示が出た場合は「許可」をクリックします。OS のバージョンによっては Mac の再起動が必要な場合があります。
許可設定を済ませても反映されない場合の対処順序:メニューバーのアイコンからクライアントを完全に終了し再起動する→クライアントの設定画面で拡張モードや TUN スイッチを一度オフにしてから再度オンにする→他のプロキシツールのネットワーク拡張機能と併用していないか確認する(同時に有効化できる TUN デバイスは1つのみで、競合すると後から起動した側が失敗します)。
TUN モードの利点は、システムプロキシ設定に依存せず、システムプロキシに従わないアプリ(一部の CLI ツール、ゲームクライアント、サンドボックスアプリなど)の通信もまとめて処理できることです。通常のウェブアクセスだけならシステムプロキシで十分で、端末全体の通信を引き継ぎたいときだけ拡張モードや TUN を有効化してください。
キーチェーンのダイアログが繰り返し表示される場合:認証情報の書き込みとログインキーチェーンの修復
クライアントがシステムプロキシを設定したり、特権ヘルパーツールをインストールしたり、サブスクリプション内のノード認証情報を読み込んだりする際には、ログインキーチェーンへのアクセスが発生します。「“xxx”がキーチェーンに保存された機密情報を使用しようとしています」というダイアログ自体は正常な処理で、一度「常に許可」をクリックすれば十分です。毎回起動時に表示される場合は、許可がキーチェーンに書き込まれていないことを意味します。
- ダイアログでログインパスワードを入力し、「常に許可」をクリックしてください——「許可」ではなく「常に許可」を選ぶ必要があります。「許可」は今回のプロセスにのみ有効です。
- それでも繰り返し表示される場合:「キーチェーンアクセス」を開き、左側で「ログイン」キーチェーンを選択し、クライアント名で検索して該当項目をダブルクリックします。「アクセス制御」タブに切り替え、「すべてのアプリケーションがこの項目にアクセスすることを許可」を選ぶか、クライアントを「常に許可」リストに追加してください。
- macOS のログインパスワードを変更した後にシステム全体でダイアログが連続表示される場合:ログインキーチェーンのパスワードとアカウントパスワードが同期していない状態です。キーチェーンアクセスを開き、メニューバーの「キーチェーンアクセス → 環境設定 → デフォルトキーチェーンを復元」を実行すると、再構築後はキーチェーンのパスワードがログインパスワードと自動的に一致します。
操作前に確認してください
「デフォルトキーチェーンを復元」を実行すると、そのキーチェーンに保存されているすべてのパスワードや認証情報(ウェブサイトのパスワード、Wi-Fi パスワードなど)が消去されます。実行前に重要な認証情報を別途バックアップしているか、または iCloud キーチェーンから復元できることを確認してください。
また、アプリを更新すると署名の識別子が変わることがあり、それに伴って以前の「常に許可」の記録が無効になります。更新後の初回起動時に再度許可を求められるのは想定どおりの動作であり、故障ではありません。
アーキテクチャの選択ミス:Apple シリコン版と Intel 版
「壊れています」と表示される別の頻出原因は、インストーラーのアーキテクチャの選択ミスです。画面左上の メニュー → 「この Mac について」をクリックし、「チップ」欄に Apple M シリーズと表示されていれば arm64 機種、Intel と表示されていれば x86_64 機種です。Apple シリコン機種では名称に arm64 または universal を含むパッケージを、Intel 機種では x86_64 のパッケージをダウンロードしてください。
Apple シリコン搭載機で Intel 版クライアントをどうしても動かす必要がある場合は、まず Rosetta 2 変換レイヤーをインストールしてください。
softwareupdate --install-rosetta --agree-to-license主要なクライアント(ClashX Meta、Clash Verge Rev、Clash Nyanpasu)はいずれも両アーキテクチャ対応の配布版を提供しています。対応するアーキテクチャのネイティブ版を選ぶ方が変換に頼るより動作が安定し、リソース消費も抑えられます。
インストール後の確認チェックリスト
- メニューバーにクライアントのアイコンが表示され、パネルを開けてノード一覧が確認できる。
- ターミナルで
scutil --proxyを実行し、HTTPEnableが 1、HTTPPortがクライアントのポート番号(ClashX は既定 7890、Clash Verge Rev は既定 7897)になっていることを確認する。 lsof -nP -iTCP:7890 -sTCP:LISTEN(ポート番号は実際の値に合わせて変更)を実行し、クライアントのプロセスが待ち受けていることを確認する。- サブスクリプションのリンクをインポートし、プロキシモードを「ルール」に設定して、ブラウザで海外サイトへアクセスし接続を確認する。
- 拡張モードや TUN を有効化したら、システムプロキシを経由しないアプリで動作を再確認する。
以上のすべての手順が通れば、3つの階層の権限がすべて正しく設定されています。この先、サブスクリプションの更新、ルール分岐、LAN 共有などで困った際は、サイト内の解説記事や用語集ページも合わせてご覧ください。
DOWNLINK READY
Clash クライアントをダウンロード
macOS 版(arm64 / x86_64 両対応)に加え、Windows、Linux、Android 版もダウンロードページからプラットフォーム別に入手できます。