diff --git a/data/claude-profile/providers/minimax-sonnet.yaml b/data/claude-profile/providers/minimax-sonnet.yaml index a4b4026..7be6653 100644 --- a/data/claude-profile/providers/minimax-sonnet.yaml +++ b/data/claude-profile/providers/minimax-sonnet.yaml @@ -1,10 +1,16 @@ name: minimax-sonnet -display: MiniMax (Sonnet) -model_id: claude-sonnet-4-20250514 +display: MiniMax (M2.7) +model_id: MiniMax-M2.7 base_url: https://api.minimax.io/anthropic -api_key_env: ANTHROPIC_AUTH_TOKEN +api_key_env: ANTHROPIC_API_KEY api_key_file: ~/.claude-secrets/minimax-auth-token extra_env: + ANTHROPIC_MODEL: MiniMax-M2.7 + ANTHROPIC_SMALL_FAST_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_SONNET_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_OPUS_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_HAIKU_MODEL: MiniMax-M2.7 + API_TIMEOUT_MS: "3000000" CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1" DISABLE_PROMPT_CACHING: "1" CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1" diff --git a/specs/claude-profile.spec.md b/specs/claude-profile.spec.md index ef73efa..342a799 100644 --- a/specs/claude-profile.spec.md +++ b/specs/claude-profile.spec.md @@ -128,12 +128,19 @@ Plain YAML (no frontmatter). Required field: `model_id`. All other fields are op ```yaml name: minimax-sonnet # unique identifier, matches filename -display: MiniMax (Sonnet) # shown in the interactive picker -model_id: claude-sonnet-4-20250514 # passed to claude --model +display: MiniMax (M2.7) # shown in the interactive picker +model_id: MiniMax-M2.7 # passed to claude --model base_url: https://api.minimax.io/anthropic # exported as ANTHROPIC_BASE_URL (omit for Anthropic) -api_key_env: ANTHROPIC_AUTH_TOKEN # env var name for the API key (omit for Anthropic) +api_key_env: ANTHROPIC_API_KEY # env var name for the API key (omit for Anthropic) api_key_file: ~/.claude-secrets/minimax-auth-token # file containing the raw token value extra_env: + # Claude Code uses separate tier vars; all must point to the same model to prevent Anthropic fallback + ANTHROPIC_MODEL: MiniMax-M2.7 + ANTHROPIC_SMALL_FAST_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_SONNET_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_OPUS_MODEL: MiniMax-M2.7 + ANTHROPIC_DEFAULT_HAIKU_MODEL: MiniMax-M2.7 + API_TIMEOUT_MS: "3000000" CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1" DISABLE_PROMPT_CACHING: "1" CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1" @@ -249,15 +256,15 @@ $ claude-profile --dryrun oreillyit --mode quick --provider minimax-sonnet [dryrun] Mode: quick [dryrun] Mode file: ~/dev/claude/small-scripts/data/claude-profile/modes/quick.md [dryrun] Driver: sonnet -[dryrun] Provider: minimax-sonnet (MiniMax (Sonnet)) -[dryrun] Model ID: claude-sonnet-4-20250514 +[dryrun] Provider: minimax-sonnet (MiniMax (M2.7)) +[dryrun] Model ID: MiniMax-M2.7 [dryrun] Base URL: https://api.minimax.io/anthropic [dryrun] API key env: ANTHROPIC_AUTH_TOKEN (from ~/.claude-secrets/minimax-auth-token) [dryrun] Project: [dryrun] Time horizon: [dryrun] Async OK: no [dryrun] Autoloop: none -[dryrun] Would execute: claude --model claude-sonnet-4-20250514 --append-system-prompt "" +[dryrun] Would execute: claude --model MiniMax-M2.7 --append-system-prompt "" [dryrun] No changes made. ``` diff --git a/tests/test-claude-profile.sh b/tests/test-claude-profile.sh index 7e9c4c9..e31c3da 100755 --- a/tests/test-claude-profile.sh +++ b/tests/test-claude-profile.sh @@ -175,11 +175,11 @@ out=$(run --dryrun oreillyit --mode quick --provider minimax-sonnet) rc=$? assert_exit_code "minimax dryrun exits 0" 0 "$rc" assert_contains "minimax shows provider" "Provider: minimax-sonnet" "$out" -assert_contains "minimax shows model ID" "Model ID: claude-sonnet-4-20250514" "$out" +assert_contains "minimax shows model ID" "Model ID: MiniMax-M2.7" "$out" assert_contains "minimax shows base URL" "Base URL: https://api.minimax.io/anthropic" "$out" -assert_contains "minimax shows API key env" "API key env: ANTHROPIC_AUTH_TOKEN" "$out" +assert_contains "minimax shows API key env" "API key env: ANTHROPIC_API_KEY" "$out" assert_contains "minimax references key file" "minimax-auth-token" "$out" -assert_contains "minimax shows model in exec command" "claude --model claude-sonnet-4-20250514" "$out" +assert_contains "minimax shows model in exec command" "claude --model MiniMax-M2.7" "$out" # === Test 12: error — unknown provider === echo