{"slug": "opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no", "title": "OpenCode + opencode-antigravity-auth setup (Pro/Opus primary, Flash/Sonnet budget subagents; no effort pins)", "summary": "A developer shared a portable setup for OpenCode using the opencode-antigravity-auth plugin, which enables Google OAuth-based access to Antigravity quota for Gemini and Claude models. The configuration assigns primary models (Gemini 3.1 Pro and Claude Opus 4-6 Thinking) for coding and planning, with budget subagents (Gemini 3.5 Flash and Claude Sonnet 4-6) for lighter tasks, and includes installation instructions via a public gist.", "body_md": "Portable setup for **OpenCode** with ** opencode-antigravity-auth** (Google OAuth → Antigravity quota for Gemini + Claude).\n\nNotthe Antigravity IDE. This is OpenCode’s Google/Gemini auth path only.\n\n**Gist:** [https://gist.github.com/saadev0/0e3f43d24c3f05903f9c4bd732e961d0](https://gist.github.com/saadev0/0e3f43d24c3f05903f9c4bd732e961d0)\n\n| Role | Model id | Notes |\n|---|---|---|\nPrimary (default / `build` ) |\n`google/antigravity-gemini-3.1-pro` |\nMain coding |\nPrimary (`plan` ) |\n`google/antigravity-claude-opus-4-6-thinking` |\nPlanning / deep work |\nBudget subagent (`explore` , titles, summary, compaction, `small_model` ) |\n`google/antigravity-gemini-3.5-flash` |\nSearch / light utility |\nBudget subagent (`general` ) |\n`google/antigravity-claude-sonnet-4-6` |\nTool-call / general subagent |\n\n**Effort/variants are not pinned.** Variants (`low`\n\n/ `high`\n\n/ `max`\n\n/ …) stay available so you or the agent can choose per task. Subagents use **budget model families**, not primary Pro/Opus.\n\n| File | Install path |\n|---|---|\n`opencode.jsonc` |\n`~/.config/opencode/opencode.jsonc` |\n`antigravity.json` |\n`~/.config/opencode/antigravity.json` |\n`package.json` |\n`~/.config/opencode/package.json` (optional deps pin) |\n`README.md` |\nthis doc |\n\nDo **not** copy OAuth secrets or `antigravity-accounts.json`\n\ninto a public gist.\n\n```\n# 1) Install OpenCode (if needed) — https://opencode.ai/docs\n\n# 2) Config dir\nmkdir -p ~/.config/opencode\ncd ~/.config/opencode\n\n# 3) Pull this gist\nBASE=\"https://gist.githubusercontent.com/saadev0/0e3f43d24c3f05903f9c4bd732e961d0/raw\"\ncurl -fsSL \"$BASE/opencode.jsonc\" -o opencode.jsonc\ncurl -fsSL \"$BASE/antigravity.json\" -o antigravity.json\ncurl -fsSL \"$BASE/package.json\" -o package.json\n\n# 4) Install plugin dependency\nnpm install\n\n# 5) Google OAuth login (Antigravity accounts)\nopencode auth login\n# Select Google / Antigravity provider, complete browser OAuth.\n# Re-run to add more accounts for rotation.\n\n# 6) Verify models\nopencode models | grep antigravity\n# Expect:\n#   google/antigravity-gemini-3.1-pro\n#   google/antigravity-claude-opus-4-6-thinking\n#   google/antigravity-gemini-3.5-flash\n#   google/antigravity-claude-sonnet-4-6\n\n# 7) Smoke test\nopencode run \"Hello\" --model=google/antigravity-gemini-3.1-pro\nopencode run \"Hello\" --model=google/antigravity-claude-opus-4-6-thinking\nopencode run \"Hello\" --model=google/antigravity-gemini-3.5-flash\nBASE=\"https://gist.githubusercontent.com/saadev0/0e3f43d24c3f05903f9c4bd732e961d0/raw\"\nmkdir -p ~/.config/opencode && cd ~/.config/opencode\ncurl -fsSL \"$BASE/opencode.jsonc\" -o opencode.jsonc\ncurl -fsSL \"$BASE/antigravity.json\" -o antigravity.json\ncurl -fsSL \"$BASE/package.json\" -o package.json\nnpm install\n```\n\n- Loads plugin:\n`opencode-antigravity-auth@latest`\n\n- Whitelists only the four Antigravity models above\n- Declares model limits, modalities, and\n**optional** variants (not forced) - Agent model\n**family** map:- primary → Pro / Opus\n- subagent / utility → Flash / Sonnet\n\n- No\n`variant: \"high\"`\n\n/`variant: \"low\"`\n\non agents\n\n| Key | Value | Why |\n|---|---|---|\n`account_selection_strategy` |\n`hybrid` |\nGood multi-account default |\n`auto_update` |\n`false` |\nAvoid silent plugin overwrites of local patches |\n`debug` |\n`true` |\nLogs under `~/.config/opencode/antigravity-logs/` |\n`quota_fallback` |\n`false` |\nNo silent Gemini CLI / alternate routing |\n`cli_first` |\n`false` |\nPrefer Antigravity quota first |\n\nOptional later:\n\n```\n{\n  \"pid_offset_enabled\": true   // parallel subagents across accounts\n}\n```\n\n- Credentials:\n`~/.config/opencode/antigravity-accounts.json`\n\n(local only, never gist) - Add accounts:\n`opencode auth login`\n\nagain - Reset auth: delete\n`antigravity-accounts.json`\n\n, re-login - ToS risk: unofficial Google OAuth path — use an established account; see upstream README\n\nUpstream plugin: [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth)\n\n`opencode.jsonc`\n\nalone is enough for model **registration** (whitelist + agent map).\n\nThese **optional** patches live under:\n\n`~/.config/opencode/node_modules/opencode-antigravity-auth/`\n\nThey are **wiped on npm reinstall/update** (hence `auto_update: false`\n\n).\n\n| Change | Purpose |\n|---|---|\nRegister `antigravity-gemini-3.5-flash` in plugin `models.js` |\nOfficial plugin list may lag 3.5 Flash |\nAliases `gemini-3.5-flash-{minimal,low,medium,high}` in `model-resolver.js` |\nTier suffixes resolve cleanly |\n`SEARCH_MODEL = \"gemini-3.5-flash\"` in `constants.js` |\nSearch tool uses budget Flash |\nNo silent default `-low` / `-high` on bare models |\nEffort only when you pick a variant |\nOpus variant `high` (= max budget 32768) |\nFriendly label alongside `max` |\n\nAfter `npm install`\n\n, re-apply patches if you rely on them, or keep a local fork.\n\n```\n# Only when you want an explicit effort tier\nopencode run \"...\" --model=google/antigravity-gemini-3.1-pro --variant=high\nopencode run \"...\" --model=google/antigravity-claude-opus-4-6-thinking --variant=high\nopencode run \"...\" --model=google/antigravity-gemini-3.5-flash --variant=medium\n```\n\nWithout `--variant`\n\n, the plugin does not invent low/high for you.\n\n| Symptom | Fix |\n|---|---|\n| Model missing from list | Ensure `opencode.jsonc` whitelist + models block; restart OpenCode |\n| 403 / project denied | Set `projectId` on each account in `antigravity-accounts.json` ; enable Cloud Code Assist API |\n| OAuth callback fails (Safari) | Use Chrome/Firefox or disable Safari HTTPS-Only for localhost |\n| Rate limited | Add more Google accounts; wait; check quotas via auth menu |\n| Plugin update wiped 3.5 Flash | Re-install configs from this gist; re-apply local patches; keep `auto_update: false` |\n\n**Source of truth for a new machine:** this gist**Live machine config:**`~/.config/opencode/opencode.jsonc`\n\n+`antigravity.json`\n\n- After changing live config, push updates back into this gist (same files)\n\nMaintained for [saadev0](https://gist.github.com/saadev0) · OpenCode Google auth via Antigravity OAuth", "url": "https://wpnews.pro/news/opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no", "canonical_source": "https://gist.github.com/saadev0/0e3f43d24c3f05903f9c4bd732e961d0", "published_at": "2026-07-13 14:40:01+00:00", "updated_at": "2026-07-13 14:41:29.139331+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "large-language-models"], "entities": ["OpenCode", "opencode-antigravity-auth", "Google", "Gemini", "Claude", "Antigravity", "NoeFabris", "saadev0"], "alternates": {"html": "https://wpnews.pro/news/opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no", "markdown": "https://wpnews.pro/news/opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no.md", "text": "https://wpnews.pro/news/opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no.txt", "jsonld": "https://wpnews.pro/news/opencode-opencode-antigravity-auth-setup-pro-opus-primary-flash-sonnet-budget-no.jsonld"}}