SkillAgentSearch skills...

Clother

Use multiple Claude Code–compatible LLM providers from one CLI, switching profiles instantly with simple clother-* commands.

Install / Use

npx skills add jolehuit/clother

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop

README

<div align="center"> <img src="docs/logo.png" alt="Clother logo" width="220" /> <h1>Clother</h1> <p><strong>One CLI to switch between Claude Code providers instantly.</strong></p> <p> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License" /></a> <a href="https://go.dev/"><img src="https://img.shields.io/badge/Language-Go-00ADD8.svg" alt="Go" /></a> <a href="#platform-support"><img src="https://img.shields.io/badge/Platform-macOS%20%7C%20Linux-lightgrey.svg" alt="Platform macOS and Linux" /></a> <a href="https://github.com/jolehuit/clother/stargazers"><img src="https://img.shields.io/github/stars/jolehuit/clother?style=social" alt="GitHub stars" /></a> </p> </div> <br/> <div align="center"> <img src="docs/demo-fast.gif" alt="Clother terminal demo" width="900" /> </div>

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

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:

  • clother
  • clother-* provider launchers
  • resume compatibility for claude --resume ...

Install Options

By default, Clother installs launchers to:

  • the same directory as your existing claude binary, when claude is already on PATH
  • 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 :exacto variant (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

View on GitHub
GitHub Stars375
CategoryDevelopment
Updated8d ago
Forks39

Languages

Go

Security Score

100/100

Audited on Jul 31, 2026

No findings