Skip to content

[FEATURE]: Configurable provider/model fallback on transient errors #20098

Closed

Description

@ESRE-dev

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Add configurable provider/model fallback so OpenCode can recover from transient provider failures by retrying once on an alternative model.

When the primary provider returns transient errors (for example 429, 500, 502, 503, or transient 403 from some gateways), sessions currently retry only on the same provider and can still fail after retries are exhausted. If users have multiple providers configured, OpenCode should be able to fail over automatically.

Requested behavior:

  1. Add a fallback config map (primary -> fallback), e.g.:
    • openai/gpt-4o -> anthropic/claude-sonnet-4-20250514
  2. On fallback-worthy errors, retry once on the configured fallback model.
  3. Keep non-fallback errors as-is (auth failures, explicit context overflow, clear invalid-request errors).
  4. Provide clearer guidance for copilot-style transient 403s where reauthentication may be needed.

This is broader than #19394 (provider-specific retryability bug). #19394 focuses on Anthropic 5xx retry classification; this request adds general cross-provider fallback behavior.

Why this matters

  • Improves reliability when one provider is degraded.
  • Reduces user-facing session failures during transient outages/rate limits.
  • Lets teams configure resilient multi-provider operation without manual intervention.

Related

Activity

  1. added
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on Mar 30, 2026
  2. github-actions commented on Mar 30, 2026

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • This appears to be a feature request, but it does not use the Feature Request template (missing the verification checkbox and [FEATURE]: title prefix). Please resubmit using the correct template, or clarify if this is intended as a bug report and include reproduction steps.

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


    This issue might be a duplicate of or closely related to existing issues. Please check:

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

  3. changed the title [-]No automatic model fallback on transient provider errors[/-] [+][FEATURE]: Configurable provider/model fallback on transient errors[/+] on Mar 30, 2026
  4. ESRE-dev commented on Mar 30, 2026

    @ESRE-dev
    Author

    Closing in favor of template-compliant replacement #20100.

  5. github-actions commented on Mar 30, 2026

    @github-actions
    Contributor

    Thanks for updating the issue! It now follows the contributing guidelines and feature request template. We appreciate the clear description and the context you provided.

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

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions