Skip to content

Why is the model the claude command uses in a plain terminal different from the one in cc-switch?

Quick fix

Set the MiniMax you want as the primary model and run claude from a cc-switch terminal. Without takeover on, the mapped name is not a substitution.

Error output
上面是终端中使用`claude`命令使用的`Sonnet 4.6`模型,下面使用cc-switch中打开的终端使用的`MiniMax-M2.5`模型。

实际,我根本就没有`Sonnet 4.6`模型。并且使用了cc-switch不应该是全局设置了吗(即cc-switch用的什么,在终端中打开的就是什么)?
English translation

Above is the `Sonnet 4.6` model used by the `claude` command in a terminal; below is the `MiniMax-M2.5` model used in the terminal opened from cc-switch. In reality I do not have a `Sonnet 4.6` model at all. And should using cc-switch not be a global setting (that is, whatever cc-switch uses is what a terminal opens with)?

There is a model mapping when cc-switch writes the Claude Code configuration: the primary model displays its own name, MiniMax-M2.5 for instance, while other models are mapped to claude-family names such as Sonnet 4.6. Seeing Sonnet 4.6 when running `claude` in a system terminal and MiniMax-M2.5 in a terminal opened from cc-switch is the same written mapping configuration displayed two different ways.

Maintainers explain in #1359/#1400 that without local proxy/takeover mode enabled, cc-switch only helps with configuration — the request does not pass through the software. So this is not Sonnet 4.6 substituting for the MiniMax request; it is the expected display after the model mapping is written.

  1. Open the provider/model configuration in cc-switch and confirm whether the current primary model is the MiniMax you actually want to use. The primary model displays its own name; other models are mapped to claude-family names.

  2. When you need the real model, set it as the primary model and reopen a terminal from cc-switch to run `claude`. Do not just delete the mapping entry — the mapping content is written by cc-switch.

  3. If running `claude` directly in a system terminal still shows a mapped name such as Sonnet 4.6, go back to cc-switch and check the primary model setting. This is not a failed global substitution caused by the local proxy being off.

ToolClaude Code
VersionUnknown
PlatformsUnknown
How should I understand this model mapping, and where is it documented?
Maintainers explain in the issue: the primary model displays its own name and the others are mapped to claude-family models; if the configuration specifies a model mapping, Claude Code shows a claude-family model.
Is this resolved? I cannot find my mapped model in the terminal, but I can use it in cc.
That is the mapping display of the configuration as written: what you see in the terminal is the mapped model name. To use the real model in the current session, set it as the primary model and run `claude` from a terminal opened by cc-switch.

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.