Clother
Use multiple Claude Code–compatible LLM providers from one CLI, switching profiles instantly with simple clother-* commands.
Install / Use
npx skills add jolehuit/clotherInstalls into whichever agent you are using.
Quality Score
Category
Development & EngineeringSupported Platforms
README
Why Clother?
Switching Claude Code providers usually means changing env vars, endpoints, models, and launcher scripts by hand. Clother gives you one install and one command pattern across Claude, Z.AI, Kimi, Alibaba, OpenRouter, local backends, China endpoints, and many other Anthropic-compatible providers.
Table of Contents
- Installation
- Core Usage
- Provider Reference
- Troubleshooting
- VS Code Integration
- Platform Support
- Under the Hood
- Contributors
- Star History
- License
Installation
Homebrew (macOS recommended)
# 1. Install Claude Code CLI
curl -fsSL https://claude.ai/install.sh | bash
# 2. Install Clother via tap
brew tap jolehuit/tap
brew install clother
# 3. Start using it — all launchers are ready immediately
clother-native # Use your Claude Pro/Max/Team subscription
clother-zai # Z.AI (GLM-5.2)
clother-zai --yolo # Skip permission prompts
clother-kimi # Kimi (K3)
clother config # Configure providers
All clother-* provider launchers are installed directly into $(brew --prefix)/bin by the formula — no extra setup needed. brew upgrade clother keeps everything up to date.
Update:
clother update # routes to brew upgrade under Homebrew
# or equivalently:
brew upgrade clother
curl (macOS / Linux)
# 1. Install Claude Code CLI
curl -fsSL https://claude.ai/install.sh | bash
# 2. Install Clother
curl -fsSL https://raw.githubusercontent.com/jolehuit/clother/main/scripts/install.sh | bash
# 3. Start using it
clother-native # Use your Claude Pro/Max/Team subscription
clother-zai # Z.AI (GLM-5.2)
clother-zai --yolo # Skip permission prompts
clother-kimi # Kimi (K3)
clother-ollama --model qwen3-coder # Local with Ollama
clother config # Configure providers
Update:
clother update # downloads and installs latest release
This installs:
clotherclother-*provider launchers- resume compatibility for
claude --resume ...
Install Options
By default, Clother installs launchers to:
- the same directory as your existing
claudebinary, whenclaudeis already onPATH - otherwise macOS:
~/bin - otherwise Linux:
~/.local/bin(XDG standard)
If the chosen bin directory is not on PATH, clother install prints a warning with the exact directory to add.
You can override this with --bin-dir or the CLOTHER_BIN environment variable:
# Using --bin-dir flag
curl -fsSL https://raw.githubusercontent.com/jolehuit/clother/main/scripts/install.sh | bash -s -- --bin-dir ~/.local/bin
# Using environment variable
export CLOTHER_BIN="$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/jolehuit/clother/main/scripts/install.sh | bash
Clother keeps claude --resume ... working with Clother features after install.
Core Usage
Commands
| Command | Description |
|---------|-------------|
| clother config [provider] | Configure provider |
| clother list | List profiles |
| clother info <provider> | Show provider details |
| clother test | Test connectivity |
| clother bench [provider...] [--prompt "..."] | Benchmark provider latency |
| clother status | Installation status |
| clother install | Install/update Clother (create/refresh symlinks) |
| clother update | Update to latest version |
| clother uninstall | Remove everything |
Update
clother update
Routes to brew upgrade clother under Homebrew, or downloads the latest release for curl installs. Also refreshes provider symlinks.
Changing the Default Model
Each provider launcher comes with a default model (for example glm-5.2 for Z.AI). You can override it in two ways:
# One-time: pass --model through to Claude CLI
clother-zai --model glm-4.7
# Permanent: configure the provider and pick a different default
clother config zai
Use clother info <provider> to inspect the resolved model.
Benchmarking
Compare latency across all configured providers at once:
clother bench # all configured providers
clother bench zai kimi # specific providers only
clother bench --prompt "Write a haiku" # custom prompt
Output shows TTFT (time to first token) and total response time, sorted fastest first:
Provider Model TTFT Total Preview
──────────────────────────────────────────────────────────────────────────────
kimi k3-256k 180ms 0.9s "Hello!"
zai glm-5.2 312ms 1.2s "Hello!"
deepseek deepseek-chat 890ms 3.1s "Hello!"
Only providers with a configured API key are included. Local providers are skipped.
Resume
Clother keeps the resume command printed by Claude Code working across providers.
After a provider-launched session, Clother also prints a provider-aware reopen command such as:
clother-kimi --resume <session-id>
When resuming a non-Claude session into native Claude, Clother temporarily sanitizes incompatible non-Claude thinking blocks for the duration of that single launch, then restores the original session file afterwards.
Provider Reference
Cloud
| Command | Provider | Model | API Key |
|---------|----------|-------|---------|
| clother-native | Anthropic | Claude | Your subscription |
| clother-zai | Z.AI | GLM-5.2 | z.ai |
| clother-minimax | MiniMax | MiniMax-M3 | minimax.io |
| clother-kimi | Kimi | k3-256k | kimi.com |
| clother-moonshot | Moonshot AI | kimi-k3 | moonshot.ai |
| clother-deepseek | DeepSeek | deepseek-chat | deepseek.com |
| clother-mimo | Xiaomi MiMo | mimo-v2.5-pro | xiaomimimo.com |
| clother-alibaba | Alibaba Coding Plan | qwen3.7-plus | modelstudio |
| clother-alibaba-us | Alibaba Coding Plan (US) | qwen3.7-plus | modelstudio |
OpenRouter (100+ Models)
clother config openrouter # Set API key + add models
# Example: alias moonshotai/kimi-k2.5 as kimi-k25
clother-or kimi-k25 # Works on every install
clother-or-kimi-k25 # Per-alias shortcut (curl installs)
clother-or <alias> works on every install. curl installs additionally get a
clother-or-<alias> symlink per alias when you run clother config; Homebrew
installs skip per-alias symlinks (the formula owns its bin directory), so use
the clother-or <alias> form there.
Tip: Find model IDs on openrouter.ai/models — click the copy icon next to any model name.
If a model doesn't work as expected, try the
:exactovariant (e.g.moonshotai/kimi-k2-0905:exacto) which provides better tool calling support.
China Endpoints
| Command | Provider | Endpoint |
|---------|----------|----------|
| clother-zai-cn | Z.AI China | open.bigmodel.cn |
| clother-minimax-cn | MiniMax China | api.minimaxi.com |
| clother-ve | Volcengine | ark.cn-beijing.volces.com |
| clother-alibaba-cn | Alibaba China | coding.dashscope.aliyuncs.com |
Local (No API Key)
| Command | Provider | Port | Setup |
|---------|----------|------|-------|
| clother-ollama | Ollama | 11434 | ollama.com |
| clother-lmstudio | LM Studio | 1234 | lmstudio.ai |
| clother-llamacpp | llama.cpp | 8000 | github.com/ggml-org/llama.cpp |
# Ollama
ollama pull qwen3-coder && ollama serve
clother-ollama --model qwen3-coder
# LM Studio
clother-lmstudio --model <model>
# llama.cpp
./llama-server --model model.gguf --port 8000 --jinja
clother-llamacpp --model <model>
Remote servers
Local launchers default to localhost, but the backend can run on another
machine. Point a launcher at a remote base URL with clother config:
clother config lmstudio
# Base URL [http://localhost:1234]: http://192.168.123.123:1234
clother-lmstudio --model <model>
Works the same for ollama and llamacpp. Enter the default localhost URL
again to switch back.
Custom
Any Anthropic-compatible endpoint:
clother config custom # e.g. name it "myprovider"
clother-custom myprovider # Works on every install
clother-myprovider # Per-provider shortcut (curl installs)
As with OpenRouter aliases, the per-provider `clother
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
triage-issue
140.7kTriage GitHub issues by analyzing and applying labels
