Tools
Tools: How to Set Up Claude Code with Multiple AI Models
2026-02-24
0 views
admin
What this does ## Before you start ## Installing Claude Code ## Step 2: Get your API keys ## Step 3: Configure your API keys ## Step 4: Add model configurations ## Kimi for Coding ## Z.AI GLM models ## MiniMax M2 ## MiniMax M2.5 ## Dispatcher function (optional) ## Step 5: Reload configuration ## Step 6: Test ## Troubleshooting ## Command not found ## API key not defined ## Connection error ## How it works ## Adding more AI models ## RELATED NOTES This tutorial is fully based on a Reddit post for broader reach. All proper credit goes to ThreeKiloZero. Reddit post:
https://www.reddit.com/r/ClaudeCode/comments/1p27ly4/how_to_set_up_claude_code_with_multiple_ai_models/ Author: https://www.reddit.com/user/ThreeKiloZero/ This guide provides a simplified approach to configuring your terminal using Fish Shell, allowing you to easily switch between different AI models when using Claude Code.
The setup is also highly adaptable for .bashrc and .zshrc, requiring only minor syntax adjustments for environment variables and functions. Instead of being limited to a single AI model, you will be able to run
commands such as: If you do not have Claude Code installed yet, run: Create accounts on the AI services you want to use and obtain your API
keys: Store these keys in a safe place. Open your Fish configuration file: Add the following lines, replacing them with your real API keys: Add these functions to your ~/.config/fish/config.fish: If everything is configured correctly, Claude Code will start using the
selected AI model. The dispatcher function selects the correct configuration automatically. Done! You now have a flexible setup to switch between AI models with
simple commands. How to configure Claude CLI ACP for other compatible models, such as MiniMax M2.5
https://dev.to/hallancosta/how-to-configure-claude-cli-acp-for-other-compatible-models-such-as-minimax-m25-3j4n How to configure ACP agents in Zed
https://dev.to/hallancosta/how-to-configure-acp-agents-in-zed-521e Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse COMMAND_BLOCK:
curl -fsSL https://claude.ai/install.sh | bash Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
curl -fsSL https://claude.ai/install.sh | bash COMMAND_BLOCK:
curl -fsSL https://claude.ai/install.sh | bash CODE_BLOCK:
nano ~/.config/fish/config.fish Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
nano ~/.config/fish/config.fish CODE_BLOCK:
nano ~/.config/fish/config.fish COMMAND_BLOCK:
# API keys for different AI services
set -x KIMI_API_KEY "your-kimi-api-key"
set -x ZAI_API_KEY "your-zai-api-key"
set -x MINIMAX_API_KEY "your-minimax-api-key" Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
# API keys for different AI services
set -x KIMI_API_KEY "your-kimi-api-key"
set -x ZAI_API_KEY "your-zai-api-key"
set -x MINIMAX_API_KEY "your-minimax-api-key" COMMAND_BLOCK:
# API keys for different AI services
set -x KIMI_API_KEY "your-kimi-api-key"
set -x ZAI_API_KEY "your-zai-api-key"
set -x MINIMAX_API_KEY "your-minimax-api-key" CODE_BLOCK:
function claudekimi if test -z "$KIMI_API_KEY" echo "Error: KIMI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.kimi.com/coding/" set -x ANTHROPIC_AUTH_TOKEN "$KIMI_API_KEY" set -x ANTHROPIC_MODEL "kimi-for-coding" set -x ANTHROPIC_SMALL_FAST_MODEL "kimi-for-coding" claude-agent-acp $argv
end Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
function claudekimi if test -z "$KIMI_API_KEY" echo "Error: KIMI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.kimi.com/coding/" set -x ANTHROPIC_AUTH_TOKEN "$KIMI_API_KEY" set -x ANTHROPIC_MODEL "kimi-for-coding" set -x ANTHROPIC_SMALL_FAST_MODEL "kimi-for-coding" claude-agent-acp $argv
end CODE_BLOCK:
function claudekimi if test -z "$KIMI_API_KEY" echo "Error: KIMI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.kimi.com/coding/" set -x ANTHROPIC_AUTH_TOKEN "$KIMI_API_KEY" set -x ANTHROPIC_MODEL "kimi-for-coding" set -x ANTHROPIC_SMALL_FAST_MODEL "kimi-for-coding" claude-agent-acp $argv
end CODE_BLOCK:
function claudeglm if test -z "$ZAI_API_KEY" echo "Error: ZAI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.z.ai/api/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$ZAI_API_KEY" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "glm-4.5-air" claude-agent-acp $argv
end Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
function claudeglm if test -z "$ZAI_API_KEY" echo "Error: ZAI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.z.ai/api/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$ZAI_API_KEY" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "glm-4.5-air" claude-agent-acp $argv
end CODE_BLOCK:
function claudeglm if test -z "$ZAI_API_KEY" echo "Error: ZAI_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.z.ai/api/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$ZAI_API_KEY" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "glm-4.6" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "glm-4.5-air" claude-agent-acp $argv
end CODE_BLOCK:
function claudem2 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2" claude-agent-acp $argv
end Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
function claudem2 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2" claude-agent-acp $argv
end CODE_BLOCK:
function claudem2 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2" claude-agent-acp $argv
end CODE_BLOCK:
function claudem25 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2.5" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2.5" claude-agent-acp $argv
end Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
function claudem25 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2.5" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2.5" claude-agent-acp $argv
end CODE_BLOCK:
function claudem25 if test -z "$MINIMAX_API_KEY" echo "Error: MINIMAX_API_KEY is not set. Add it to ~/.config/fish/config.fish" return 1 end set -e ANTHROPIC_API_KEY set -x ANTHROPIC_BASE_URL "https://api.minimax.io/anthropic" set -x ANTHROPIC_AUTH_TOKEN "$MINIMAX_API_KEY" set -x API_TIMEOUT_MS "3000000" set -x CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 set -x ANTHROPIC_MODEL "MiniMax-M2.5" set -x ANTHROPIC_SMALL_FAST_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_SONNET_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_OPUS_MODEL "MiniMax-M2.5" set -x ANTHROPIC_DEFAULT_HAIKU_MODEL "MiniMax-M2.5" claude-agent-acp $argv
end CODE_BLOCK:
function claude switch "$argv[1]" case m2 M2 minimax claudem2 $argv case m25 M25 claudem25 $argv case kimi k2 K2 claudekimi $argv case glm GLM claudeglm $argv case '*' command claude $argv end
end Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
function claude switch "$argv[1]" case m2 M2 minimax claudem2 $argv case m25 M25 claudem25 $argv case kimi k2 K2 claudekimi $argv case glm GLM claudeglm $argv case '*' command claude $argv end
end CODE_BLOCK:
function claude switch "$argv[1]" case m2 M2 minimax claudem2 $argv case m25 M25 claudem25 $argv case kimi k2 K2 claudekimi $argv case glm GLM claudeglm $argv case '*' command claude $argv end
end CODE_BLOCK:
source ~/.config/fish/config.fish Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
source ~/.config/fish/config.fish CODE_BLOCK:
source ~/.config/fish/config.fish COMMAND_BLOCK:
claudekimi # if used dispatcher function (optional)
claude kimi Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
claudekimi # if used dispatcher function (optional)
claude kimi COMMAND_BLOCK:
claudekimi # if used dispatcher function (optional)
claude kimi COMMAND_BLOCK:
claudem25 # if used dispatcher function (optional)
claude m25 Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
claudem25 # if used dispatcher function (optional)
claude m25 COMMAND_BLOCK:
claudem25 # if used dispatcher function (optional)
claude m25 - claude - Uses the default Claude AI
- claudekimi - Uses Kimi for coding
- claudeglm - Uses Z.AI GLM models
- claudem25 - Uses MiniMax M2.5
- claude m25 or claude kimi - Alternative way to switch models - Claude Code installed on your computer (CLI version)
- API keys for the AI services you want to use
- Fish Shell configured - Kimi for Coding: Get your key from the Kimi developer portal
- Z.AI (GLM models): Get your key from Z.AI
- MiniMax: Get your key from MiniMax - Reload config
- Verify function definitions - Check variables
- Reload config - Validate API key
- Check internet connection
- Confirm endpoint URL - Checks API key
- Configures connection
- Runs Claude Code - Add API key
- Create function
- Set base URL
- Set auth token
- Configure models
- Add to dispatcher
how-totutorialguidedev.toaibashshellswitchssl