cc-switchを放棄:複数のClaude Codeプロバイダーを管理するには、実はスクリプト一つで十分
頻繁にClaude Codeの大規模モデルAPIプロバイダーを切り替える必要がある人にとって、便利なAPIの管理と切り替えは必須です。
まず、なぜ複数のAPIプロバイダーが必要なのでしょうか?
主に二つの理由があります:
呼び出しの同時実行と利用枠の問題で、複数のClaude Codeインスタンスを開くのは日常茶飯事であり、すべてのタスクを一つのプロバイダーで実行していると、すぐに壁にぶつかります。
いくつかのモデルはそれぞれ長所があり、問題に遭遇したときにAがダメならBを試すことができます。または、Aに書かせ、Bにコードレビューをさせることもできます。
しばらくの間、私はcc-switchを使っていました。これは優れた無料のオープンソースソフトウェアです。複数のプロバイダーを管理できるだけでなく、スキル、mcp、プロンプトなどの管理機能もあります。しかも、Claude Codeだけでなく、codex、Gemini、OpenCodeもサポートしています。

しかし、その問題はまさに提供する機能が多すぎること、そしてどんどん増え続けていることです。多くの製品開発者は、さまざまな人々の多様なニーズを満たすことを断りにくく、製品をますます複雑にしてしまうと思います。一方、ツールを使う人も機能は多ければ多いほど良いと好み、今は使わなくても将来使うかもしれないと考えがちです。
私が信奉する哲学は常に「Less is more」です。これほど多くのツールをサポートするために、いくつかの部分が複雑になってしまいました。私はCCしか使わないので、これらの機能と複雑さには価値がなく、むしろ負担となっています。
cc-switchは自身で設定ファイルを管理しており、複数のプロバイダーで設定を共有する必要がある場合、別途共通設定を管理する必要があります。cc-switch自体が頻繁に.claude/settings.json を書き込み、ここでは特にプロバイダーを頻繁に切り替える際に問題が発生することがよくあります。
もう一つの問題は、異なるプロバイダーを使って複数のCCインスタンスを同時に起動する場合で、これにも問題があります(少なくとも私が使っていた時は、切り替えが不完全でリクエストが失敗しやすくなりました)。もしそのプロキシ機能を使うと、すべて一緒に切り替えなければならず、異なるインスタンスで別々のプロバイダーを選択することができません。
私のニーズも非常にシンプルです:
設定を統一して管理(一つのファイルのみ)
異なるCCインスタンスで異なるプロバイダーを使用可能。
この目標に基づいて実装するのも簡単で、ユーザーのsettings.json に統一設定を保存します。プロバイダーを変更するのは、実質的にCCのいくつかの環境変数を変更するだけで、シェルスクリプト一つで解決できます。そこで、私はCC自身を使って車輪の再発明をし、ccsというスクリプトを作成しました。これはオプションの-pパラメータでプロバイダーを指定することをサポートしています。
これにより、私は以下のようにできます:
ccs -p glm
ccs -p minimax
ccs -p kimi
ccs -p arkさらに一歩進めて、エイリアスを作成し、mm、ark を直接使って指定したプロバイダーのClaude Codeを起動できます。
alias mm="ccs -p minimax"
alias ark="ccs -p ark"そして、zellijと組み合わせることで、異なるプロバイダーのCCを簡単に管理できます。
シンプルでメンテナンスも容易、さらにプロバイダーを自由に指定して複数起動も可能です。
日常はこのような感じです。






