docs/release-notes/v3.20.0-ja.md
本リリースは 3 つの構造的な主軸で成り立っています。Pi が 9 番目の管理対象アプリになりました——プロバイダ・プロンプト・Skills・セッションブラウザ・使用量統計をひとつの場所で。Codex が複数の ChatGPT アカウントに対応しました——認証センターに好きなだけサインインし、公式カードごとにアカウントを紐付け、切り替えで課金先を取り違えることはありません。そして Claude Code 内蔵の WebSearch が GPT ルーティングでついに動くようになりました。緊急の修正も 1 件あります。v3.19.2 は WSL パス上で既存設定の更新・切り替えができませんでした——該当するユーザーは本リリースへ直接アップグレードしてください。同じ Windows の一群には、バージョン検出の全面刷新(5 件の issue を一挙に修正)、起動時のちらつき修正、MSI レジストリキーの是正も含まれます。本リリースにはデータベースマイグレーション(v16 → v17)が含まれます——マイグレーション前にバックアップが自動作成され、ダウングレードにはその復元が必要です。
SYSTEM.md / APPEND_SYSTEM.md エディタ、スラッシュコマンドテンプレート、Skills、セッションブラウザ、インストール/アップグレードも揃っています。Pi 自身のログイン・既定プロバイダ・既定モデルには一切触れません。初回起動時に models.json 内の既存プロバイダをインポートします——アップグレード時の注意を参照してください。codex CLI もそのアカウントとして動作し、自力で更新も可能です(#3879、#6535)。\\wsl.localhost パス上で既存設定の更新・切り替えができず(#6188)、そのバージョン内に回避策はありません——本リリースへ直接アップグレードしてください。CI は今後、実際の WSL2 ファイルシステム上でテストを実行します(#6233)。.db 復元は各アプリの live 設定を再構築し、すべての同期/復元経路は厳密に直列実行されます(#6147)。本リリースの変更はプロバイダ管理と使用量統計に集中しています。以下のドキュメントとあわせてお読みください:
[!WARNING]
唯一の公式チャネル(必ずお読みください)
CC Switch は完全に無料・オープンソースのデスクトップアプリで、ユーザーから料金を徴収することはありません。本ソフトウェアは下記の公式チャネルからのみ入手してください:
チャネル 唯一の公式 公式サイト ccswitch.io ソースコード github.com/farion1231/cc-switch ダウンロード GitHub Releases 作者 @farion1231 偽サイト通報 GitHub Issues 料金請求・チャージ・認証情報の提供を求める「CC Switch」サイトやクライアントはすべて偽物です。 支払いを誘導された場合は直ちに操作を中止し、GitHub Issues からご報告ください。
CC Switch v3.20.0 はほぼすべてのサブシステムにまたがり、軸は 3 つあります。1 つ目は対応範囲の拡大です。Pi が 9 番目の管理対象アプリとなり、プロバイダ編集からセッション使用量までエンドツーエンドで接続され、本リリース唯一のデータベースマイグレーション(v16 → v17、Pi 使用量の重複排除台帳)をもたらします。Codex 側では要望の多かった複数 ChatGPT アカウント管理が実現し、公式カードはアカウントを個別に紐付けられるうえ、意図的に自動フェイルオーバーから外れます——リトライが別アカウントに課金することは決してありません。2 つ目はプロキシ能力です。Claude Code 内蔵の WebSearch を OpenAI Responses と Codex OAuth バックエンドへブリッジし、Codex 単体の Alpha Search エンドポイントをセマンティックパススルーとして登録しました——「GPT ルーティングではウェブ検索が使えない」は過去の話です。
3 つ目は Windows とデータ信頼性の負債返済です。v3.19.2 の WSL 書き込みリグレッションのホットフィックス(実 WSL2 の CI カバレッジも追加)、レジストリ PATH に基づくバージョン検出の刷新、起動時のちらつき修正、v3.4.0 以来 MSI が書き込んでいたゴミレジストリキーの是正。バックアップと同期は外部コントリビューターの監査を経て二波の強化が入りました——値の完全往復、アトミックな公開、ステージング検証、厳密な直列化です。加えて、Codex の思考レベル体系の一巡(モデル単位のレベル+ベンダー文書のレベル事前設定+アグリゲータの方言修正)、プロバイダフォームの一貫性向上、macOS の日本語・中国語入力の修正、DeepSeek V4 のベンダー新価格への改定があります。
リリース日:2026-08-18
変更規模:69 commits | 284 files changed | +53,108 / -6,678 lines
Pi は加算モードで動作します(OpenCode・Hermes と同型)。プロバイダの有効化は ~/.pi/agent/models.json にキーが存在することと等価で、複数プロバイダが共存します。プロバイダフォームは Pi のネイティブスキーマに沿った構造化エディタです——API 形式、Pi の 7 段階にわたるモデル単位の思考レベルマップ、互換キー——58 のプリセット(フォームが提供する 5 つの API 形式のうち 4 つをカバー)と人手でレビューした 57 モデルの能力カタログを内蔵し、生 JSON エディタとモデル取得ボタンが補完します。既存ノードの未知フィールドはそのまま保持されます。すべての読み取り・変更・書き込みは内容リビジョン検査で守られ、別プロセスに変更されたファイルは競合エラーで拒否され、上書きされることはありません。
境界は意図的に引かれ、文書化されています。CC Switch は Pi の組み込みプロバイダを models.json に決して実体化せず、Pi の auth.json を決して読み書きせず、defaultProvider / defaultModel に決して触れません——Pi 自身のログインとモデル選択は Pi のものです。プロバイダ以外では:選んだ 1 件を Pi のグローバル AGENTS.md に書き込むプロンプトライブラリ(一致しない既存内容は先にライブラリ項目として自動バックアップ)、SYSTEM.md(Pi の基本プロンプトを置換)と APPEND_SYSTEM.md の専用エディタ、~/.pi/agent/prompts/*.md のスラッシュコマンドテンプレート管理、「存在=有効」規則の Skills(CC Switch の所有でない同名 Skill は上書きも削除もしません)、JSONL セッションブラウザ、設定 → バージョン情報からの Pi インストール/アップグレードがあります。Pi にはネイティブの MCP レジストリがないため、意図的に MCP 同期から外れています。プロキシ引き継ぎ・フェイルオーバー・トレイ表示もありません——プロキシとフェイルオーバーのコマンドは、ローカルゲートウェイのないすべてのアプリを明示的に拒否するようになりました。死んだ設定を書き込むことはありません。(#6064)
新しいインポーターが Pi のセッションファイルを読み取り、専用の「Pi (Session)」ソースとアプリフィルタの下で、モデルごとのトークン・コスト・エラー・中断ターンを記録します。Pi は記録ごとに自前のコストを報告し、正の値であれば優先採用します。欠落またはすべてゼロの場合は CC Switch の価格表にフォールバックします。増分同期は各ファイルの末尾をフィンガープリントし、追記されたバイトだけを解析します。書き換えられたセッションや分岐したセッションは、新しい永続台帳——本リリースの v16 → v17 マイグレーションの理由である session_usage_dedup テーブル——で重複排除されます。この台帳は明細行の削除後も存続し、デバイスローカルに留まります(クラウド同期から除外、インポート時は保持)。Pi のセッションは Anthropic 系と OpenAI 系の API を混在させうるため、Pi を含む合計には無条件の数字ではなく「キャッシュ書き込みが不完全」の注記が付きます。(#6463)
認証センターは任意の数の ChatGPT(Codex OAuth)サインインを保持できます。Codex 公式プロバイダの追加時、フォーム内で認可済みアカウントから直接 1 つ選んで紐付けられます——先にカードを作って後から設定し直す必要はありません。従来どおり、紐付けのない空の公式カード(Codex CLI 自身のログインに追従し、ローカルの access token を読む方式)も選べます。公式カードの数に制限はなく、両方式のカードが共存でき、紐付け・解除でカードの識別情報・エンドポイント・健全性履歴は保たれます。紐付けカードへの切り替えはそのアカウントの完全なトークン一式を ~/.codex/auth.json に書き込みます——素の codex CLI もそのアカウントとして動作し、アクセストークンの寿命を超えて自力更新できます。同一アカウントで CLI がローテーションしたリフレッシュトークンは書き込み前に取り込まれるため、再切り替えが新しいログインを古いもので上書きすることはありません。
アカウント選択はラベル付きドロップダウンで、認証センターへ直接ジャンプできます。アカウント状態の読み込み失敗は「未サインイン」と誤読させる代わりに再試行付きの警告を表示し、次回保存時に静かに紐付けを解除することもなくなりました。サインアウトとアカウント削除はプロバイダ切り替えと直列化され、OAuth リクエストのタイムアウトは 10 分から 30 秒に短縮。サインアウトはネットワーク往復中のデバイスログインもキャンセルします——放棄されたフローがバックグラウンドで完了して静かにアカウントを復活させることはもうありません(#6506)。引き継ぎ経由のリクエストは紐付けアカウントと照合されます。別の ChatGPT アカウントとして認証されたままの Codex セッションは、誤ったアカウントへ静かに課金する代わりに「Codex を再起動してください」という明確なエラーになります。(#3879、#6535、#6506)
Codex プロバイダフォームの各モデル行で、上流が実際に受け付ける思考レベルを宣言できるようになりました——8 つの標準レベル(none から ultra)からの複数選択と任意の既定値です——生成されるカタログはベーステンプレートを継承する代わりにそれらを Codex の選択肢へ運びます。未知の値は破棄され(タイプミスが Codex に届くことはありません)、明示的な既定値は宣言セットに対して検証され、上書きはネイティブ Responses と Chat 変換の両経路で有効です。プロキシ変換は同時に ultra を学びました。これまでルーティングされたプロバイダで最深レベルを選ぶと、拡張思考が静かに無効化されるか(Anthropic 経路)、effort パラメータが落ちていました。現在は上流の合法な最深レベルにマップされます。(#6228、#6181)
プリセットは各ベンダーが実際に文書化しているレベルを搭載するようになりました——Volcengine Ark low/medium/high、DouBaoSeed minimal〜high、Hunyuan low/high、DeepSeek low/high/max、xAI Grok low/medium/high(none なし:思考は無効化できません)、Zhipu GLM none/high など——新規作成したプロバイダの Codex 選択肢は事実から始まります。Zhipu GLM では「思考を無効化」が Codex からそもそも選べるようになりました。2 つの Kimi プリセットは Moonshot 自身の接続ガイドに従い推論強度を有効化し(トップレベルの reasoning_effort、ゲートウェイが受け付けるレベルのみ)、Kimi For Coding は 1 モデルから公式の 4 モデルに拡大。百度 Qianfan Coding Plan プリセットはプラットフォーム文書化の thinking オブジェクトによる本物の思考オン/オフを獲得しました。レベルはベンダー文書またはベンダー自身の Codex カタログに由来し、実際に挙動が異なるレベルへ絞り込まれています——根拠が皆無のモデルは未設定のままです。
プロキシで行き止まりだった 2 つのウェブ検索経路が開通しました。Claude Code 内蔵の WebSearch ツールは OpenAI Responses と Codex OAuth バックエンドへブリッジされます。検索は上流で実行され、結果は引用を保持・統合した Anthropic 検索ブロックの組として返り、検索回数は使用量に計上されます。max_uses は Responses API が対応する箇所では max_tool_calls によりネイティブに強制されます。Codex OAuth バックエンドはそのパラメータを拒否するため、リクエストがホスト型ツールを強制する場合に限りストリーム途中の打ち切りでローカルに強制し、強制していないのに max_uses を持つリクエストは明示的にエラーとなります。Responses API が表現できない制約(blocked_domains、非直接の呼び出し元、response_inclusion、未知のツールバージョン)も同様に明示的に失敗し、指定より広く検索することはありません。ブリッジは Responses 変換経路のみが対象です——Chat Completions 上流はいまもホスト型 WebSearch を提供できません。これとは別に、Codex 単体の Alpha Search エンドポイントがセマンティックパススルーとして登録され、プロバイダ選択・認証・モデルマッピング・リトライ・ログの完全なパイプラインを備え、新しい Codex クライアントの 404 は終わりました。Claude-in-Codex ルーティングガイドは 3 言語で更新済みです。「GPT ルーティングではウェブ検索が使えない」は、これらの経路ではもう当てはまりません。(#5681、#5363、#5378)
Qianfan の Token Plan(個人版)——2026 年 7 月に新規購入の Coding Plan を置き換えたもの——が、/tokenplan/personal エンドポイント上で Claude Code・Claude Desktop・Codex・OpenCode・OpenClaw・Hermes の 6 アプリのプリセットを獲得しました。Codex プリセットは 6 モデルのカタログ(DeepSeek V4 Pro / V4 Flash / V4 Flash 0731、GLM 5.2/5.1、Kimi K2.6)を搭載し、思考スイッチと推論強度セレクタの両方が実際に機能する初の Qianfan プリセットです。キーは Token Plan サブスクリプション専用のキーが必要で、汎用の Qianfan アプリケーションキーではありません。既存契約向けに旧 Coding Plan プリセットは残ります。
プロバイダフォームのあらゆる「モデルを選ぶ」ドロップダウン——Claude Code(Copilot 含む)、Claude Desktop のマッピング行、Codex、Gemini CLI、OpenCode、Hermes、OpenClaw、Pi——が入力フィルタ付きコンボボックスになり、モデル id とベンダー名の両方でマッチし、あわせて 4 つの重複インライン実装を 1 つに統合しました。数百のモデルを返すプロバイダに特に有効です。(#6285、#6353)
model_context_window = 1000000 を再び受け付けるため、4 月に隠したトグル(対になる自動圧縮しきい値の入力も)が戻りました。書き込むのは従来と同じ 2 つの config.toml フィールドです。公式 ChatGPT カードはフェイルオーバーキューへの追加・列挙・リトライの対象外となり、公式ルート上のすべてのエラー種別はリトライ不可です——別プロバイダへのリトライは、入ってきた ChatGPT 認可を別アカウントに対して使い回すことになるためです。組み込み公式カードの既存キュー行は読み取り時に除外されます。公式カードの判定もカテゴリラベルだけに頼るのをやめました。保存設定に実 API キーや明示的なサードパーティ上流を持つカードは通常プロバイダとして扱われ、直接 API 経路とフェイルオーバー資格を保ちます。(#3879、#6535)
ChatGPT アカウントを紐付けたカードは、スクリプト型プロバイダと同じ「使用量設定」の入口を獲得します。残量フッターはオフにでき、更新間隔も変更可能(従来は 5 分固定でオフのスイッチなし)。ダイアログのテストボタンは CLI がたまたまログインしているアカウントではなく紐付けたアカウントへ問い合わせ、トレイがアカウント紐付けカードにアプリ全体のサブスクリプション割合を飾ることもなくなりました。(#6537)
OpenCode Go ゲートウェイはネイティブの Anthropic Messages を提供しますが、その /v1/messages は x-api-key しか受け付けず、Bearer ヘッダーを静かに無視します——そこで Claude Code プリセットはキーを ANTHROPIC_API_KEY として保存し、Chat 形式宣言を外しました。Claude Code はゲートウェイへ直接つながり、ルーティング引き継ぎも「ルーティングが必要」バッジも不要です。Claude Desktop は設計上プロキシモードを維持します(自身でモデル名を変更できないため)が、プロキシは OpenAI Chat への変換ではなく Anthropic Messages のパススルーになりました。Codex 側プリセットは DeepSeek V4 系モデルのコンテキストウィンドウを 1,048,576 に設定し、Codex が 128K フォールバック付近で自動圧縮するのを止めます。(#6171、#6196)
コントリビューター主導で全アプリのプロバイダダイアログを揃える一巡です。Grok Build と Claude Desktop のフォームは他と同じガラスカードに移動。サブセクションは 1 つの左罫線階層を共有。空の設定エディタは 6〜14 行を確保する代わりに 3 行へ収縮。Hermes と OpenClaw のモデルエディタは展開可能な詳細を備えたコンパクト行になり、アクセシビリティラベルも整備(展開状態は安定した行キーで管理され、モデル削除で無関係な行が開いたままになることはもうありません)。チェックボックスは 1 つのネイティブコンポーネントに統一。Claude フォームの「API 形式」は「上流形式」に改名され、どの形式にルーティング引き継ぎが必要かの選択肢ごとの説明が付きました。あわせて、メインパネルのプロバイダカードからパートナーの星印を撤去——パートナー表示はプリセット選択画面にのみ残ります。(#6198–#6201、#6203–#6208)
直接接続とモデルマッピングはスイッチではなくラベル付きドロップダウンで選ぶようになりました。行き来してもモードごとのモデル行は保持され、直接モードのモデルリストは「詳細」折りたたみに隠れる代わりに常時表示、直接プリセットの選択はモデルリストを破棄せず事前設定します。(#6208)
Grok Build のプロバイダダイアログは Codex と共有のフィールドセット——エンドポイント・キー・既定モデル・上流形式/思考/User-Agent を含む詳細オプション——を、全体を Grok 向けの文言で描画するようになりました(整列時に紛れ込んだ Codex 文言のヒント 5 か所はフォローアップが捕捉)。独立した「API Backend」と「クライアントモデルプロファイル」の入力は撤去。クライアントは常に Responses を話します——Chat や Anthropic の上流で変換が必要ならローカルプロキシへ、それ以外は上流へ直接——上流プロトコルは詳細 → 上流形式で表現します。フォーム経由の保存は保存設定の api_backend を responses に固定します——現在のプロバイダには即座に live 設定へ反映、それ以外は次回の切り替え時に反映——「アップグレード時の注意」を参照してください。(#6427、#6511)
Moonshot 側の要請により、プロキシは Kimi/Moonshot エンドポイントのツール呼び出し履歴へプレースホルダー思考ブロックを注入することも、非標準の reasoning_content フィールドを発出することもやめました——同社のゲートウェイはもう思考リプレイを要求せず、注入されたプレースホルダーはむしろモデルの思考連鎖を乱していました。Kimi ルートのツール呼び出し履歴はそのまま転送され(プロキシパイプラインの他の部分は不変)、既存プロバイダに即時適用されます。DeepSeek と MiMo はこの挙動を維持します——そちらは文書に明記されたサーバー側要件です。
DeepSeek は 2026-08-16 にピーク/オフピーク課金を導入し、大幅に値上げしました。deepseek-v4-flash(および -0731、deepseek-chat、deepseek-reasoner の別名)の組み込み価格は 100 万トークンあたり入力/出力 $0.14/$0.28 から $0.44/$1.32(キャッシュ読み取り $0.014)へ、deepseek-v4-pro は $0.435/$0.87 から $1.32/$3.96(キャッシュ読み取り $0.044)へ移行します。価格表に時間帯の次元はないため、意図的にピーク価格を記録しています——ピーク時間帯(北京時間 9:00–12:00、14:00–18:00)は業務時間と重なります。したがって 1 日の残り 17 時間の使用量は、実際の請求のおよそ 2 倍で表示されます。保護付きの修復が旧組み込み価格を保持するデータベースを移行し、自分で編集した価格には決して触れません。gemini-3.7-flash は導入価格 $0.75/$3.75(キャッシュ読み取り $0.075)で追加され、2027 年から定価に戻ります。gemini-3.6-flash は変更なしです——プロモーション価格の対象ではありません。
wire_api = "responses" を設定しているため、国内の Volcengine 系プリセットと同様にネイティブ Responses を宣言し、文書化された low/medium/high レベルを事前設定します。goals = true は config.toml に残りますが、影響はありません。profiles テーブルに対応しておらず、プロファイル編集は他のテーブルがたまたま変わったときだけクラウドに届いていました。トランスポートごとの 2 つの一覧は profiles を含む 1 つの共有一覧になりました。(#6147)runapi.host へ移行(プリセット型が対応する場合は旧ドメインをフォールバック候補として保持)。PPIO はプロジェクトスポンサーとして記載されます。v3.19.2 は Windows のアトミック書き込みを ReplaceFileW に切り替えましたが、WSL のファイルシステムはこれを ERROR_NOT_SUPPORTED (50) で拒否します——rename フォールバックは NotFound のときにしか働かず、\\wsl.localhost / \\wsl$ パス上で既存の live 設定を置き換える書き込みはすべて即失敗していました。既存プロバイダの更新・切り替えができません(欠落したターゲットが元々フォールバックを起こす、設定ファイルの初回作成だけは機能していました)。エラー 50 は WSL が受け付ける rename 経路へ落ちるようになりました。影響は v3.19.2 のみです。そのバージョン内に回避策はないため、該当ユーザーは直接アップグレードしてください。(#6232、#6224、#6219、#6188、#6247)
バージョン検出は継承したプロセス PATH とハードコードされたディレクトリ一覧に依存し、しかも探索順序が誤っていました。3 つの可視的な故障、それぞれに 1 つの原因:アプリ内自己更新後、再起動したプロセスはマシン PATH しか継承せずユーザー PATH を失い、ユーザーがインストールした CLI はスタートメニューから完全に再起動するまで「未インストール」と表示(#6061)。winget 版 Claude Code、スタンドアロンインストーラの Codex、カスタム npm prefix は一度も走査されないディレクトリにありました(#6278、#6047、#4366)。ハードコードのディレクトリが PATH 既定より先に探られ、古い %APPDATA%\npm の shim が PATH 上の新しいインストールを隠しました——「更新したのに古いバージョンのまま」(#4701)。検出はレジストリ PATH(ユーザーとマシン、%VAR% 展開付き)を有効な探索パスへマージし、スタンドアロンインストーラのディレクトリを走査し、明示的な where.exe 呼び出しで PATH 既定を最優先に探り(Microsoft Store のアプリエイリアスをスキップ、カレントディレクトリは決して探索しない)、同じマージ済み PATH をインストール競合診断とアンカー付きアップグレードにも供給します。(#6284)
テーマクラスの適用前にウィンドウが表示され、未着色のページが先に描画されていました。インラインの事前描画スクリプトがバンドル読み込み前に永続化テーマを同期適用し(全プラットフォーム)、Windows ではさらにページ読み込み完了までウィンドウを非表示に保ちます。(#6252、#6182)
WiX テンプレートの Software\{{manufacturer}}\{{product_name}} は単一のバックスラッシュを使っており、Handlebars がエスケープシーケンスとして消費していました——そのため v3.4.0 以来のすべての MSI が、意図したパスの代わりにリテラルの HKCU\Software{{manufacturer}}{{product_name}} キーを作成していました。両方のバックスラッシュを二重化し、テンプレート内の他のキーと揃えました。インストール済みマシン上の古いキーはクリーンアップされません——「アップグレード時の注意」を参照してください。(#6283)
引き継ぎの復元バックアップは引き継ぎ開始時のスナップショットです。引き継ぎ中に codex login を実行していた場合、あらゆる復元——引き継ぎ停止、アプリ終了、クラッシュ回復——が新しいログインをログイン前のスナップショットで上書きし、起動時の自動再引き継ぎがその消去を再起動のたびに繰り返していました。復元は仲裁するようになりました。live のログイン素材が常に勝ちます(それを進められるのは Codex 自身だけなので、スナップショットより必ず新しい)。バックアップ内のサードパーティ API キーは auth.json を潰す代わりに config.toml へ降格して保存されます。過去のリリースで既に破壊されたログインは復元されません——codex login を 1 回実行してください。(#6277)
v3.19.2 に含まれたリファクタリングが、PATH 探測のログインシェルを制御端末を保持したままのバックグラウンドプロセスグループに起動していました。ターミナルから起動したインスタンスでは、ジョブ制御が SIGTTIN でシェルを停止させ、期限のない待機は決して戻りません——プリフライト全体が凍結します。それが起こりえない場所でも(通常起動のビルドには制御端末がありません)、この経路には期限が一切なく、Windows も同様でした——固まった探測 1 件(ブロックする .zshrc、終了しない --version)が同じように全体を凍結させます。探測は完全に分離されたセッションで実行され、stdin は null 化、10 秒の期限でプロセスツリー全体を停止します。失われた探測はその 1 ツールの報告を劣化させるだけで、実行を固まらせません。ボタンは探測フェーズ中、クリックを無視しているように見える代わりにスピナーを表示します。(#5522 のリグレッション)
中国語/日本語の入力メソッドでプロバイダフォームに高速入力すると、文字が断続的に重複・並べ替えられていました——報告された再現では 12 文字の値が 1,396 文字に膨張。制御されたインプットが、IME がまだ変換範囲を保持している間に親状態を DOM へ書き戻し、プロバイダキーのフィールドは変換途中の状態にまで小文字化・除去の正規化を実行していました。共有の IME セーフ入力は、確定まで変換テキストをローカルに保持し、正規化は完成テキストのみに適用し、変換途中でフォーカスが外れた場合は保留テキストを強制確定します(compositionend を配送しない WebKit のウィンドウ切り替え経路対策)。全アプリ共有の名前/メモ/サイトフィールドと、破損が報告された Hermes・OpenClaw・OpenCode のフィールド群に適用されています。すでに破損して保存された値は直りません——1 回編集し直してください。(#6308、#6333、#6507)
SQL ダンプ/インポートサイクルの 4 つの欠陥:非 UTF-8 バイトを含む TEXT 値はエクスポートを中断させ、NUL バイトは文を静かに切り詰めていました。REAL 値はストレージクラスを失っていました(無限大、負のゼロ、整数値の REAL)。AUTOINCREMENT の最高値は保存される代わりに生存行から再導出されていました。復元後はデータベースの auto_vacuum モードが格下げのままになり、次回起動が全体 VACUUM 再構築で修復していました。4 つすべてを修正。検証もテーブル作成前に移動しました。切り詰められた SQL ファイル——あるいは CC Switch のコアテーブルを欠くファイル——は live データベースに手を付けずに拒否されます。以前はスキーママイグレーションが欠けたテーブルをでっち上げ、不完全なデータにデータベースを置き換えさせる可能性がありました。プロバイダも MCP もない正真のエクスポートは、拒否される代わりにインポートできるようになりました。(#6146)
バックアップは従来、ページを 1 つもコピーしないうちに最終名で作成され、コピー結果は無視されていました——中断されたコピーが一見有効なバックアップファイルになります。バックアップは一時ファイルで構築し、完全性検査を経てから、同名を潰さずに公開するようになりました。復元は live データベースに触れる前にイメージ全体——完全性・スキーマテーブル・マイグレーション——をステージングデータベースで検証するため、破損した、あるいは新しいスキーマのバックアップは置換の途中で発覚する代わりにきれいに失敗します。保持ポリシーは復元中のバックアップと新しい安全スナップショットの両方を守ります。並行性の面では:WebDAV と S3 は各自のロックを持ち(2 つのトランスポートが同時に復元できました)、手動インポートと .db 復元はロックを一切取らず、Skills のファイルはミラー元のデータベース行とロックを共有していませんでした。1 つのグローバル同期ロックがすべての経路をエンドツーエンドで直列化し、Skills 状態ロックが行とファイルを一緒に動かし、自動同期の抑制はダウンロードが実際に始まったときにだけ開始されます——キュー待機中のローカル編集が静かに飲み込まれることはもうありません。セッションログの読み取りカーソルもクラウドスナップショットから除外されました。これは絶対的なローカルファイル位置であり、他マシンのカーソルをインポートするとローカルの使用量取り込みが狂うためです。(#6147、#6129)
.db バックアップの復元は従来データベースしか変更しませんでした——各アプリの live 設定は次に手動でプロバイダを切り替えるまで復元前の内容のままで、SQL インポートやクラウドダウンロード後の後処理は使い捨ての状態オブジェクトに対して走り、キャッシュ無効化はどこにも届きませんでした。すべての復元経路は復元後のデータベースを外へ投影するようになりました——Pi を除く全管理対象アプリの live 設定(Pi の models.json は事実源のままで、次回起動時に逆方向へインポート)、アプリごとのプロンプトファイル、ランタイムのログレベル、トレイの使用量キャッシュ——そして復元された行の上に、ローカルの設定ファイルとユーザー自身のモデル価格の上書きを再適用します。1 つのアプリの失敗が残りを静かにスキップさせることはもうありません。(#6147、#6129)
複数年にわたる範囲では、ホバーがある年の点をハイライトし、ツールチップは別の年を説明していました。チャートはローカライズされた MM/DD ラベルを X 軸のキーにしており、異なる年のバケットが 1 つのカテゴリ値を共有し、チャートライブラリのアクティブポイント検索は最初の一致を返します——ハイライトは早い年の点に吸い付き、ツールチップはカーソルに従っていました(描画された点そのものは常に正しい位置でした)。軸はバックエンドの完全なバケットタイムスタンプをキーにし、目盛りラベルとツールチップは別々に解決されます(範囲が年をまたぐ場合は年も表示)。(#6337、#6302)
Agent Plan の名を冠したプリセットが、肝心なところ——エンドポイントと招待リンク——で Coding Plan を指していました。2 つのプランはクォータを共有しない別々のサブスクリプションです。6 アプリで 2 つのプリセットに分割されました。Agent Plan は /api/plan[/v3](Codex ではネイティブ Responses)、Coding Plan は従来の /api/coding[/v3] です。プランクォータ検出は Agent Plan エンドポイントを認識するよう広げられ、保存済みプロバイダに即時適用されます。プリセット自体は新規作成にのみ適用されます——旧プロバイダを持つ Agent Plan 契約者は再作成するか Base URL を編集してください。(#6070、#6448)
thinking:{type} オブジェクトを宣言していました——ModelScope と Novita ではトグルが無効で、Nvidia NIM では注入フィールドが丸ごと拒否されえます。前 2 者は文書化された enable_thinking ブール値を送るようになり、Nvidia のスイッチは全面撤去——本当の制御はこのパラメータの届く範囲にありません。プラットフォーム推論テーブルに ModelScope の分岐が追加され、宣言のない手動作成の ModelScope プロバイダは即座に是正されます。opencode.ai のプラットフォーム規則はトップレベルの reasoning_effort を送り、モデルごとに宣言されたレベルへクランプし、強度制御のないモデルには推測する代わりに何も送りません。既存プロバイダはモデル単位のレベル表を得るためプリセットの再追加が 1 回必要です。(#6123、#6112)Pro/MiniMaxAI/MiniMax-M2.5(.cn)、MiniMaxAI/MiniMax-M3(.com、実際の 1M ウィンドウ付き)、ZhipuAI/GLM-5.2 を、これらのプロバイダを持つ 7 アプリすべてで搭載します。prompt_cache_hit_tokens だけを転送し OpenAI 式フィールドへミラーしない中継業者では、キャッシュヒットが 0 と記録され、ヒットトークンを新規入力として課金しコストを過大計上していました。このフィールドは標準フォールバック連鎖の末尾に加わり、使用量パーサと合成された Codex 使用量の両方をカバーします。(#6126、#6073)input_tokens_details」で失敗していました——報告された GLM-5.2 上流は常に cached_tokens: 0 を送るため、毎ターンです。Chat→Responses の使用量翻訳はキャッシュトークンがあるときだけこのオブジェクトを発出していましたが、Grok クライアントは必須としています。現在は常に発出され、ストリーミング経路も同様です。(#6423、#6140)TOKENS_LIMIT から CREDIT_LIMIT に改名しましたが、パーサは旧値だけでフィルタし、全階層を落とし、パネルは空でした。両方の値を受け付けます。(#6160、#6153)grok-4.5 は grok-4.6 の $0.50 キャッシュ読み取り価格で登録されていました。実際の $0.30 に修正し、既存データベースには保護付き修復を適用します。grok-4.6 は $2/$6、キャッシュ読み取り $0.50 で追加——基本価格です。xAI は 200K を超えるプロンプトで Grok 4.5/4.6 の全価格を倍にしますが、価格表に段階の列はないため、長コンテキストの Grok リクエストは請求のおよそ半分で表示されます。そして deepseek-v4-flash-0731——id 正規化が剥がせない 4 桁日付の変種で、どの価格行にも一致せず $0 で計上されていました——が独自の行を獲得。過去の $0 行は現行価格で遡及計上され、このモデルの過去合計は上昇します。openclaw.json にあるフォールバック連鎖を合成したもので置き換えていました。複数モデルのプロバイダには選択画面が表示され、書き込みは既存の既定モデルブロックへマージされ、フォールバックと未知キーを保持します。(#6201)model_catalog_json が上書きされないように:プロバイダ切り替えは ~/.codex/config.toml の model_catalog_json を無条件にアプリ生成のカタログへ向け直し、カスタムカタログのパスを破棄していました。ポインタは、欠落しているか既に CC Switch 自身のファイル名である場合にのみ取得されます。予防のみです——過去のバージョンに書き換えられたポインタは復元されません。「アップグレード時の注意」を参照してください。(#6087)base_instructions の指示文と markdown リンクの例、両モデルのメッセージテンプレートが損傷。ミラーは再びバイト単位で忠実になり、既存の DeepSeek ネイティブ Responses プロバイダは次回の切り替え時に自動で取得します。再保存は不要です。失敗した「モデルを取得」呼び出しが API キーを可視のエラーメッセージへ反射することがあり、他所のマスキングも 8 文字以上の秘密にしか働きませんでした。取得エラーの本文は厳格な秘匿処理を通ります——API キーと、本リリースで新たに対応したカスタムヘッダー値を、1 文字まで隠します——全アプリのプロバイダフォームが対象です。取得自体も Pi 向けに形式対応になりました。認証ヘッダーはプロバイダの API 形式に従い、検証済みカスタムヘッダー(ヘッダーのみの認証を含む)に対応します。(#6064)
スキーマは v16 から v17 に移行します(Pi インポーター用のセッション使用量重複排除台帳)。移行前にバックアップが自動作成されます。本バージョンを一度実行すると、旧版の CC Switch はデータベースを開けなくなります——ダウングレードにはそのバックアップの復元が必要です。
Pi は既定で新しいアプリタブとして表示されます。初回起動時、~/.pi/agent/models.json に書かれた既存プロバイダが管理可能なカードとしてインポートされます。最初の使用量同期は発見可能なすべての Pi セッションを走査して過去の使用量を取り込むため、ダッシュボードの合計が跳ね上がることがあります。Pi 自身のログイン・既定プロバイダ・既定モデルには一切触れません。相対パスで設定された Pi の sessionDir は列挙できません——セッションブラウザと使用量インポートには絶対パスを設定してください。
v3.19.2 で WSL 上の設定ディレクトリを使っている場合、そのバージョンでは既存設定の更新・切り替えができません——本リリースへ直接アップグレードしてください。
v3.4.0 から v3.19.2 の間に MSI でインストールした Windows マシンには、アップグレード後も古い HKCU\Software{{manufacturer}}{{product_name}} キーが残ります。本修正はこれを削除しません。消したい場合は regedit で手動削除してください——このキーはインストールのキーパスとして登録されていたため、削除により一度だけ Windows Installer の修復プロンプトが出ることがあります。
本リリース以前に認証センターへサインインした ChatGPT アカウントは id_token 永続化より前のもので、「再ログインが必要」バッジが表示されます。プロバイダカードへ紐付ける前にもう一度サインインしてください。修正前の引き継ぎ復元バグに消されたログインも同様に復元されません——codex login を 1 回実行してください。
組み込みの Codex 公式カードが自動フェイルオーバーキューにあった場合、現在は除外され、Auto モードは公式カードから開始しません。サードパーティの Codex プロバイダをプライマリに選んでください。
WSL や exFAT の設定ディレクトリでは、Codex 引き継ぎの停止は、中途半端な auth ファイルを書くリスクを冒す代わりに、「ファイルシステムが安全な復旧に対応していません」という明確なエラーで拒否されます。何も削除されませんが、引き継ぎ前の認証情報が書き戻されることもありません——その後 codex login を再実行するか、安全性検査に対応したファイルシステムに Codex ディレクトリを置いてください。
保存済みプロバイダは作成時の設定を保持します。本リリースでの対象:Volcengine Agent Plan のエンドポイント、ModelScope/Novita/Nvidia の思考方言、Kimi の推論強度、BytePlus のネイティブ Responses、SiliconFlow/ModelScope のモデル id 置換、OpenCode Go の直接接続と 1M ウィンドウ、事前設定された推論レベル、RunAPI の新ドメイン。プリセットから再作成する(または該当フィールドを編集する)ことで取得できます。既存プロバイダに即時適用される例外:Kimi のパススルー変更、保存宣言のないプロバイダへのプラットフォーム推論修正(ModelScope、StepFun、opencode.ai)、Volcengine Agent Plan エンドポイントのクォータ検出、修正済み DeepSeek ベンダーカタログ(次回切り替え時)。
model_catalog_json ポインタは手動で 1 回戻す必要があります過去のバージョンが ~/.codex/config.toml の model_catalog_json を既に書き換えている場合、本リリースは元のポインタを復元しません——自分のファイルへ 1 回向け直せば、以後は触れられません。ユーザー所有のファイルを指している間、CC Switch のプロバイダ単位のモデル表(表示名・コンテキストウィンドウ・思考レベル)は Codex に届きません。
api_backend を固定しますフォーム経由で既存の Grok Build プロバイダを保存すると、保存設定の api_backend が responses に固定されます——現在のプロバイダなら即座に live 設定へ書き込まれ、それ以外は次回そのプロバイダへ切り替えたときに反映されます。上流プロトコルは詳細 → 上流形式で設定してください。
本リリース以前に入力メソッドのバグで壊れたテキストは、データベースと live 設定に壊れたまま残ります——影響を受けたプロバイダの名前/キー/モデルのフィールドを 1 回編集し直してください。
ダッシュボードの DeepSeek V4 コストは今後、およそ入力 3 倍・出力 4.5〜4.7 倍・キャッシュ読み取り 5 倍(Flash)〜12 倍(Pro)になります。これはベンダーの新しいピーク価格であり、集計方法の変更ではありません。コストは記録時に固定されるため、過去は再計算されません——例外として、これまで無価格だった deepseek-v4-flash-0731 の行は $0 から現行ピーク価格で遡及計上されるため、その過去合計は高めに表示されます。手動編集した価格には決して触れません。Gemini 3.7 Flash はベンダーが 2026 年まで掲示する導入価格で追加されます。
旧バージョンでエクスポートした SQL バックアップは、以前の忠実度損失をそのまま持ちます——正確な往復に依存する場合は新しいバックアップをエクスポートしてください。切り詰められた、あるいはコアテーブルを欠く SQL ファイルは、旧バージョンでは受け入れられた可能性がある場面でも、インポート時に拒否されます。.db バックアップの復元は、Pi を除く全管理対象アプリの live 設定ファイルを復元後のデータベースから書き直します(従来はデータベースのみ変更)。WebDAV/S3 自動同期が有効な場合、プロジェクトプロファイルの編集もスナップショットのアップロードをキューに入れるようになりました。
Responses API が表現できない制約を持つ Claude Code WebSearch リクエスト(blocked_domains、非直接の呼び出し元、response_inclusion、あるいはツールを強制しない Codex OAuth 上の max_uses)は、指定より広く検索する代わりに明示的なエラーで失敗します。Chat 形式の上流はいまもホスト型 WebSearch を提供できません。
まず、再追加したプリセットが新たに送る thinking / reasoning_effort フィールドを確認してください——Moonshot のパラメータ文書と Codex 接続ガイドは kimi-k3 が thinking を受け付けるかで矛盾しており、プリセットは接続ガイドに従っています。「思考履歴を返すように」と要求する形の 400 だけが、撤去された履歴注入を指します。
xAI Grok OAuth サインイン:公式 Grok CLI の公開 OAuth クライアント識別情報を再利用しており、利用によってアカウントの制限や停止につながる恐れがあります——詳細は v3.18.0 release notes を参照してください。
Codex OAuth リバースプロキシ:ChatGPT サブスクリプションの Codex OAuth をリバースプロキシ経由で使用すると、OpenAI の利用規約に違反する可能性があります。詳細は v3.13.0 release notes を参照してください。
SuperGrok の残量照会:プロバイダカードの残量表示は grok.com の非公開の課金エンドポイントに依存しており、xAI がインターフェースを変更すると機能しなくなる可能性があります——詳細は v3.19.0 release notes を参照してください。
サードパーティプロバイダへのルーティング:CC Switch のローカルプロキシで Codex・Claude Desktop・Grok Build のリクエストを変換してサードパーティのプロバイダへ転送する場合、課金・コンプライアンス・データ保持に関する制約はプロバイダごとに異なります。利用前に対象プロバイダの利用規約をお読みください。
上記の機能を有効にした時点で、ユーザーは関連するリスクを自ら引き受けることになります。CC Switch は、これらの機能の利用に起因するアカウントの制限・警告・サービス停止について、一切の責任を負いません。
本リリースの 69 コミットのうち 38 は 11 名の外部コントリビューターによるものです——3 つの主軸のすべてに外部の深い関与がありました。
model_catalog_json の尊重(#6087)。Releases からお使いのシステムに合ったビルドをダウンロードするか、公式サイト ccswitch.io から入手してください(ダウンロードは Cloudflare のエッジノード経由で配信され、GitHub への到達性に依存しません)。
| システム | 最低バージョン | アーキテクチャ |
|---|---|---|
| Windows | Windows 10 以降 | x64 / ARM64 |
| macOS | macOS 12 (Monterey) 以降 | Intel (x64) / Apple Silicon (arm64) |
| Linux | 下表参照 | x64 / ARM64 |
| ファイル | 説明 |
|---|---|
CC-Switch-v3.20.0-Windows.msi | 推奨 - MSI インストーラ、自動更新対応 |
CC-Switch-v3.20.0-Windows-Portable.zip | ポータブル版、解凍してすぐ使用、レジストリ不使用 |
Windows ARM64 デバイスでは、ファイル名に arm64 を含む成果物を選んでください。
| ファイル | 説明 |
|---|---|
CC-Switch-v3.20.0-macOS.dmg | 推奨 - DMG インストーラ、Applications へドラッグ |
CC-Switch-v3.20.0-macOS.zip | 解凍後 Applications へドラッグ、Universal Binary |
CC-Switch-v3.20.0-macOS.tar.gz | Homebrew でのインストールと自動更新用 |
Homebrew でのインストール:
brew install --cask cc-switch
アップデート:
brew upgrade --cask cc-switch
Linux の成果物は x86_64 と ARM64(aarch64)の両アーキテクチャで提供されます。ファイル名のアーキテクチャ表記を、お使いのマシンの uname -m の出力に合わせて選んでください:
CC-Switch-v3.20.0-Linux-x86_64.AppImage / .deb / .rpmCC-Switch-v3.20.0-Linux-arm64.AppImage / .deb / .rpm| ディストリビューション | 推奨形式 | インストール方法 |
|---|---|---|
| Ubuntu / Debian / Linux Mint / Pop!_OS | .deb | sudo dpkg -i CC-Switch-*.deb または sudo apt install ./CC-Switch-*.deb |
| Fedora / RHEL / CentOS / Rocky Linux | .rpm | sudo rpm -i CC-Switch-*.rpm または sudo dnf install ./CC-Switch-*.rpm |
| openSUSE | .rpm | sudo zypper install ./CC-Switch-*.rpm |
| Arch Linux / Manjaro | .AppImage | 実行権限を付与して直接実行、または AUR を利用 |
| その他 / 不明な場合 | .AppImage | chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage |