Antigravity Provider

Access Google's IDE backend (Antigravity) for Gemini 3 and Claude models through Google infrastructure. Uses Google OAuth for authentication with multi-account rotation support.

Provider Nameantigravity
Moduleshared.plugins.model_provider.antigravity
AuthGoogle OAuth
Quotasantigravity, gemini-cli

Features

  • Access to Gemini 3 preview models
  • Claude via Google infrastructure
  • Multi-account rotation for quota management
  • Extended thinking support
  • Function calling
Experimental
This provider uses an unofficial Google API. Model availability and features may change without notice.
Quick start
from jaato import JaatoClient

client = JaatoClient(provider_name="antigravity")
client.connect(None, None, "antigravity-gemini-3-pro")

# Login with Google OAuth
client.verify_auth(allow_interactive=True)

client.configure_tools(registry)

response = client.send_message(
    "Hello from Gemini 3!",
    on_output=on_output
)

Available Models

Antigravity Quota

ModelDescription
antigravity-gemini-3-pro Gemini 3 Pro (preview)
antigravity-gemini-3-flash Gemini 3 Flash (preview)
antigravity-claude-sonnet-4-5 Claude Sonnet 4.5 via Google
antigravity-claude-sonnet-4-5-thinking Claude Sonnet 4.5 with thinking

Gemini CLI Quota

ModelDescription
gemini-2.5-flash Gemini 2.5 Flash
gemini-2.5-pro Gemini 2.5 Pro
gemini-3-flash-preview Gemini 3 Flash preview
gemini-3-pro-preview Gemini 3 Pro preview
Model selection
# Gemini 3 (antigravity quota)
client.connect(None, None, "antigravity-gemini-3-pro")

# Claude via Google
client.connect(None, None, "antigravity-claude-sonnet-4-5")

# Gemini 2.5 (gemini-cli quota)
client.connect(None, None, "gemini-2.5-flash")

Configuration

Environment Variables

VariableDefaultDescription
JAATO_ANTIGRAVITY_QUOTA antigravity Quota type: antigravity or gemini-cli
JAATO_ANTIGRAVITY_THINKING_LEVEL - Gemini 3 thinking: minimal, low, medium, high
JAATO_ANTIGRAVITY_THINKING_BUDGET 8192 Claude thinking budget
JAATO_ANTIGRAVITY_AUTO_ROTATE true Enable multi-account rotation
Environment configuration
# .env file
JAATO_PROVIDER=antigravity
JAATO_ANTIGRAVITY_QUOTA=antigravity
JAATO_ANTIGRAVITY_THINKING_LEVEL=medium
JAATO_ANTIGRAVITY_AUTO_ROTATE=true

Authentication

Antigravity uses Google OAuth. The provider can manage multiple Google accounts and automatically rotate between them to maximize available quota.

OAuth Flow

  1. Call oauth_login() or verify_auth(allow_interactive=True)
  2. Browser opens to Google login
  3. Authorize the application
  4. Credentials saved locally

Multi-Account Rotation

With JAATO_ANTIGRAVITY_AUTO_ROTATE=true, the provider automatically switches between authenticated accounts when quota is exhausted.

OAuth login
from shared.plugins.model_provider.antigravity import oauth_login

# Login with Google
oauth_login(on_message=lambda msg: print(msg))

# Or via JaatoClient
client = JaatoClient(provider_name="antigravity")
client.connect(None, None, "antigravity-gemini-3-pro")
client.verify_auth(allow_interactive=True)
Add additional account
# Login with another Google account
oauth_login(on_message=lambda msg: print(msg))
# Opens browser for new account

# Provider will now rotate between accounts

Thinking Mode

Both Gemini 3 and Claude models support extended thinking through this provider, with different configuration options.

Gemini 3 Thinking Levels

LevelDescription
minimalFastest, least reasoning
lowLight reasoning
mediumBalanced
highMost thorough

Claude Thinking

Claude models use a token budget for thinking, configured via JAATO_ANTIGRAVITY_THINKING_BUDGET.

Configure thinking
# Gemini 3 thinking level
JAATO_ANTIGRAVITY_THINKING_LEVEL=high

# Claude thinking budget
JAATO_ANTIGRAVITY_THINKING_BUDGET=16000
Runtime configuration
from jaato_sdk.plugins.model_provider.types import ThinkingConfig

if client.supports_thinking():
    client.set_thinking_config(ThinkingConfig(
        enabled=True,
        budget=16000
    ))