Isolated local state
Each dialect owns its local proxy key, ports, proxy config, runtime files, and Claude Code state under DIALECT_HOME. Embedded OAuth files are also per dialect.
Built on CLIProxyAPI —
the proxy that routes Claude Code to Codex, Kimi, Gemini, Grok, and more.
We embed it, wire the env vars, and give you isolated shell commands like
cc-codex instead of manual proxy setup every time.
CLIProxyAPI is the excellent open-source proxy that translates Claude Code's Anthropic API calls to OpenAI Codex, Gemini, Kimi, Grok, and other providers. Out of the box, you install it, configure it, start the server, and export a handful of environment variables before every Claude Code session.
proxy.yaml — ports, providers, OAuth, model routesANTHROPIC_BASE_URL=http://127.0.0.1:8317 and ANTHROPIC_AUTH_TOKENANTHROPIC_DEFAULT_OPUS_MODEL, SONNET_MODEL, and HAIKU_MODEL per provider~/.claude settings and conversation historycc-dialect handles for youcc-dialect binary — no separate download or containerproxy.yaml, ports, and model mappings from presetsANTHROPIC_BASE_URL, auth token, and model env vars when you run cc-codexopus / sonnet / haiku to provider-specific models automaticallycc-dialect auth cc-codex codex — scoped OAuth per dialect, not globalcc-codex and cc-kimi in parallel — isolated ports, local proxy state, and history~/.claude stays untouched — each dialect gets its own claude/ dirSame proxy engine, zero manual plumbing. Read the upstream project at router-for-me/CLIProxyAPI · Claude Code env setup docs on help.router-for.me
Each dialect is a self-contained stack: embedded CLIProxyAPI, an isolated local proxy key, ports and runtime state, and a dedicated Claude Code config directory. Provider credentials follow the route: embedded OAuth is per dialect, while Cursor or Copilot may use shared environment or system credentials.
cc-codexYour shell command launches the real Claude Code binary with dialect-specific env vars.
CLIProxyAPI translates Anthropic API calls to your provider — Codex, Kimi, xAI, and more. Embedded in the binary; no separate install.
The local proxy key, ports, settings, and history stay scoped to this dialect. Embedded OAuth is per dialect; Cursor and Copilot provider credentials may come from shared environment variables or system credentials.
Each dialect owns its local proxy key, ports, proxy config, runtime files, and Claude Code state under DIALECT_HOME. Embedded OAuth files are also per dialect.
/model, /effort, plugins, and conversations live in per-dialect claude/ dirs — not your global setup.
Cursor and GitHub Copilot dialects run local SDK bridges that forward Claude Code tools with schema-safe aliases.
Run cc-dialect web to inspect safe configuration views, create or update dialects, manage runtimes and native launchers, and refresh Cursor — on numeric loopback only.
Map opus, sonnet, and haiku to provider-specific models. Switch mid-conversation without losing context.
Point each tier at a different provider so agents in the same session run on different models — Opus on Sol, Sonnet on Kimi, Haiku on Grok. See the mixed-frontier preset →
Presets encode provider defaults. Create as many named dialects as you need — each becomes its own shell command.
codex-sol
GPT-5.6 Sol, Terra, Luna via ChatGPT OAuth
cc-codexkimi
Kimi K3 flagship with K2.7 Code Highspeed tiers
cc-kimigemini
Antigravity OAuth · Gemini Pro Agent + Flash
cc-geminigrok
Grok 4.6 across every tier · xAI OAuth
cc-grokcursor-composer
Official @cursor/sdk bridge · Composer 2.5, Grok 4.6 & Kimi K3
cc-cursorcopilot-auto
Copilot SDK · MAI, Codex, Claude, Gemini presets
cc-copilotglm
GLM-5.3 and GLM-5.3-Flash via Anthropic-compatible API
cc-glmclaude
Separate OAuth · Fable 5, Sonnet 4.6, Haiku 4.5
cc-claudeEvery dialect follows the same four-step rhythm: create, authenticate, install, run. See the getting started guide or provider docs for full details.
git clone https://github.com/stefandevo/claude-dialects.git
cd claude-dialects
make install
export PATH="$HOME/.local/bin:$PATH"
# Persist PATH — Zsh (macOS default) or Bash (most Linux distributions)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
cc-dialect create cc-codex --preset codex-sol
cc-dialect auth cc-codex codex
cc-dialect shim install cc-codex
cc-codex
# Switch models inside Claude Code
/model opus # → gpt-5.6-sol
/model sonnet # → gpt-5.6-terra
/effort high
cc-dialect create cc-kimi --preset kimi
cc-dialect auth cc-kimi kimi
cc-dialect shim install cc-kimi
cc-kimi
# List live models
cc-dialect models cc-kimi
cc-dialect cursor install
export CURSOR_API_KEY="your_cursor_api_key"
cc-dialect create cc-cursor --preset cursor-composer
cc-dialect shim install cc-cursor
cc-cursor
# Check bridge status
cc-dialect cursor status
cc-dialect models cc-cursor
cc-dialect create cc-codex-work --preset codex
cc-dialect auth cc-codex-work codex
cc-dialect shim install cc-codex-work
cc-dialect create cc-kimi-work --preset kimi
cc-dialect auth cc-kimi-work kimi
cc-dialect shim install cc-kimi-work
# Each gets its own port, local proxy state, and history
cc-codex-work # proxy :43170
cc-kimi-work # proxy :43171
cc-dialect create cc-my-codex \
--preset codex \
--model gpt-5.6 \
--opus-model gpt-5.6-sol \
--sonnet-model gpt-5.6-terra \
--haiku-model gpt-5.6-luna \
--effort-level auto \
--concurrency 3 \
--port 53170
# Anthropic-compatible custom provider
export MY_PROVIDER_TOKEN="..."
cc-dialect create cc-my-model \
--model my-model-id \
--base-url https://provider.example.com/api/anthropic \
--token-env MY_PROVIDER_TOKEN
Proxy servers and SDK bridges bind only to 127.0.0.1. The dashboard accepts numeric loopback listeners only and enforces exact Host, Origin, and CSRF checks for local browser use. Local proxy keys, state, and per-dialect OAuth files use owner-only permissions; Cursor or Copilot provider credentials may come from shared environment or system credentials.
CLAUDE_CONFIG_DIR isolation:43170cc_tool_ schema aliasesBuild from source, create your first command, and run Claude Code with the model you actually want.