Bug Description
After every OpenClaw update, the model google-antigravity/claude-opus-4-6-thinking disappears from the model picker with a "model not in catalogue" error. All other Google Antigravity models (claude-sonnet-4-5, claude-sonnet-4-5-thinking, gemini-3-flash, gemini-3-pro-high, gemini-3-pro-low, gpt-oss-120b-medium, claude-opus-4-5-thinking) work correctly.
Root Cause
The google-antigravity-auth plugin (in extensions/google-antigravity-auth/index.ts) registers claude-opus-4-6-thinking as its DEFAULT_MODEL. When OpenClaw updates and regenerates ~/.openclaw/agents/main/agent/models.json, the entry for this model gets written with:
{
"id": "claude-opus-4-6-thinking",
"api": "google-antigravity-cli",
"name": "Claude Opus 4.6 Thinking",
"reasoning": true
}
The api field value "google-antigravity-cli" is invalid. The isGoogleModelApi() function in src/agents/pi-embedded-helpers/google.ts only accepts three values:
"google-antigravity"
"google-gemini-cli"
"google-generative-ai"
Because "google-antigravity-cli" doesn't match any valid API type, the ModelRegistry from @mariozechner/pi-coding-agent rejects the entry entirely, and the model never appears in the catalog.
Why Other Models Are Unaffected
Other antigravity models (claude-sonnet-4-5, gemini-3-flash, etc.) are served from the built-in catalog in pi-coding-agent and don't rely on the models.json entry. Only claude-opus-4-6-thinking requires a manual entry because it's not yet in the built-in catalog.
Steps to Reproduce
- Have Google Antigravity auth configured and working
- Update OpenClaw (e.g.,
openclaw update)
- Open the model picker and filter by
google-antigravity
- Observe that
claude-opus-4-6-thinking is missing while all other antigravity models are present
- Check
~/.openclaw/agents/main/agent/models.json — the opus 4.6 entry has "api": "google-antigravity-cli" (invalid)
Workaround
Manually edit ~/.openclaw/agents/main/agent/models.json and change the api field from "google-antigravity-cli" to "google-antigravity":
"google-antigravity": {
"baseUrl": "https://google-antigravity.com/v1",
"models": [
{
"id": "claude-opus-4-6-thinking",
"api": "google-antigravity",
"name": "Claude Opus 4.6 Thinking",
"reasoning": true
}
]
}
This fix must be re-applied after every update.
Suggested Fix
The code that generates the models.json entry for the google-antigravity provider (likely in the plugin or in src/agents/models-config.ts / normalizeProviders()) should use "google-antigravity" as the api value, not "google-antigravity-cli".
Alternatively, claude-opus-4-6-thinking could be added to the built-in model catalog in @mariozechner/pi-coding-agent alongside the other antigravity models.
Relevant Source Files
extensions/google-antigravity-auth/index.ts — plugin that sets DEFAULT_MODEL
src/agents/pi-embedded-helpers/google.ts — isGoogleModelApi() validation
src/agents/models-config.ts — ensureOpenClawModelsJson() regenerates models.json
src/agents/model-catalog.ts — loads ModelRegistry from models.json
Environment
- OpenClaw version: 2026.2.9 (33c75cb)
- Platform: macOS (darwin)
- Auth: Google Antigravity OAuth
Bug Description
After every OpenClaw update, the model
google-antigravity/claude-opus-4-6-thinkingdisappears from the model picker with a "model not in catalogue" error. All other Google Antigravity models (claude-sonnet-4-5, claude-sonnet-4-5-thinking, gemini-3-flash, gemini-3-pro-high, gemini-3-pro-low, gpt-oss-120b-medium, claude-opus-4-5-thinking) work correctly.Root Cause
The
google-antigravity-authplugin (inextensions/google-antigravity-auth/index.ts) registersclaude-opus-4-6-thinkingas itsDEFAULT_MODEL. When OpenClaw updates and regenerates~/.openclaw/agents/main/agent/models.json, the entry for this model gets written with:{ "id": "claude-opus-4-6-thinking", "api": "google-antigravity-cli", "name": "Claude Opus 4.6 Thinking", "reasoning": true }The
apifield value"google-antigravity-cli"is invalid. TheisGoogleModelApi()function insrc/agents/pi-embedded-helpers/google.tsonly accepts three values:"google-antigravity""google-gemini-cli""google-generative-ai"Because
"google-antigravity-cli"doesn't match any valid API type, theModelRegistryfrom@mariozechner/pi-coding-agentrejects the entry entirely, and the model never appears in the catalog.Why Other Models Are Unaffected
Other antigravity models (claude-sonnet-4-5, gemini-3-flash, etc.) are served from the built-in catalog in pi-coding-agent and don't rely on the models.json entry. Only
claude-opus-4-6-thinkingrequires a manual entry because it's not yet in the built-in catalog.Steps to Reproduce
openclaw update)google-antigravityclaude-opus-4-6-thinkingis missing while all other antigravity models are present~/.openclaw/agents/main/agent/models.json— the opus 4.6 entry has"api": "google-antigravity-cli"(invalid)Workaround
Manually edit
~/.openclaw/agents/main/agent/models.jsonand change theapifield from"google-antigravity-cli"to"google-antigravity":This fix must be re-applied after every update.
Suggested Fix
The code that generates the models.json entry for the google-antigravity provider (likely in the plugin or in
src/agents/models-config.ts/normalizeProviders()) should use"google-antigravity"as the api value, not"google-antigravity-cli".Alternatively,
claude-opus-4-6-thinkingcould be added to the built-in model catalog in@mariozechner/pi-coding-agentalongside the other antigravity models.Relevant Source Files
extensions/google-antigravity-auth/index.ts— plugin that sets DEFAULT_MODELsrc/agents/pi-embedded-helpers/google.ts—isGoogleModelApi()validationsrc/agents/models-config.ts—ensureOpenClawModelsJson()regenerates models.jsonsrc/agents/model-catalog.ts— loads ModelRegistry from models.jsonEnvironment