Skip to content

OpenCode Go: 11/12 models silently fail with Insufficient Balance - upstream provider accounts depleted, breaks multi-agent orchestration #28129

Closed as not planned

Description

@tjddnjs124

Description

OpenCode Go has 12 models available. Since around May 14, 11 of them return "Insufficient balance" when used for subagent spawning via the Task tool. Only minimax-m2.7 works.

Steps to reproduce

  1. Have an active OpenCode Go subscription (0% usage on dashboard)
  2. Configure oh-my-openagent or opencode.json to use any opencode-go/ model except minimax-m2.7
  3. Call task(category="quick", ...) or task(subagent_type="oracle", ...) to spawn a subagent
  4. Observe the error

Expected behavior

Subagents should spawn successfully using the configured opencode-go/ model, as they did before May 14.

Actual behavior

Subagent returns: "Insufficient balance. Manage your billing here: https://opencode.ai/workspace/.../billing"

The user's Go subscription is active with 0% usage. The problem is NOT on the user's billing side.

Test results (all 12 models)

Tested ALL models under opencode-go/ provider. Only MiniMax models work:

Model Upstream Subagent Spawn
minimax-m2.7 MiniMax OK
minimax-m2.5 MiniMax OK (per #24492)
deepseek-v4-flash DeepSeek Insufficient balance
deepseek-v4-pro DeepSeek Insufficient balance
qwen3.5-plus Qwen Insufficient balance
qwen3.6-plus Qwen Insufficient balance
kimi-k2.5 Moonshot AI Insufficient balance
kimi-k2.6 Moonshot AI Insufficient balance
glm-5 ZhipuAI Insufficient balance
glm-5.1 ZhipuAI Insufficient balance
mimo-v2.5 (third-party) Insufficient balance
mimo-v2.5-pro (third-party) Insufficient balance

Same pattern of failures: upstream provider accounts (DeepSeek, Moonshot, ZhipuAI, etc.) have depleted prepaid balances. This has happened repeatedly (Kimi/Moonshot in April, DeepSeek on May 14, mimo on May 17).

This is especially impactful for multi-agent orchestration workflows (Task tool -> subagents, UltraWork/Team-UltraWork modes) which are common when using orchestrator plugins like oh-my-openagent.

Suggested fix

The error message should differentiate between "your billing is exhausted" and "OpenCode Go upstream provider is temporarily unavailable". A status endpoint showing which upstream providers are degraded would also help users understand the issue without having to dig through GitHub issues.

OpenCode version

v1.15.4

Operating System

Windows

Terminal

PowerShell

Plugins

oh-my-openagent v4.1.2

Activity

  1. github-actions commented on May 18, 2026

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • No issue template was used. Please use one of the three required templates: Bug Report, Feature Request, or Question
    • The issue contains an AI-generated wall of text with elaborate tables, multi-section root cause analysis, and suggested fixes — long AI-generated descriptions are not acceptable per our guidelines

    Please edit this issue to address the above within 2 hours, or it will be automatically closed.


    This issue might be a duplicate of existing issues. Please check:

    If you believe this was flagged incorrectly, please let a maintainer know.

  2. added
    needs:complianceThis means the issue will auto-close after 2 hours.
    and removed
    needs:complianceThis means the issue will auto-close after 2 hours.
    on May 18, 2026
  3. github-actions commented on May 18, 2026

    @github-actions
    Contributor

    Thanks for updating the issue! It now includes all the required information — clear reproduction steps, expected vs. actual behavior, test results, and system details. We appreciate you taking the time to fill this out properly.

  4. tjddnjs124 commented on May 18, 2026

    @tjddnjs124
    Author

    Precision Root Cause Analysis Update

    After deeper investigation, I can now explain EXACTLY why this happens and why it is subagent-specific.

    Root Cause: 3-Layer Chain

    1. OpenCode API returns 402 for explicit model specification
    When a subagent prompt is sent with an explicit model parameter (provider=opencode-go, model=deepseek-v4-flash), the API returns 402 "Insufficient balance". If no explicit model is passed, the API uses the agent's default model and the call succeeds. This was confirmed: subagent_type="general" (no explicit model) works with deepseek, while subagent_type="oracle" (explicit model from config) fails.

    2. OMO plugin disables fallback chain when config model is set
    When the user configures a model in oh-my-opencode.json (explicitCategoryModel is set), the fallback chain from CATEGORY_MODEL_REQUIREMENTS is replaced with undefined. This means if the configured model fails billing, there is NO automatic retry with alternative models from the hardcoded fallback chain.

    3. Config fallback models only contain the same failing model
    The config's fallback_models only included the same model that already failed. So the retry loop also fails.

    Why Only Certain Models

    Testing all 12 opencode-go/ models:

    • minimax-m2.5 / minimax-m2.7 (MiniMax upstream) -> works
    • All other 10 models -> 402

    This matches previous upstream depletion events:

    Workaround

    Setting agent/category models to opencode-go/minimax-m2.5 with opencode-go/deepseek-v4-flash as fallback makes everything work. Main session can still use deepseek-v4-flash directly.

  5. tjddnjs124 commented on May 18, 2026

    @tjddnjs124
    Author

    hello?

  6. github-actions commented on Jul 18, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions