fix(agent): recover after image-input-unsupported failures#2525
Merged
afjcjsbx merged 4 commits intosipeed:mainfrom Apr 15, 2026
Merged
fix(agent): recover after image-input-unsupported failures#2525afjcjsbx merged 4 commits intosipeed:mainfrom
afjcjsbx merged 4 commits intosipeed:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Description
This PR fixes a failure mode where sending an image to a non-vision model (e.g., OpenRouter models without image support) causes the session to get “stuck”: subsequent text-only messages keep failing because the previous image remains in the persisted session history.
When the provider returns a “vision/image input not supported” error, PicoClaw now strips media attachments from the session history and retries the LLM call once without media, allowing the conversation to continue.
🗣️ Type of Change
🤖 AI Code Generation
🔗 Related Issue
📚 Technical Context (Skip for Docs)
image_urlinputs and return errors like “No endpoints found that support image input”. Because the image is stored in the session history, later turns keep sending it and keep failing. Stripping media from persisted history on this specific error prevents repeated failures and keeps the session usable.🧪 Test Environment
📸 Evidence (Optional)
Click to view Logs/Screenshots
☑️ Checklist