Skip to content

Error: "this model does not support image input" with paid providers (GitHub Copilot, Anthropic, etc.) but works with free models #16468

Closed as not planned

Description

@NeuralLabs83

Description

Steps to reproduce:

  1. Use OpenCode with any paid provider (GitHub Copilot, Anthropic direct, etc.)
  2. Drag/drop an image into the chat
  3. Error: "Cannot read 'image.png' (this model does not support image input)"

Expected behavior:

  • Image should be processed correctly (like with free models)

Environment:

  • OS: Windows
  • Provider used: github-copilot (several models tested: claude-opus-4.6, claude-sonnet-4.5, gpt-5.2)
  • Free model that works: big-pickle

Notes:

  • Error occurs with ALL paid models tested
  • Free models like big-pickle DO accept images
  • Error message says model doesn't support images, but that's false for Claude Opus/Sonnet and GPT-5.2 which are multimodal

Plugins

No response

OpenCode version

No response

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Activity

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

    @github-actions
    Contributor

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

    If your issue is distinct (e.g., specifically about the paid vs free provider distinction), please add more detail to differentiate it from the above.

  3. mtomas7 commented on Mar 10, 2026

    @mtomas7

    Please see if this config tip will help: #15728 (comment)

  4. removed
    bugSomething isn't working
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on May 3, 2026
  5. botlong commented on May 18, 2026

    @botlong

    Still hitting this on v1.15.4 (Windows). Custom provider using @ai-sdk/openai with baseURL override — model is gpt-5.5 which is multimodal, but OpenCode reports capabilities.input.image: false.

    Tried every config-level workaround I could find:

    • Adding vision: true to the model definition — ignored
    • Adding capabilities: { input: { image: true } } — ignored
    • Adding attachment: true — sets capabilities.attachment: true but input.image stays false
    • Switching npm adapter from @ai-sdk/openai-compatible to @ai-sdk/openai — no change
    • Using a model ID that OpenCode recognizes (gpt-4o) under the custom provider — still false

    The capability registry appears to be entirely hardcoded in the Go binary and ignores user config overrides. This makes all custom/proxy providers unable to use image input regardless of the model's actual capabilities.

    Would love to see either:

    1. A config-level capabilities override that the registry respects, or
    2. The registry updated to include gpt-5.5 (released by OpenAI, multimodal)

    Thanks for the great project otherwise!

  6. rekram1-node commented on May 18, 2026

    @rekram1-node
    Collaborator

    There is no "go binary" if u are using a custom model u can define it like so:

    "provider": {
        "my-provider": {
          "models": {
            "my-model": {
              "modalities": {
                "input": ["text", "image", "pdf"],
                "output": ["text"],
              },
            },
          },
        },
      },
    
  7. valthebald commented on Jun 25, 2026

    @valthebald

    @rekram1-node you saved my day!

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