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
- Open opencode desktop or terminal UI on Windows.
- In a session, upload or paste two
.ico files, or paste .ico file paths if the UI auto-attaches them.
- Continue with a multimodal-capable model.
- Reopen the same session or switch models.
- 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
Description
Uploading or pasting Windows
.icoicon files into a session can persist them as multimodal file parts with MIME typeimage/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
partrows from the local SQLite DB / restoring the session to before the ICO upload.Expected behavior:
image/vnd.microsoft.icon, opencode should show a visible error and allow recovery.Actual behavior:
.icofiles are persisted astype=fileimage parts withmime=image/vnd.microsoft.icon.Plugins
None relevant.
OpenCode version
1.15.12 desktop and CLI
Steps to reproduce
.icofiles, or paste.icofile paths if the UI auto-attaches them.Expected: unsupported
.icofiles 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