Configuration
April 28, 2026 · View on GitHub
Create ~/.config/opencode/antigravity.json (or .opencode/antigravity.json in project root):
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json"
}
Most settings have sensible defaults — only configure what you need.
Quick Start
Minimal config (recommended for most users):
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json"
}
With web search enabled:
The plugin provides a google_search tool that the model can call to search the web. No configuration is needed - the tool is always available.
Model Behavior
Settings that affect how the model thinks and responds.
| Option | Default | Description |
|---|---|---|
keep_thinking | false | Preserve Claude's thinking blocks across turns. Warning: enabling may degrade model stability. |
session_recovery | true | Auto-recover from tool_result_missing errors |
auto_resume | false | Auto-send resume prompt after recovery |
resume_text | "continue" | Text to send when auto-resuming |
Note: The
web_searchconfig options are deprecated. Google Search is now implemented as a dedicatedgoogle_searchtool that the model can call explicitly.
About keep_thinking
When true, Claude's thinking blocks are preserved in conversation history:
- Pros: Model remembers its reasoning, more coherent across turns
- Cons: May degrade model stability, slightly larger context
When false (default), thinking is stripped:
- Pros: More stable model behavior, smaller context
- Cons: Model may be less coherent, forgets previous reasoning
Account Rotation
Settings for managing multiple Google accounts.
| Option | Default | Description |
|---|---|---|
account_selection_strategy | "hybrid" | How to select accounts |
switch_on_first_rate_limit | true | Switch account immediately on first 429 |
pid_offset_enabled | false | Distribute sessions across accounts (for parallel agents) |
quota_fallback | false | Deprecated (ignored). Kept for backward compatibility; Gemini fallback is automatic |
Strategy Guide
| Your Setup | Recommended Strategy | Why |
|---|---|---|
| 1 account | "sticky" | No rotation needed, preserve prompt cache |
| 2-3 accounts | "hybrid" (default) | Smart rotation with health scoring |
| 4+ accounts | "round-robin" | Maximum throughput |
| Parallel agents | "round-robin" + pid_offset_enabled: true | Distribute across accounts |
Available Strategies
| Strategy | Behavior | Best For |
|---|---|---|
sticky | Same account until rate-limited | Single account, prompt cache |
round-robin | Rotate on every request | Maximum throughput |
hybrid | Health score + token bucket + LRU | Smart distribution (default) |
App Behavior
Settings that control plugin behavior.
| Option | Default | Description |
|---|---|---|
quiet_mode | false | Hide toast notifications (except recovery) |
debug | false | Enable debug logging |
log_dir | OS default | Custom directory for debug logs |
auto_update | true | Enable automatic plugin updates |
Debug Logging
{
"debug": true,
"debug_tui": true
}
Logs are written to ~/.config/opencode/antigravity-logs/ (or log_dir if set).
Recommended Configs
Copy-paste ready configs with recommended settings pre-applied.
1 Account
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
"account_selection_strategy": "sticky"
}
Why these settings:
sticky— No rotation needed, preserves Anthropic prompt cache
2-3 Accounts
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
"account_selection_strategy": "hybrid"
}
Why these settings:
hybrid— Smart rotation using health scores, avoids bad accounts
3+ Accounts (Power Users / Parallel Agents)
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
"account_selection_strategy": "round-robin",
"switch_on_first_rate_limit": true,
"pid_offset_enabled": true
}
Why these settings:
round-robin— Maximum throughput, rotates every requestswitch_on_first_rate_limit— Immediately switch on 429 (default: true)pid_offset_enabled— Different sessions use different starting accounts
What's Enabled by Default
These settings are already true by default — you don't need to set them:
| Setting | Default | What it does |
|---|---|---|
session_recovery | true | Auto-recover from errors |
auto_update | true | Keep plugin updated |
switch_on_first_rate_limit | true | Fast account switching |
These settings are false by default:
| Setting | Default | What it does |
|---|---|---|
keep_thinking | false | Preserve Claude thinking (may degrade stability) |
auto_resume | false | Auto-continue after recovery |
Advanced Settings
These settings are for edge cases. Most users don't need to change them.
Error Recovery (internal)
| Option | Default | Description |
|---|---|---|
empty_response_max_attempts | 4 | Retries for empty API responses |
empty_response_retry_delay_ms | 2000 | Delay between retries |
tool_id_recovery | true | Fix mismatched tool IDs from context compaction |
claude_tool_hardening | true | Prevent tool parameter hallucination |
max_rate_limit_wait_seconds | 300 | Max wait time when rate limited (0=unlimited) |
Token Management (internal)
| Option | Default | Description |
|---|---|---|
proactive_token_refresh | true | Refresh tokens before expiry |
proactive_refresh_buffer_seconds | 1800 | Refresh 30 min before expiry |
proactive_refresh_check_interval_seconds | 300 | Check interval |
Signature Cache (internal)
Used when keep_thinking: true. Most users don't need to configure this.
| Option | Default | Description |
|---|---|---|
signature_cache.enabled | true | Enable disk caching |
signature_cache.memory_ttl_seconds | 3600 | In-memory cache TTL (1 hour) |
signature_cache.disk_ttl_seconds | 172800 | Disk cache TTL (48 hours) |
signature_cache.write_interval_seconds | 60 | Background write interval |
Health Score Tuning (internal)
Used by hybrid strategy. Most users don't need to configure this.
| Option | Default | Description |
|---|---|---|
health_score.initial | 70 | Starting health score |
health_score.success_reward | 1 | Points added on success |
health_score.rate_limit_penalty | -10 | Points removed on rate limit |
health_score.failure_penalty | -20 | Points removed on failure |
health_score.recovery_rate_per_hour | 2 | Points recovered per hour |
health_score.min_usable | 50 | Minimum score to use account |
health_score.max_score | 100 | Maximum health score |
Token Bucket Tuning (internal)
Used by hybrid strategy. Most users don't need to configure this.
| Option | Default | Description |
|---|---|---|
token_bucket.max_tokens | 50 | Maximum tokens in bucket |
token_bucket.regeneration_rate_per_minute | 6 | Tokens regenerated per minute |
token_bucket.initial_tokens | 50 | Starting tokens |