Skip to content

API Error: 400 Param Incorrect Claude Code integration with Xiaomi Mimo

Quick fix

Upgrade CC Switch to v3.16.2+ to fix 400 errors caused by missing reasoning_content in MiMo thinking mode.

Error output
Param Incorrect: The reasoning_content in the thinking mode must be passed back to the API.

The OpenAI-compatible interface of Xiaomi MiMo requires that subsequent requests must pass back the `reasoning_content` returned by the previous assistant turn verbatim when in thinking mode. The Claude Desktop 3P / Claude Code conversion chain in CC Switch previously did not save and return this field for `mimo`/`xiaomimimo`. Consequently, after multi-turn conversations, tool calls, or thinking continuation (more likely when `effort=high`/`max`), the upstream service rejects the request, returning `400 Param Incorrect`. Users can see the parameter message as `The reasoning_content in the thinking mode must be passed back to the API.` in `proxy_request_logs.error_message`.

The official team added MiMo `reasoning_content` support in the Claude Code proxy path via #2990 in v3.16.0, added `mimo`/`xiaomimimo` to the `reasoning_content` retention whitelist, and injected placeholders for `redacted_thinking` blocks. Maintainers confirmed in #3074 and #2952 that upgrading to v3.16.2 or later resolves the issue.

  1. Upgrade CC Switch to v3.16.2 or later (MiMo `reasoning_content` support was merged in v3.16.0).

  2. Fully exit and restart Claude Code / Claude Desktop to ensure the local proxy uses the new version conversion chain.

  3. If the issue persists, confirm that model routing uses `mimo-v2.5-pro` or `mimo-v2.5`, and reopen the original issue with the version number, configuration, and reproduction steps.

ToolClaude Code / Claude Desktop 3P
Version修复于 v3.16.0;请升级到 v3.16.2 或更新版本
PlatformsmacOS
How should I fill in the Xiaomi request address?
You can refer to the upstream `base_url` in this issue: `https://token-plan-sgp.xiaomimimo.com/v1`, but please use the specific address provided by Xiaomi's official documentation or supplier.
Why does the first round succeed, but report 400 after multiple rounds or tool calls?
MiMo requires passing back the `reasoning_content` returned by the previous assistant turn verbatim in thinking mode; if subsequent requests do not return it, the upstream returns `Param Incorrect`.
Is it correct to set the model to `mimo-v2.5-pro`?
In this issue, the model routing is `claude-opus-4-7` -> `mimo-v2.5-pro` and `claude-sonnet-4-6` -> `mimo-v2.5`; some users noted that `plan` does not have a flash model.
After upgrading, I still get `There's an issue with the selected model ... It may not exist or you may not have access to it.`?
This is one manifestation of the same issue in Claude Code; confirm that you have upgraded to v3.16.2 and restarted. If the issue persists, reopen the issue and supplement the version number, configuration, and reproduction steps.

This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.