CLI tool
farion1231/cc-switch avatar
farion1231/cc-switch

CC Switch: A Desktop Manager for Claude Code, Codex and Gemini CLI Providers

CC Switch manages providers, models, prompts, MCP servers, and local settings for several coding assistants from one desktop app.

138,617 stars9,370 forksRustMIT

At a glance

What is it?
CC Switch is a Tauri desktop app that keeps provider profiles, prompts and MCP servers for several coding assistants in one place. It is convenient if you juggle relay endpoints; it is not a gateway, and it does nothing for a terminal-only workflow.
Who is it for?
Adopt CC Switch if you run two or more coding assistants against more than one provider endpoint and want a graphical place to hold those profiles; skip it if you work only over SSH or prefer editing config files by hand. Before trusting it, verify that your installed assistant version matches the config layout CC Switch writes, and check whether the app backs up the files it overwrites.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem: five assistants, five config files, one set of credentials

Each coding assistant keeps its own local configuration. Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw and Hermes Agent are the tools named in the README, and each one stores provider endpoints, model choices and API keys in its own format and its own path. Switching from a direct Anthropic key to a relay service usually means editing a file, restarting the tool, and remembering to change it back later. Multiply that by four or five assistants and the bookkeeping becomes the actual work.

CC Switch is aimed at that bookkeeping. Its README describes it as "The All-in-One Manager for Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw & Hermes Agent". The audience is developers who already use these assistants and who route them through more than one provider, whether that is an official account, a corporate gateway or a relay service. If you use exactly one assistant with exactly one account, the app adds a layer you do not need.

How CC Switch stores and applies provider profiles

The repository is a Tauri application: a Rust backend under src-tauri/ and a React and TypeScript frontend under src/. The package.json describes the project as an "All-in-One Assistant for Claude Code, Codex & Gemini CLI", and its scripts are the standard Tauri pair, pnpm tauri dev for development and pnpm tauri build for packaging. The frontend pulls in CodeMirror for editing, which fits the app's role as an editor of configuration and prompt text rather than a proxy.

That distinction matters. CC Switch is not a gateway sitting between your assistant and the model API. The README lists providers, models, prompts, MCP servers and local settings as the things it manages, which points to a profile store that writes into each assistant's own configuration when you activate a profile. The switching happens at the file level, then the assistant reads its config as usual. Two consequences follow. First, every assistant must be installed on the same machine as CC Switch, so a remote server workflow is out of scope. Second, if an assistant changes its config format, CC Switch has to follow, which is why the release cadence matters more here than in a tool that only reads files.

Installing CC Switch on Windows, macOS or Linux

The README points to the GitHub releases page as the distribution channel, and the repository carries a flatpak/ directory alongside the Tauri source, which indicates a Linux packaging path in addition to the installers attached to releases. The README does not publish a package-manager command for any platform, so the reliable route is the releases page rather than a package index.

If you want to build it yourself, the repository pins its toolchain. rust-toolchain.toml fixes the Rust version, and package.json declares [email protected] as the package manager, so the frontend dependencies are installed with pnpm rather than npm.

bash
pnpm install
pnpm tauri dev

The first command resolves the workspace defined by pnpm-workspace.yaml. The second starts the Tauri development build, which compiles the Rust backend and serves the Vite renderer. For a distributable binary, the same package.json exposes the packaging script:

bash
pnpm tauri build

After that, the first real use is to open the app, add a provider profile for one assistant, and activate it. The README does not document a rollback step for an activation, so before you point CC Switch at a working setup, copy the assistant's existing configuration file somewhere safe. That is a precaution, not a documented feature.

The desktop-only constraint, and what it rules out

CC Switch is a graphical desktop application built on Tauri. There is no CLI entry point in the package.json scripts, no server mode described in the README, and no documented way to drive profile switching from a shell. Searches for a CC Switch CLI or a CC Switch TUI point at something the repository does not describe, and the layout supports that reading: the scripts are dev, build, tauri, dev:renderer, build:renderer, typecheck, format, format:check, test:unit and test:unit:watch. Nothing there is a headless switch command.

That rules out a few real scenarios. A container or CI job cannot activate a profile. A headless Linux box or a WSL environment has no window to show, so the practical path there is editing the assistant's config directly. And a team that wants one shared source of truth for provider settings will not get it from a per-machine desktop app; each developer configures their own copy. The app also inherits the usual desktop constraints, which means it needs a graphical session and, for the assistants it manages, a local installation of each one.

How CC Switch differs from a routing proxy

LiteLLM is the natural comparison, and it is named in real searches for this project. The two solve adjacent problems in opposite ways. LiteLLM is a proxy: you run a server, point every assistant at that server's endpoint, and the server translates between provider APIs and applies keys, budgets and logging centrally. CC Switch is a local editor: nothing sits in the request path, and each assistant still talks to whichever endpoint its own config file names.

The difference shows up in what you can do. A proxy can enforce spend limits, log every request and serve several machines from one configuration. CC Switch cannot do any of that, because it never sees a request. In exchange, CC Switch needs no running service, adds no latency and no single point of failure, and works with assistants that do not accept a custom base URL cleanly. Claude Code Router is another tool in the same conversation, and the same split applies: a router interposes, CC Switch configures. If your requirement is central policy, pick the proxy. If your requirement is quickly flipping one workstation between endpoints, the desktop app is the lighter answer.

Maintenance, licensing and upgrade cost

The repository is not archived, and the last push was on 2026-08-28, with v3.20.1 released the same day. The two prior releases, v3.20.0 and v3.19.2, landed on 2026-08-18 and 2026-08-06, so the release rhythm over that window is roughly every two to three weeks. The version in package.json, 3.20.3, is ahead of the newest release listed, which is normal for a main branch between tags.

The project is MIT licensed, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That is the licence text, not advice about your situation; if you ship a modified build, read the LICENSE file rather than this paragraph. Upgrade cost is the part worth weighing. Because CC Switch writes into other tools' configuration, an assistant that renames a config key or changes its file layout can break a profile until CC Switch ships a matching update. The changelog in CHANGELOG.md is the place to check before upgrading, and the multi-language README files (README_ZH.md, README_JA.md, README_DE.md) suggest a user base that spans several regions, which is a reason for the frequent releases rather than a guarantee about any single one.

Editorial conclusion

Adopt CC Switch if you run two or more coding assistants against more than one provider endpoint and want a graphical place to hold those profiles; skip it if you work only over SSH or prefer editing config files by hand. Before trusting it, verify that your installed assistant version matches the config layout CC Switch writes, and check whether the app backs up the files it overwrites.

Frequently asked questions

How do I install CC Switch?

Installers are published on the GitHub releases page, which the README links as the download channel. Building from source requires pnpm and the Rust toolchain pinned in rust-toolchain.toml, then pnpm install followed by pnpm tauri build.

How do I uninstall CC Switch?

The README does not document an uninstall procedure. Since the app manages configuration for other assistants, check what it wrote into those files before removing it.

How to install CC switch in Ubuntu?

The repository contains a flatpak/ directory alongside the Tauri source, which indicates a Linux packaging path, and the README points to the releases page for downloads. The README does not publish an apt or snap command.

What is CC Switch?

It is a Tauri desktop application that manages providers, models, prompts, MCP servers and local settings for Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw and Hermes Agent, according to the README.

How do I use CC Switch with Claude Code?

The README lists Claude Code as one of the managed assistants, so the workflow is to add a provider profile in the app and activate it for that assistant. The README does not document a rollback step for an activation, so keep a copy of the existing configuration file.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/farion1231-cc-switch.svg)](https://hysenlabs.com/projects/farion1231-cc-switch)
Community notes

Community notes