Skip to content

fix(soul): name the config fix in the unsupported-capability error - #2590

Open
ayaangazali wants to merge 1 commit into
MoonshotAI:mainfrom
ayaangazali:fix-capability-error-hint
Open

fix(soul): name the config fix in the unsupported-capability error#2590
ayaangazali wants to merge 1 commit into
MoonshotAI:mainfrom
ayaangazali:fix-capability-error-hint

Conversation

@ayaangazali

@ayaangazali ayaangazali commented Aug 5, 2026

Copy link
Copy Markdown

Related Issue

Partially addresses #2588 (the "no hint at the fix" half).

Description

#2588 reports two separate problems. This PR only tackles the smaller, self-contained one: the error tells you which capability is missing but never tells you what to change.

Before:

LLM model 'Qwen3.6-27B' does not support required capability: image_in.

After:

LLM model 'Qwen3.6-27B' does not support required capability: image_in. If the model
does support this, declare `capabilities = ["image_in"]` on its entry in your config
file; input capabilities are only taken from that setting for manually configured models.

The wording is deliberately conditional. derive_model_capabilities (llm.py:532) only infers thinking-related capabilities, from the model name and a couple of hardcoded Kimi models, so image_in and video_in for a custom model come solely from the capabilities entry that is already documented in docs/en/configuration/config-files.md. The error should not claim the model is capable, only point at the setting if it is.

What this PR does not do: the bigger half of #2588 is that the abort happens after tool side effects have landed, and the argument there is that a statically knowable capability should be checked before the run starts rather than when the offending message appears. That is a real design question about where the check belongs, so it seemed better left to you than guessed at by a drive-by.

Two existing inline snapshots pinned the old string (tests/core/test_exceptions.py, tests_e2e/test_wire_errors.py); both were regenerated with --inline-snapshot=fix rather than hand-edited.

Checklist

  • I have read the CONTRIBUTING document.
  • I have linked the related issue, if any.
  • I have added tests that prove my fix is effective or that my feature works. (new tests/core/test_llm_not_supported_message.py covering the single and multiple capability wording; both fail on current main)
  • I have run make gen-changelog to update the changelog. (hand-edited CHANGELOG.md in the same style, I do not have the Kimi API setup the skill needs)
  • I have run make gen-docs to update the user documentation. (the capabilities setting is already documented, nothing to regenerate)

usual disclosure: freshman, so i deliberately took only the part of that issue i could be confident about and left the "check capabilities before running" design call to you. checked the capability resolution path myself and talked the wording through with claude code so the message would not overclaim. happy to reword or drop it :)


Open in Devin Review

The error stated which capability was missing but not how to resolve it.
For manually configured models, input capabilities like image_in come
only from the model entry's `capabilities` setting, so a user hitting
this had no indication of what to change. The message now names that
setting and shows the exact value to declare.

Two inline snapshots pinned the old text and were regenerated.
Copilot AI lite review requested due to automatic review settings August 5, 2026 18:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants