PK

How to Make Antigravity Tolerable

Antigravity is the least efficient tool I have used for development, though antigravity-cli (agy) is the least bad of the three. Still, the experience falls far short of harnesses like OpenCode or Claude Code.

I wanted to make good use of my Antigravity quota, so I tweaked a configuration that makes using it much more bearable.

My main issue with Antigravity was its constant confirmation prompts. Unlike OpenCode, Antigravity uses a strict permission model that asks before running even the smallest action.

To fix this, I expanded Antigravity's default permissions. The core principle is simple: grant broad access by default, then selectively block high-risk operations that could be catastrophic.

Open ~/.gemini/antigravity-cli/settings.json and paste the following:

{
  "permissions": {
    "allow": [
      "command(*)",
      "read_file(*)",
      "write_file(./*)",
      "write_file(src/)",
      "read_url(*)",
      "mcp(*)"
    ],
    "deny": [
      "read_file(**/*.key)",
      "read_file(**/*.pem)",
      "read_file(**/.aws/credentials)",
      "read_file(**/.config/gh/hosts.yml)",
      "read_file(**/.credentials/**)",
      "read_file(**/.env)",
      "read_file(**/.env.*)",
      "read_file(**/.ssh/**)",
      "read_file(**/Library/Keychains/**)",
      "read_file(**/credentials.json)",
      "read_file(**/secrets/**)",
      "read_file(*.env)",
      "read_file(*.env.*)",
      "write_file(**/.git/**)",
      "command(chmod *)",
      "command(chown *)",
      "command(rm -rf)",
      "command(sudo)",
      "command(git reset --hard)",
      "command(git checkout -- *)",
      "command(git restore)",
      "command(git clean -f)",
      "command(git push --force)",
      "command(git branch -D)",
      "command(git stash drop)",
      "command(git stash clear)"
    ],
    "ask": [
      "write_file(../**)",
      "command(rm *)",
      "command(git commit *)",
      "command(git push)",
      "command(git push *)",
      "command(git rebase *)",
      "command(git reset --hard *)",
      "command(git merge *)"
    ]
  }
}

I tested this setup on antigravity-cli; I cannot confirm whether it works on other versions of Antigravity.

I put together this setup based on the design principles of OpenCode and Antigravity, as well as the gentle-ai standards. Feel free to adapt this setup to your own stack and local tools. The goal is to close dangerous vectors without slowing down your workflow. Understand each rule before applying it.

Current Google models (gemini-3.1-pro, gemini-3.5-flash, gemini-3.6-flash) still struggle with tool calls. I only use them for simple, low-complexity tasks.

I cannot recommend Antigravity, but if you must use it, I hope this configuration helps.

For more details, see the antigravity-cli permissions documentation: https://antigravity.google/docs/cli/permissions


created
updated
tags
ai tools