anomalyco / anomalyco/opencode

dots3-note-prev (Image-Text-to-Text) incorrectly detected as non-vision, images rejected by unsupportedParts()

Open
#43,392 0 comments 0 reactions 1 assignee View on GitHub

@neriousy is already working on this.

Since Aug 19, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Description

When uploading an image while using dots3-note-prev, the model receives this error instead of the image:

ERROR: Cannot read clipboard (this model does not support image input). Inform the user.

This is wrong — dots3-note-prev is a multimodal omni model (280B-A16B omni MoE) that natively supports image, audio, and video input. It should accept images.

Root Cause

unsupportedParts() in packages/opencode/src/provider/transform.ts:438-440 strips image parts when model.capabilities.input.image is false. Capability detection in packages/opencode/src/provider/provider.ts:1267 derives this from the external model config:

image: model.modalities?.input?.includes("image") ?? false,

If dots3-note-prev is not listed in the model config with modalities.input including "image", it defaults to false and images get rejected — even though the model actually supports them.

Steps to Reproduce
  1. Configure dots3-note-prev as the model
  2. Upload/paste an image
  3. Observe: error text instead of image processing
Expected Behavior

Images should pass through to the model since dots3-note-prev natively supports image input (as well as audio and video).

Evidence
Environment
  • Model: dots3-note-prev (280B-A16B omni MoE, Image-Text-to-Text + audio + video)
Related
  • #40495 — same error message for non-vision models
  • #29216 — non-vision models blocked from passing images to vision MCP
  • #29279 — previous PR to fix this (closed, not merged)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.