OpenHands / OpenHands/software-agent-sdk

[Bug]: SDK sends unsupported reasoning_effort to MiniMax M3

Open
#5,173 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug duplicate-candidate llm priority:medium ready-for-dev
Dominant language
Python
Stars
1.1k
Forks
539
Avg merge
1d 19h
Merged PRs (30d)
137

Description

Bug Description

The SDK sends the default reasoning_effort=high to minimax/MiniMax-M3, and LiteLLM rejects it with UnsupportedParamsError: minimax does not support parameters: ['reasoning_effort']. (Same bug as #4934, whose linked PR #4935 was closed unmerged; the faulty inference is still on main.)

Actual Behavior

get_features treats generic supports_reasoning: true metadata as proof of reasoning_effort support:

pytest tests/sdk/llm/test_model_features.py -q -k generic_reasoning
# fails on main: MiniMax M3-style metadata resolves supports_reasoning_effort=True

and select_chat_options then emits the parameter:

pytest tests/sdk/llm/test_chat_options.py -q -k minimax
# fails on main: reasoning_effort present in chat options for MiniMax M3
Expected Behavior

Generic supports_reasoning alone never enables reasoning_effort. Only an explicit override, an exact supports_reasoning_effort metadata flag, an explicit False on generic reasoning (disables), or LiteLLM-supported-params/allowlist evidence decides.

Acceptance Criteria
  • MiniMax M3-style metadata (supports_reasoning: true, no exact flag) resolves supports_reasoning_effort=False.
  • select_chat_options omits reasoning_effort for such models.
  • Explicit overrides and exact metadata flags keep precedence; supports_reasoning: false still disables.
  • Existing test_model_features.py / test_chat_options.py expectations hold.

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.

Research direction

Start with get_features and select_chat_options, then run the named focused tests: tests/sdk/llm/test_model_features.py -k generic_reasoning and tests/sdk/llm/test_chat_options.py -k minimax. Verify that generic supports_reasoning metadata does not enable reasoning_effort, while explicit overrides, exact metadata, and explicit false retain their stated precedence and the focused tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.