ANTIGRAVITY LABEN
記事一覧/Antigravity 基本
Antigravity 基本/2026-04-28中級

Antigravity の許可ダイアログが何度も表示される・「常に許可」が効かないときの診断と解決ガイド

Antigravity でコマンド実行のたびに「許可しますか?」ダイアログが繰り返し表示される問題。原因はワークスペース信頼の不一致・許可パターンの書き方・設定の保存場所の3つに集約されます。実機検証した修正手順を解説します。

antigravity435permission3settings2troubleshooting88approval2

Antigravity を使っていて、npm installgit status のような同じコマンドを1日に何度も「許可しますか?」と聞かれていませんか。「常に許可」を押したはずなのに、翌朝開き直すとまた最初から確認が始まる—この症状で作業が止まっている方は珍しくありません。

私自身、Antigravity に乗り換えて最初の1週間は、この許可ダイアログとの戦いで開発リズムが完全に崩れました。原因を追ってみると、許可リストはちゃんと保存されているのに、Antigravity 側がその設定を読んでくれない条件が複数あったのです。ここでは実機で再現できた3つの原因と、それぞれの恒久的な解決策を順番に整理していきます。

なぜ許可ダイアログが繰り返し表示されるのか

Antigravity の許可システムは VS Code の Workspace Trust とは別の仕組みで動いています。具体的には、エージェントが run_terminal_command ツールを呼び出すたびに、許可リストに照合してマッチしなければダイアログを出す、というシンプルな設計です。

許可リストは3つの場所に分かれて保存されます。

  • User 設定: ~/Library/Application Support/Antigravity/User/settings.json(macOS の場合)
  • Workspace 設定: プロジェクトルートの .antigravity/settings.json
  • Session メモリ: Antigravity を起動している間だけ保持される一時許可

「常に許可」をクリックしたとき、どの場所に保存されるかは、その時点で開いているワークスペースの信頼状態によって決まります。ここが今回の混乱の発生源です。

原因1: ワークスペース信頼が「Restricted Mode」になっている

最も多いのがこのケースです。Antigravity でプロジェクトを開いた直後、画面右下に小さく「This workspace is in Restricted Mode」と表示されていませんか。Restricted Mode の状態で「常に許可」を押すと、設定はワークスペース側に保存されず、セッションメモリに一時的に置かれるだけです。Antigravity を再起動すると当然消えます。

確認方法はシンプルです。コマンドパレット(Cmd+Shift+P / Ctrl+Shift+P)を開き、Workspaces: Manage Workspace Trust を実行してください。「Trusted」になっていない場合、これが直接の原因です。

解決手順

  1. コマンドパレットから Workspaces: Manage Workspace Trust を開く
  2. 「Trust」をクリックし、対象フォルダを信頼済みに変更する
  3. 既存の許可エントリをクリアして、もう一度同じコマンドを実行
  4. 出てきたダイアログで「常に許可」を選択する

これでワークスペース側の .antigravity/settings.json に許可エントリが書き込まれ、再起動後も維持されます。

原因2: 許可パターンとコマンド文字列が一致していない

2つ目の落とし穴は、保存されている許可パターンが実行コマンドと厳密に一致していないケースです。Antigravity の許可マッチングは、デフォルトでは前方一致ではなく完全一致で動きます。

たとえば過去に npm install で許可した場合、npm install --save-dev typescript は別コマンドとして再度ダイアログが出ます。エージェントが日々生成するコマンドは引数が微妙に変わるため、完全一致ではすぐに許可リストの効力が切れてしまうのです。

settings.json で wildcard 許可を設定する

ユーザー設定ファイル(~/Library/Application Support/Antigravity/User/settings.json)を開いて、以下のように antigravity.commands.alwaysAllow を編集します。

{
  "antigravity.commands.alwaysAllow": [
    {
      "pattern": "npm install*",
      "match": "glob"
    },
    {
      "pattern": "npm run *",
      "match": "glob"
    },
    {
      "pattern": "git (status|log|diff|branch).*",
      "match": "regex"
    },
    {
      "pattern": "ls *",
      "match": "glob"
    },
    {
      "pattern": "cat *",
      "match": "glob"
    }
  ]
}

設定の意味を順に説明します。pattern がマッチさせたい文字列、match がマッチング方式(exact / glob / regex)です。glob は shell のワイルドカード相当で、* が任意の文字列に対応します。regex は正規表現で、複雑な分岐をひとつのエントリに集約できます。

実行頻度の高い読み取り系コマンドは glob で広めに、書き込み系(rmgit pushnpm publish など)は exact で慎重に扱う、という使い分けが現場では落ち着きどころです。

期待される動作

設定を保存したあと、Antigravity を再起動せずにコマンドパレットから Antigravity: Reload Permission Settings を実行すると即座に反映されます。エージェントが npm install --save-dev typescript を実行しても、もうダイアログは出ません。

原因3: 設定ファイルが上書きされている

3つ目はやや見つけにくい原因です。Settings Sync を有効にしていると、別のマシンで開いた Antigravity が空の許可リストを同期してきて、こちらの設定を上書きしてしまうことがあります。私の場合、デスクトップとノート PC の両方で Antigravity を使っていて、ノート PC 側で許可を1つも追加していなかったため、デスクトップの設定が定期的に消える状態になっていました。

解決手順: 許可リストを Sync 対象から外す

設定ファイルに以下を追記すると、許可リストはローカル専用になり、Settings Sync に巻き込まれません。

{
  "settingsSync.ignoredSettings": [
    "antigravity.commands.alwaysAllow",
    "antigravity.commands.alwaysDeny"
  ]
}

これでマシンごとに独立した許可リストを保てます。複数台で Antigravity を使う方には強くおすすめします。

危険なコマンドを自動拒否する設定

「常に許可」を広めに設定すると、エージェントが想定外のコマンドを実行するリスクが増えます。これを防ぐには、alwaysAllow と対になる alwaysDeny リストを併用するのが安全です。

{
  "antigravity.commands.alwaysDeny": [
    {
      "pattern": "rm -rf /*",
      "match": "glob"
    },
    {
      "pattern": "sudo *",
      "match": "glob"
    },
    {
      "pattern": "git push --force*",
      "match": "glob"
    },
    {
      "pattern": ":(){ :|:& };:",
      "match": "exact"
    }
  ]
}

alwaysDeny のマッチングは alwaysAllow より優先されるため、alwaysAllow 側で git * を許可していても git push --force だけは確実にブロックできます。私はこの 4 行をすべてのプロジェクトで標準テンプレートにしています。

トラブルが残るときのデバッグ手順

ここまで設定しても症状が続く場合、次の順番で原因を切り分けてください。

  1. コマンドパレットで Antigravity: Show Permission Resolver Logs を実行し、どのパターンと照合されているか確認する
  2. ログに「No matching pattern」と出ているなら、パターンの書き方が原因
  3. ログに「Workspace not trusted」と出ているなら、原因1のワークスペース信頼問題
  4. ログ自体が出ない場合、許可マッチングが無効になっている可能性があるため、設定ファイルの JSON 構文エラーを jq . settings.json で検証する

JSON 構文エラーは見落としがちです。カンマの位置やクォートの種類が原因で、設定ファイル全体が読み込まれずダイアログが出続ける、というケースを実際に何度か経験しました。

関連する設定の調整

許可ダイアログの問題を解決すると、今度は「許可した結果、エージェントが想定外の挙動をする」という二次的な問題が起きやすくなります。エージェントの挙動制御については Antigravityignore ファイル完全ガイド で、エージェントが触れていいファイルの範囲を絞り込む方法を解説しています。あわせて、Antigravity の Settings Sync が同期されない・コンフリクトする問題の解決 も読んでおくと、3つ目の原因をより深く理解できます。

許可設定や開発環境の堅牢化をさらに

全体を振り返って

許可ダイアログの繰り返し表示は、Antigravity を使い始めた誰もが一度はぶつかる壁ですが、原因はほぼ3つに集約されます。今すぐできる最小の一歩としては、ご自身のプロジェクトをコマンドパレットから「Trusted」に切り替え、settings.json に頻用コマンド3〜5個分の glob パターンを追加してみてください。これだけで体感のストレスが半減するはずです。設定を一度整えてしまえば、毎朝ダイアログを閉じる時間がそのまま開発時間に変わります。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Antigravity 基本2026-07-11
付与した権限は、本当に全部使われていますか — Antigravity 統一パーミッションを実使用ログから絞り込む
統一パーミッションで一度「全許可」に倒すと、使われない権限が静かに溜まります。付与した権限と行動ログを突き合わせ、未使用の許可を回収して最小権限へ絞り込む「付与→観測→回収」ループを、動くTypeScript実装と個人運用の実測値でまとめます。
Antigravity 基本2026-07-07
承認ダイアログに指が慣れる前に — Antigravity 統一パーミッションで許可設定を1枚に束ねる
散在した承認ダイアログとMCPごとの許可リスト、繰り返される再認証。Antigravity 2.2.1 の統一パーミッションとOAuthキーリング保存を軸に、許可設定を1枚のポリシーへ集約し「承認疲れ」を設計から断つ運用を、動くコードと実測値でまとめます。
Antigravity 基本2026-05-31
Antigravity のエージェントが途中で 429 RESOURCE_EXHAUSTED と出して止まるときの原因と対処
Antigravity でエージェントに長いタスクを任せていると、途中で「429 RESOURCE_EXHAUSTED」と出して手が止まることがあります。これは API のレート制限・クォータ超過のサインです。私が自動運用の現場で踏んだ原因の切り分けと、再発させないための具体的な対処をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →