Skip to content

ICO image attachments can make multimodal sessions get stuck in thinking #30016

@buyi1net

Description

@buyi1net

Description

Uploading or pasting Windows .ico icon files into a session can persist them as multimodal file parts with MIME type image/vnd.microsoft.icon. After that, switching the same session to a multimodal-capable model causes the session to get stuck in thinking/loading. Switching to a text-only model can continue the conversation, but any multimodal model gets stuck again because the bad ICO file parts are replayed from session history.

Observed persisted session parts:

{
  "type": "file",
  "mime": "image/vnd.microsoft.icon",
  "filename": "107.ico",
  "url": "data:image/vnd.microsoft.icon;base64,..."
}
{
  "type": "file",
  "mime": "image/vnd.microsoft.icon",
  "filename": "toolbox.ico",
  "url": "data:image/vnd.microsoft.icon;base64,..."
}

The session became usable again after removing those two part rows from the local SQLite DB / restoring the session to before the ICO upload.

Expected behavior:

  • Unsupported image MIME types should not be accepted as multimodal image inputs, or should be converted to a supported format before persistence.
  • If a provider/model does not support image/vnd.microsoft.icon, opencode should show a visible error and allow recovery.
  • A persisted unsupported file attachment should not make the whole session unusable for all multimodal models.

Actual behavior:

  • .ico files are persisted as type=file image parts with mime=image/vnd.microsoft.icon.
  • Reopening the session and selecting any multimodal-capable model repeatedly gets stuck in thinking/loading.
  • Text-only models can continue because they do not process the image parts.

Plugins

None relevant.

OpenCode version

1.15.12 desktop and CLI

Steps to reproduce

  1. Open opencode desktop or terminal UI on Windows.
  2. In a session, upload or paste two .ico files, or paste .ico file paths if the UI auto-attaches them.
  3. Continue with a multimodal-capable model.
  4. Reopen the same session or switch models.
  5. Select a multimodal-capable model again.

Expected: unsupported .ico files are rejected, converted, or produce a recoverable error.

Actual: the session gets stuck in thinking/loading whenever a multimodal-capable model is selected.

Screenshot and/or share link

No public screenshot. The minimal persisted DB evidence is included above.

Operating System

Windows 11

Terminal

Windows PowerShell / opencode desktop

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions