how-to-allow-approve-antigravity

how-to-allow-approve-antigravity is a skill for Claude Code from tamnguyendinh/Anvien. It costs 55 tokens per session (1,438 once invoked), scanned B, original, MIT.

A configuration guide for Google Antigravity's permission system, which controls whether an AI agent may run actions automatically. It explains how project settings, global settings, and pre-action hooks interact.

In plain words
What is it for?
Use it to configure or troubleshoot automatic approvals across Antigravity projects, including project-specific grants, global grants, and lifecycle hooks.
Why use it?
It explains why permission pop-ups can remain even after global approval settings are added. This helps identify which configuration level is overriding another.

Skill for Claude Code

Written for Claude Code: PreToolUse hook event.

Good fit Use it to configure or troubleshoot automatic approvals across Antigravity projects, including project-specific grants, global grants, and lifecycle hooks.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add tamnguyendinh/Anvien --skill how-to-allow-approve-antigravity
Clone the repo
git clone --depth 1 https://github.com/tamnguyendinh/Anvien

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for how-to-allow-approve-antigravity

README.md
[![agentmods](https://agentmods.dev/badge/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity/github.svg)](https://agentmods.dev/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity)
Your own site
<a href="https://agentmods.dev/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity"><img src="https://agentmods.dev/badge/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for how-to-allow-approve-antigravity

Your own site · 80×15
<a href="https://agentmods.dev/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity"><img src="https://agentmods.dev/badge/skills/tamnguyendinh/anvien/how-to-allow-approve-antigravity.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,438 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00055 $0.01438
Opus 5 $0.00028 $0.00719
Sonnet 5 $0.00011 $0.00288
Haiku 4.5 $0.00006 $0.00144

Measured 12d ago against content hash 2ab5fdca5714, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade B, and why

how-to-allow-approve-antigravity scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

When a workspace or repository is opened (e.g., `Restaurant_manager`), Antigravity automatically creates a project-specific configuration file at `~/.gemini/config/projects/<project-id>.json`.
internal/aicontext/skills/how-to-allow-approve-antigravity/SKILL.md · 140 lines

How it starts

The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Global Auto-Approve Configuration Guide for Google Antigravity

This document explains Google Antigravity's 3-tier permission structure and provides a comprehensive solution for 100% autonomous AI execution without permission popups (Full Autonomous Mode).


1. Root Cause Architecture

Google Antigravity checks execution permissions in hierarchical precedence order (from highest to lowest):

[Tier 1: Project-Level Grants]  (C:\Users\<USER>\.gemini\config\projects\<project-id>.json) 
            ⬇ (If absent or inherited)
[Tier 2: Global Grants]         (C:\Users\<USER>\.gemini\config\config.json)
            ⬇
[Tier 3: PreToolUse Hooks]      (C:\Users\<USER>\.gemini\config\hooks.json)

🔍 Why configuring hooks alone still triggers popups?

When a workspace or repository is opened (e.g., Restaurant_manager), Antigravity automatically creates a project-specific configuration file at ~/.gemini/config/projects/<project-id>.json.

  • According to Antigravity rules: Project-level settings (permissionGrants in projects/*.json) completely override Global settings.
  • If a project file contains a specific permissionGrants.allow list (with only previously approved commands), Antigravity checks the project file first. Because any new command is not listed in that project file, the system immediately displays a user permission popup!

2. Comprehensive Solution (3-Tier Auto-Approve Setup)

To achieve 100% permanent auto-approval across all projects (both current and future), configure all 3 tiers in synchronization:

PowerShell Setup Script (One-Liner):

Open PowerShell on your machine and run the following script:

$configDir = "$env:USERPROFILE\.gemini\config"
$projectsDir = "$configDir\projects"

if (!(Test-Path $configDir)) { New-Item -ItemType Directory -Path $configDir -Force }
if (!(Test-Path $projectsDir)) { New-Item -ItemType Directory -Path $projectsDir -Force }

# -------------------------------------------------------------
# TIER 1 & 2: Update config.json and all projects/*.json files
# -------------------------------------------------------------
$fullAllowList = @(
  "*",
  "command(*)",
  "command",
  "run_command(*)",
  "run_command",
  "view_file(*)",
  "view_file",
  "write_to_file(*)",
  "write_to_file",
  "replace_file_content(*)",
  "replace_file_content",
  "mcp(*)"
)

# 1. Configure Global config.json
$globalConfigPath = "$configDir\config.json"
$globalConfig = @{
  userSettings = @{
    artifactReviewMode = "ARTIFACT_REVIEW_MODE_TURBO"
    autoExecutionPolicy = "CASCADE_COMMANDS_AUTO_EXECUTION_ON"
    browserJsExecutionPolicy = "BROWSER_JS_EXECUTION_POLICY_TURBO"
    enableTerminalSandbox = $false
    nonWorkspaceFileAccessPolicy = "AGENT_SETTING_POLICY_ALLOW"
    themeMode = "THEME_MODE_DARK"
    globalPermissionGrants = @{
      allow = $fullAllowList
    }
  }
}
$globalConfig | ConvertTo-Json -Depth 10 | Set-Content -Path $globalConfigPath -Encoding utf8

# 2. Update all existing project files in ~/.gemini/config/projects/
Get-ChildItem -Path $projectsDir -Filter "*.json" | ForEach-Object {
  try {
    $proj = Get-Content $_.FullName -Raw | ConvertFrom-Json
    if ($null -eq $proj.permissionGrants) {
      $proj | Add-Member -NotePropertyName "permissionGrants" -NotePropertyValue @{ permissionGrants = @{ allow = $fullAllowList } } -Force
    } else {
      $proj.permissionGrants = @{ permissionGrants = @{ allow = $fullAllowList } }
    }
    if ($null -eq $proj.settings) {
      $proj | Add-Member -NotePropertyName "settings" -NotePropertyValue @{ autoExecutionPolicy = "CASCADE_COMMANDS_AUTO_EXECUTION_ON"; fileAccessPolicy = "AGENT_SETTING_POLICY_ALLOW"; sandboxMode = $false; artifactReviewMode = "ARTIFACT_REVIEW_MODE_TURBO" } -Force
    } else {
      $proj.settings.autoExecutionPolicy = "CASCADE_COMMANDS_AUTO_EXECUTION_ON"
      $proj.settings.fileAccessPolicy = "AGENT_SETTING_POLICY_ALLOW"
      $proj.settings.sandboxMode = $false
      $proj.settings.artifactReviewMode = "ARTIFACT_REVIEW_MODE_TURBO"
    }
    $proj | ConvertTo-Json -Depth 10 | Set-Content -Path $_.FullName -Encoding utf8
    Write-Host "  -> Updated project grants: $($_.Name)" -ForegroundColor Cyan
  } catch {}
}

# -------------------------------------------------------------
# TIER 3: Configure hooks.json (PreToolUse Glob Matcher)
# -------------------------------------------------------------
$hookJson = @'
{
  "auto-allow-all": {
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "node -e \"console.log(JSON.stringify({decision:'allow'}))\"",
            "timeout": 5
          }
        ]
      }
    ]
  }
}
'@
Set-Content -Path "$configDir\hooks.json" -Value $hookJson -Encoding utf8

# Remove local repository hooks if present to avoid path conflicts
Remove-Item -Path ".\.agents\hooks.json" -Force -ErrorAction SilentlyContinue

Write-Host "`n✅ SUCCESSFULLY ACTIVATED 3-TIER AUTO-APPROVE GLOBALLY ACROSS THE SYSTEM!" -ForegroundColor Green

Read the full file on GitHub · 140 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 140 lines · 55 tokens per session scan B 2ab5fdca5714

Subscribe to this mod's changes

how-to-allow-approve-antigravity is a skill published in the GitHub repository tamnguyendinh/Anvien (9 stars, last pushed yesterday), licensed MIT. It adds 55 tokens to every session and 1,438 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

kin-retrieval

Read a codebase through Kin's semantic graph instead of grep and whole-file reads. Use when finding where something lives, what a symbol does, who calls it, or which code implements a described behavior, and when a repo has been admitted to Kin (a .kin/ directory exists).

firelock-ai/kin · 63 tokens

blast-radius-review

Review a change by its blast radius, using Kin's graph to find what downstream code the change can reach. Use when reviewing a diff or pull request, deciding whether an edit is safe, or answering "what else breaks if I change this" in a repository admitted to Kin.

firelock-ai/kin · 60 tokens

booboo-deploy

Stand up a Booboo brain end to end — scaffold the project, write booboo.config.yaml against a real Postgres/Supabase or JSON source, build the snapshot, then wire the REST API, the MCP server, the 3D viewer and the panel. Use when someone wants a brain built for the first time, wants to point Booboo at their own…

jessymariau/booboo · 94 tokens

booboo-troubleshoot

Diagnose a Booboo brain that is not working — an empty or tiny graph, a flat starburst view, missing MCP tools, a client that cannot find the snapshot, climbing orphan counts, or a build that exits clean but produces nothing. Use when a booboo build, serve, mcp, view, panel or vault command misbehaves.

jessymariau/booboo · 79 tokens

booboo

Build, query, deploy and debug a Booboo brain — one graph fusing structure, knowledge, memory, agents and automations, queryable by REST or MCP and viewable in 3D. Use when the user mentions Booboo, booboo.config.yaml, brain.json, org.booboo.json, an organigram of agents, "boot my agent from the org", a 3D system…

jessymariau/booboo · 121 tokens

booboo-adapter

Feed data into a Booboo brain that the built-in postgres and json adapters do not cover — write a small config-driven adapter against the spec instead of forking the builder. Use when a source is Neo4j, an API, a CSV export, a proprietary store, or any shape the standard config cannot express.

jessymariau/booboo · 71 tokens