cc-mirror is maintained as issues-first. Please open issues with provider docs, reproduction steps, and patch/design links; external pull requests are not accepted directly.
Quick Start
# Fastest path to a configured provider-native variant
npx cc-mirror quick --provider mirror --name mirror
# Run it
mirror
That's it. You now have an isolated coding variant ready to run.
Runtime Version (Stable/Latest/Pin)
By default, CC-MIRROR installs the latest native runtime release. You can pin a channel or version:
stable and latest are upstream channels. stable may lag behind latest (that is normal).
cc-mirror resolves the channel to a concrete version during install/update and stores it in variant.json.
Update Policy
npx cc-mirror update [name] refreshes the native runtime install and cc-mirror-managed defaults for that variant, including provider endpoints, model slots, update/install/privacy flags, provider-managed MCP servers, and managed tweakcc startup/banner settings. Credentials and custom env keys are preserved.
<p align="center">
<img src="./assets/cc-mirror-home.png" alt="CC-MIRROR Home Screen" width="600">
</p>
<p align="center">
<strong>Created by <a href="https://github.com/numman-ali">Numman Ali</a></strong><br>
<a href="https://twitter.com/nummanali">@nummanali</a>
</p>
Managed variants default to cc-mirror-controlled updates, disabled upstream install checks, privacy-oriented hosted-provider traffic settings, and hidden upstream startup branding where tweakcc can control it.
Or use the interactive wizard
npx cc-mirror
What is CC-MIRROR?
CC-MIRROR is an opinionated provider-native coding distribution. We did the wiring; you get the useful defaults.
At its core, CC-MIRROR:
Creates isolated runtime instances
Configures provider endpoints, model slots, and env defaults
Applies prompt packs and tweakcc themes
Installs optional skills (dev-browser, opt-in)
Packages everything into a single command
Each variant is completely isolated — its own config, sessions, MCP servers, and credentials. Your main installation stays untouched.
Default <bin-dir> is ~/.local/bin on macOS/Linux and ~/.cc-mirror/bin on Windows.
Windows tip: add %USERPROFILE%\.cc-mirror\bin to your PATH, or run the <variant>.cmd wrapper directly. Each wrapper has a sibling <variant>.mjs launcher.
MCP Servers
Each variant has its own Claude Code config directory. Add MCP servers to:
~/.cc-mirror/<variant>/config/.claude.json
cc-mirror keeps provider-managed MCP servers up to date during npx cc-mirror update, while preserving unrelated user-added MCP servers in the same file.
For a server that should load in every project for one variant, run the variant wrapper with user scope:
openrouter mcp add-json airtable '{"command":"npx","args":["@rashidazarang/airtable-mcp"],"env":{"AIRTABLE_TOKEN":"","AIRTABLE_BASE_ID":""}}' --scope user
openrouter mcp list
For a server that should live with the current project, use --scope project; Claude Code will write .mcp.json in that project. The default local scope is project-specific but private, so a server added from one working directory may not appear from another.
Providers
Mirror
The clean default runtime path. No proxy, no model changes — just isolation and privacy defaults.
# Create & manage variants
npx cc-mirror # Interactive TUI
npx cc-mirror quick [options] # Fast setup with defaults
npx cc-mirror create [options] # Full configuration wizard
npx cc-mirror list # List all variants
npx cc-mirror update [name] # Update one or all variants
npx cc-mirror apply <name> # Re-apply tweakcc patches (no reinstall)
npx cc-mirror remove <name> # Delete a variant
npx cc-mirror doctor # Health check all variants
npx cc-mirror tweak <name> # Launch tweakcc customization
# Launch your variant
mirror # Run Mirror
zai # Run Z.ai variant
minimax # Run MiniMax variant
kimi # Run Kimi Code variant
CLI Options
--provider <name> kimi | minimax | zai | openrouter | vercel | ollama | nanogpt | ccrouter | mirror | gatewayz | custom
--name <name> Variant name (becomes the CLI command)
--api-key <key> Provider API key
--base-url <url> Custom API endpoint
--model-sonnet <name> Map Balanced model slot
--model-opus <name> Map Primary model slot
--model-haiku <name> Map Fast model slot
--brand <preset> Theme: auto | kimi | minimax | zai | openrouter | vercel | ollama | nanogpt | ccrouter | mirror | gatewayz
--no-tweak Skip tweakcc theme
--no-prompt-pack Skip provider prompt pack
--verbose Show full tweakcc output during update
Brand Themes
Each provider includes a custom color theme via tweakcc:
| Brand | Style |
| -------------- | -------------------------------- |
| kimi | Teal/cyan gradient |
| minimax | Coral/red/orange spectrum |
| zai | Dark carbon with gold accents |
| openrouter | Silver/chrome with electric blue |
| vercel | Monochrome with green accents |
| ollama | Warm sandstone with earthy tones |
| nanogpt | Aurora green + cyan accents |
| ccrouter | Sky blue accents |
| gatewayz | Violet gradients |
Documentation
| Document | Description |
| --------------------------------------------- | ------------------------------------ |
| Mirror | Isolated runtime with clean defaults |
| Architecture | How CC-MIRROR works under the hood |
| Full Documentation | Complete documentation index |