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 Name | antigravity |
| Module | shared.plugins.model_provider.antigravity |
| Auth | Google OAuth |
| Quotas | antigravity, gemini-cli |
Features
- Access to Gemini 3 preview models
- Claude via Google infrastructure
- Multi-account rotation for quota management
- Extended thinking support
- Function calling
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
| Model | Description |
|---|---|
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
| Model | Description |
|---|---|
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 |
# 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
| Variable | Default | Description |
|---|---|---|
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 |
# .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
- Call
oauth_login()orverify_auth(allow_interactive=True) - Browser opens to Google login
- Authorize the application
- Credentials saved locally
Multi-Account Rotation
With JAATO_ANTIGRAVITY_AUTO_ROTATE=true, the provider
automatically switches between authenticated accounts when quota
is exhausted.
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)
# 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
| Level | Description |
|---|---|
minimal | Fastest, least reasoning |
low | Light reasoning |
medium | Balanced |
high | Most thorough |
Claude Thinking
Claude models use a token budget for thinking, configured via
JAATO_ANTIGRAVITY_THINKING_BUDGET.
# Gemini 3 thinking level
JAATO_ANTIGRAVITY_THINKING_LEVEL=high
# Claude thinking budget
JAATO_ANTIGRAVITY_THINKING_BUDGET=16000
from jaato_sdk.plugins.model_provider.types import ThinkingConfig
if client.supports_thinking():
client.set_thinking_config(ThinkingConfig(
enabled=True,
budget=16000
))