Skip to content

[Bug]: Claude quota not displayed — hardcoded Opus 4.5 model keys, missing Opus 4.6 / Sonnet 4.6 / Gemini 3.1 Pro #14

@lyr1cs

Description

@lyr1cs

Bug Description

Claude model quota no longer appears in /mystatus output. The MODELS_TO_DISPLAY array in plugin/lib/google.ts uses hardcoded model keys that are now stale.

Root Cause

// plugin/lib/google.ts (line ~75-84)
const MODELS_TO_DISPLAY: ModelConfig[] = [
  { key: "gemini-3-pro-high", altKey: "gemini-3-pro-low", display: "G3 Pro" },
  { key: "gemini-3-pro-image", display: "G3 Image" },
  { key: "gemini-3-flash", display: "G3 Flash" },
  {
    key: "claude-opus-4-5-thinking",    // ❌ Deprecated since Feb 2026
    altKey: "claude-opus-4-5",           // ❌ Deprecated since Feb 2026
    display: "Claude",
  },
];
  • Claude Opus 4.5 was deprecated on Antigravity in early February 2026. The API no longer returns claude-opus-4-5-thinking or claude-opus-4-5 in the fetchAvailableModels response.
  • Claude Opus 4.6 (claude-opus-4-6-thinking / claude-opus-4-6) is the replacement.
  • Claude Sonnet 4.6 (claude-sonnet-4-6) was never tracked by this plugin.
  • Gemini 3.1 Pro (gemini-3.1-pro-high / gemini-3.1-pro-low) released Feb 19, 2026 — Gemini 3 Pro is being deprecated on Antigravity.

Since extractModelQuotas() does a direct key lookup on data.models[modelConfig.key], stale keys silently produce no output — Claude just disappears.

Additional Issue

The USER_AGENT string is hardcoded to an old Antigravity version:

const USER_AGENT = "antigravity/1.11.9 windows/amd64";

Current Antigravity version is 1.18.3+. This could cause issues if the API starts rejecting old client versions.

Suggested Fix

const MODELS_TO_DISPLAY: ModelConfig[] = [
  { key: "gemini-3.1-pro-high", altKey: "gemini-3.1-pro-low", display: "G3.1 Pro" },
  { key: "gemini-3-pro-image", display: "G3 Image" },
  { key: "gemini-3-flash", display: "G3 Flash" },
  {
    key: "claude-opus-4-6-thinking",
    altKey: "claude-opus-4-6",
    display: "Opus",
  },
  {
    key: "claude-sonnet-4-6",
    display: "Sonnet",
  },
];

Long-term, consider dynamically parsing all Claude/Gemini models from the API response instead of hardcoding specific model keys, to avoid this breaking again when models are updated.

Environment

  • opencode-mystatus: 1.2.4 (latest on npm, last updated Jan 20, 2026)
  • opencode-antigravity-auth: 1.5.5
  • OpenCode CLI: 1.2.9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions