AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月10日 22:00

macOSの権限不足でエージェントが無言で失敗

LINEで送る
macOSの権限不足でエージェントが無言で失敗

MCPクライアントに実画面を操作させるMCPサーバーを手がけるAutenは、Claude Code、Cursor、Codexで起きるmacOSの無言の失敗はプライバシー権限に起因とするチェックリストを公開した。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

画面を操作するエージェントが必要とする2つの権限の違いを整理している。アクセシビリティは他のアプリのUIツリーを読み取り、合成したマウスとキーボードのイベントを送ることを可能にする。これがないとアクセシビリティAPIの呼び出しはkAXErrorAPIDisabled(-25211)で失敗し、CGEventPostで送られたイベントはエラーを出さずに破棄される。画面収録は他のアプリのピクセルをキャプチャすることを可能にし、記事はより気づきにくい損失にも触れている。CGWindowListCopyWindowInfoのkCGWindowNameによる他のアプリのウインドウタイトルも取得できなくなるため、スクリーンショットを1枚も撮らずとも名前によるウインドウ検索が失敗する。

権限がどこに付与されるかが最も時間を食う点だと説明されている。macOSは要求を「責任のある」アプリに帰属させ、コマンドラインツールの場合それはバイナリ自身ではなく通常それを起動したGUIアプリになる。Auten自身の事例は示唆に富む。同社はあらゆるMCPクライアントに実画面を操作する「手」を提供するMCPサーバーを手がけ、Mac、Windows、Linuxに加えAndroidスマホもベータで対応し、権限設定を順に案内するmacOSインストーラと、何が接続され何が欠けているかを表示するauten statusコマンドを備える。無言の権限エラーこそ、同社自身が最初につまずいた点だったという。

よくある質問
macOSの権限を実際に必要とするのはどのアプリか?
通常はエージェントを起動するアプリであり、コマンドラインバイナリではない。TerminalやiTermで動くClaude CodeならTerminal自身の権限が適用され、Cursor、VS Code、デスクトップのチャットクライアントならそのアプリの権限が適用される。
スクリーンショットが壁紙しか映らないのはなぜか?
画面収録権限が欠けているためだ。これがないと、キャプチャには通常デスクトップとメニューバーは含まれるが他のアプリのウインドウの中身は含まれず、他のアプリのウインドウタイトルも取得できなくなる。
トグルはオンなのに失敗し続ける。どうすればよいか?
権限はコード署名に紐づくため、再ビルドやアップグレードしたバイナリではスイッチがオンのままでも権限が無効になりうる。項目を削除して再追加する。また、macOSの再確認ダイアログが待機していないかも確認する。無人で動くエージェントはこれに応答できない。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へ詐欺師を翻弄するAIボット35万体を運用