Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - krishnakanthb13/claude-code-switch: Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment. · GitHub
Skip to content

Repository files navigation

Claude Code Profile Switcher

License: GPL v3

A lightweight Windows setup to switch Claude Code between multiple API providers (OpenRouter, Meta Muse, Longcat, Zenmux, DeepSeek, Xiaomi MiMo, Z AI GLM, Codestral, direct Anthropic) via a right-click context menu or terminal command.

Claude Code Profile Switcher Banner


What It Does

  • Adds an "Open with Claude Code" option to the Windows right-click menu on any folder
  • Opens a terminal picker listing all profiles in the profiles/ folder
  • Dynamically aligns brackets based on name lengths for a clean, unified vertical layout
  • Color-codes brackets using ANSI escapes based on tags (free, paid, ends, depreciated, etc.)
  • Copies the selected profile as settings.json and launches Claude Code in that directory
  • Also supports a quick terminal command ccswitch <profilename> without launching Claude Code
  • Adding new profiles requires no changes to any other file

Folder Structure

.claude/
├── profiles/
│ ├── codestral.json
│ ├── deepseek.json
│ ├── longcat.json
│ ├── meta muse.json
│ ├── opencode go.json
│ ├── opencode zen.json
│ ├── openrouter.json
│ ├── xiaomi mimo.json
│ ├── z ai glm.json
│ └── zenmux.json
├── ccpick.bat
├── ccswitch.bat
├── fcc_manager.bat
├── install-context-menu.reg
├── omniroute_manager.bat
├── uninstall-context-menu.reg
├── claude_v2.ico
└── README.md

First-Time Setup

1. Copy files to .claude

Copy everything from this repo into C:\Users\ADMIN\.claude\

Make sure profiles\ folder and all .json files are in place.

2. Install the right-click menu entry

  • Right-click install-context-menu.regRun as administrator
  • Click Yes on the UAC prompt

3. Restart Explorer

  • Press Ctrl + Shift + Esc → Task Manager
  • Find Windows Explorer → right-click → Restart

The "Open with Claude Code" option should now appear when you right-click any folder.


Usage

Method 1 — Right-click menu (ccpick.bat)

  1. Right-click any project folder
  2. Click Open with Claude Code
  3. A terminal opens showing the profile menu:
 ==============================
Claude Code Profile Picker
==============================
[1] codestral
[2] deepseek
[3] longcat
[4] meta muse
[5] opencode go
[6] opencode zen
[7] openrouter
[8] xiaomi mimo
[9] z ai glm
[10] zenmux
[0] default (direct Anthropic)
Pick a profile:
  1. Type the number and press Enter
  2. Claude Code launches in that folder with the selected profile

Method 2 — Terminal command (ccswitch.bat)

Use this when you want to switch the active profile without launching Claude Code, or from an already open terminal.

ccswitch codestral
ccswitch deepseek
ccswitch longcat
ccswitch "meta muse"
ccswitch "opencode go"
ccswitch "opencode zen"
ccswitch openrouter
ccswitch "xiaomi mimo"
ccswitch "z ai glm"
ccswitch zenmux
ccswitch default

ccswitch default removes settings.json entirely, reverting to direct Anthropic.

Note: Named ccswitch (not switch) to avoid conflict with PowerShell's reserved switch keyword. Works in both CMD and PowerShell.

To use it from anywhere, add C:\Users\ADMIN\.claude to your system PATH:

  • Win + Rsysdm.cpl → Advanced → Environment Variables
  • Under System variables → find Path → Edit → New → paste C:\Users\ADMIN\.claude
  • Click OK and reopen your terminal

Free Claude Code Manager (fcc_manager.bat)

fcc_manager.bat provides an interactive menu allowing you to:

  1. Install Free Claude Code
  2. Uninstall Free Claude Code
  3. Start the Proxy Server (fcc-server)
  4. Launch Claude Code (fcc-claude)
  5. Launch Codex Code (fcc-codex)

Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.

For complete documentation, supported providers, clients, and integrations, please refer to the official repository: 👉 https://github.com/Alishahryar1/free-claude-code


OmniRoute Manager (omniroute_manager.bat)

omniroute_manager.bat provides an interactive menu allowing you to:

  1. Install OmniRoute (via npm globally)
  2. Uninstall OmniRoute
  3. Start OmniRoute Service (omniroute)
  4. Open the OmniRoute Dashboard (http://localhost:20128)

OmniRoute is a proxy server designed to route LLM traffic. It is commonly configured with coding tools like Cline, Continue, Claude Code, or custom agent systems, translating APIs and managing multiple backend LLM endpoints.

For full quickstart details and documentation, visit: 👉 https://github.com/diegosouzapw/OmniRoute 👉 https://omniroute.online/#quickstart


Adding a New Profile

  1. Create a new .json file in C:\Users\ADMIN\.claude\profiles\
  2. That's it — it appears in the menu automatically next time

Profile template

{
"env": {
"ANTHROPIC_BASE_URL": "https://your-provider-api-url",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "provider/model-name",
"ANTHROPIC_SMALL_FAST_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "provider/model-name",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "provider/model-name"
}
}

Meta Muse profile (meta muse.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.meta.ai",
"ANTHROPIC_AUTH_TOKEN": "your_meta_muse_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "muse-spark-1.2-contributor",
"ANTHROPIC_SMALL_FAST_MODEL": "muse-spark-1.2-contributor",
"CLAUDE_CODE_SUBAGENT_MODEL": "muse-spark-1.2-contributor",
"ENABLE_TOOL_SEARCH": "false",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
}
}

Xiaomi MiMo profile (xiaomi mimo.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5",
"ANTHROPIC_SMALL_FAST_MODEL": "mimo-v2.5",
"CLAUDE_CODE_SUBAGENT_MODEL": "mimo-v2.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

Z AI GLM profile (z ai glm.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_glm_auth_token",
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_MODEL": "glm-4.7-flash",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash"
}
}

DeepSeek profile (deepseek.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_deepseek_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"permissions": {
"allow": [],
"deny": []
}
}

OpenRouter profile (openrouter.json)

{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-v1-your_openrouter_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "poolside/laguna-m.1:free",
"ANTHROPIC_SMALL_FAST_MODEL": "cohere/north-mini-code:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-4-31b-it:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "nvidia/nemotron-3-ultra-550b-a55b:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "poolside/laguna-m.1:free"
},
"theme": "dark"
}

Zenmux profile (zenmux.json)

{
"env": {
"ZENMUX_API_KEY": "your_zenmux_api_key",
"ANTHROPIC_BASE_URL": "https://zenmux.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_zenmux_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "z-ai/glm-5.2-free",
"ANTHROPIC_SMALL_FAST_MODEL": "z-ai/glm-4.7-flash-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "stepfun/step-3.7-flash-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "z-ai/glm-5.2-free"
},
"theme": "dark"
}

Longcat profile (longcat.json)

{
"env": {
"ANTHROPIC_AUTH_TOKEN": "your_longcat_key",
"ANTHROPIC_BASE_URL": "https://api.longcat.chat/anthropic",
"ANTHROPIC_MODEL": "LongCat-2.0",
"ANTHROPIC_SMALL_FAST_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "LongCat-2.0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "LongCat-2.0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}

Codestral profile (codestral.json)

{
"env": {
"CODESTRAL_API_KEY": "",
"ANTHROPIC_BASE_URL": "https://codestral.mistral.ai/v1/chat/completions",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "codestral-2508",
"ANTHROPIC_SMALL_FAST_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "codestral-2508",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "codestral-2508"
}
}

OpenCode Go profile (opencode go.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go/v1",
"ANTHROPIC_AUTH_TOKEN": "your_opencode_go_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen3.7-max",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-max",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-max"
}
}

OpenCode Zen profile (opencode zen.json)

{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/v1",
"ANTHROPIC_AUTH_TOKEN": "your_zen_api_key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "nemotron-3-ultra-free",
"ANTHROPIC_SMALL_FAST_MODEL": "north-mini-code-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "nemotron-3-ultra-free"
}
}

Uninstalling the Right-Click Entry

  • Double-click uninstall-context-menu.reg → Yes
  • Restart Explorer via Task Manager

Re-installing on a New Machine

  1. Copy this repo to C:\Users\<YourUsername>\.claude\
  2. Open install-context-menu.reg in Notepad and replace ADMIN with your actual Windows username throughout
  3. Run as administrator and restart Explorer

Troubleshooting

ProblemFix
Right-click option not showingRestart Explorer via Task Manager, or reboot
"The system cannot find the path"Username in .reg file doesn't match — re-check and re-install
Explorer crashes on clickRe-install the .reg as administrator after uninstalling first
Garbled box characters in terminalchcp 437 line in ccpick.bat handles this — ensure it's present
ccswitch not recognizedAdd C:\Users\ADMIN\.claude to system PATH and reopen terminal
PowerShell says switch is reservedUse ccswitch.bat — file must be named ccswitch.bat not switch.bat
Charged models on OpenRouterSet all four model env vars explicitly, use :free suffix
Profile not appearing in menuEnsure file is .json extension and is inside the profiles\ folder

About

Lightweight, zero-dependency Windows utility to switch Claude Code between multiple API providers (Anthropic, OpenRouter, LongCat, DeepSeek, Zenmux, GLM, OpenCode, Codestral) via a right-click context menu or terminal command — features an interactive, ANSI color-coded profile picker with dynamic alignment.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages