Skip to content

[FEATURE]: Auto-describe images via vision fallback when active model lacks vision support #24948

Closed as not planned

Description

@MrRobotoGit

Feature hasn't been suggested before.

Describe the enhancement you want to request

When using a coding-focused LLM that doesn't support image input (e.g. DeepSeek, GLM, Haiku), pasting a screenshot into the chat causes the image to be silently dropped. The model receives an error string instead, with no indication that images aren't supported.

Proposed solution: Before calling streamText, if the active model can't read images but the message contains image parts, automatically find a vision-capable model from any configured provider, call it with a description prompt, and replace the image parts with the returned text description. The main model then receives the description as plain text — entirely transparent, no model switching required.

A new optional vision_model config field lets users pin a specific model (e.g. openai/gpt-4o). If not set, the first image-capable model found across all configured providers is used, skipping the current model to handle cases where the active provider has billing or rate-limit issues.

Implementation: PR #24382

Note on #22828: That issue proposes a similar concept but with a different scope — it focuses on transcription for non-multimodal providers, while this proposal handles the case where the specific active model lacks vision support, regardless of provider, and includes fallback to any available provider. The implementation here also adds a dedicated vision_model config field and integrates into the streaming pipeline rather than as a pre-processing step.

Activity

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

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • The issue does not use one of the three required templates (Bug Report, Feature Request, or Question). Please resubmit using the appropriate template. If this is a feature request, the title should start with [FEATURE]: and include the required verification checkboxes.

    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.

  3. changed the title [-]Non-vision models silently drop image attachments from chat[/-] [+]Auto-describe images via vision fallback when active model lacks vision support[/+] on Apr 29, 2026
  4. github-actions commented on Apr 29, 2026

    @github-actions
    Contributor

    Thanks for updating the issue! It's much improved and has real, helpful content. However, there is still one compliance issue to address:

    Missing title prefix: Feature Request issues must have a title starting with [FEATURE]:. Please update the title to:

    [FEATURE]: Auto-describe images via vision fallback when active model lacks vision support

    Once that's updated, we'll remove the needs:compliance label.

  5. changed the title [-]Auto-describe images via vision fallback when active model lacks vision support[/-] [+][FEATURE]: Auto-describe images via vision fallback when active model lacks vision support[/+] on Apr 29, 2026
  6. github-actions commented on Apr 29, 2026

    @github-actions
    Contributor

    Thanks for updating the issue! Everything looks good now — the feature request is clear, well-scoped, and follows the contributing guidelines. Removing the compliance flag.

  7. removed
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on May 3, 2026
  8. github-actions commented on Jul 4, 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