Files

9.4 KiB

CC Switch v4.0.6

The second fix release for 4.0 stable

The provider page header now has a search button, and you can also search by API address. When Skills finds updates, you can update them all in one click, and the Skills to be updated are listed before you confirm. The green, orange and red colors for quota numbers are back, and the numbers change color when less than 20% is left. In Codex's Aggregation mode, subagents could not read their tasks when the main agent and the subagent used different providers; you can now turn on a new switch to have subagents use the classic tools instead. This release also fixes the last part of the reply being lost when Claude Code is routed to OpenAI Chat format, official models disappearing in Codex's Aggregation mode, and 5-hour quotas for Volcengine and others missing from the tray. For everything new in 4.0, see the v4.0 release notes.


New

The provider page has a search button. Search used to open only with ⌘F / Ctrl+F, and many people did not know it existed. There is now a search button next to "Add Provider", and besides name, notes and website, you can also search by API address. Closing the search box restores the full list instead of leaving it on the filtered results. If you don't need the button, turn off "Show provider search" under "Settings → General → Sidebar and header"; the shortcut still works.

Update all Skills in one click. You used to check for updates, filter the list to "Has updates", and then find "Update All" in the filter bar. Now, once updates are found, the "Check Updates" button turns into "Update all (N)", and the confirmation dialog lists each Skill to be updated along with its source repository. After you confirm, the dialog closes right away and the button shows the update progress. Checking again has moved to the "…" menu.

Quota numbers have their colors back. 4.0 made all quota text gray, so it was hard to tell at a glance whether a quota was plentiful or nearly used up. The green, orange and red from 3.x are back, applied only to the numbers; tier names and the word "left" stay gray. Numbers change color when less than 20% is left (it used to be 10%), and "almost out" in the tray also uses 20%.

Codex's Aggregation mode can have subagents use the classic tools. Codex's newer subagent tools have the main agent's provider encrypt the task the main agent hands over, so a subagent on a different provider cannot decrypt it and can only report an error or get an empty task. After you turn on "Classic sub-agent tools in aggregation" under "Settings → App config → Codex", every model in Aggregation uses Codex's classic subagent tools and tasks are passed as plain text; the trade-off is losing newer features such as followup_task and interrupt_agent. The switch is off by default, only affects Aggregation mode, and Codex must be restarted after you change it. With the switch off, when this happens CC Switch now returns an error explaining the cause and pointing to this switch, instead of letting the subagent run with an empty task or letting Codex retry over and over.

Codex prompts you to restart its background service after switching accounts. Codex's background service does not always reread the sign-in information, so after switching accounts it may keep using the previous account. You used to be prompted to restart only when the model list changed in Aggregation mode; now you are prompted whenever you switch accounts in Direct, Routing or Aggregation mode, and the background service restarts only after you confirm with the button. With the Codex desktop app or an editor extension, you are prompted to quit it completely and reopen it.

When a new version of CC Switch is available, the dot on "Settings" in the sidebar is now green, and clicking "Settings" opens the "About" page directly. The tool update dot on "Apps" is unchanged.

Fixes

  • When Claude Code was routed to a provider using OpenAI Chat format, the whole last part of the reply was lost. Some upstreams send no finish reason at the end, or send more content after the finish reason, so the last piece of text or tool call after conversion was not ended properly; Claude Code dropped that content and also triggered a retry.
  • In Codex's Aggregation mode, compacting the context of a session with web search history returned 502. When compacting, CC Switch removed the tool definitions from the request, but the history still contained tool calls such as web searches and function calls, and some upstreams reject such requests outright. Compaction now keeps the tool definitions and asks the model not to call any tools in that turn.
  • In Codex's Aggregation mode, with the official account set as the default, /model showed only third-party models. CC Switch fetched the official model list using the version of the codex command on PATH, and for versions 0.140 and earlier the official service returns only hidden models. Users who only use the Codex desktop app often still have an old command-line version on PATH, so all official models were hidden. The list is now fetched with the newest version actually in use on the machine (the command line, desktop app and editor extensions all count). If the fetched list has no models that can be shown, CC Switch falls back to its built-in list and suggests upgrading Codex.
  • When Codex was routed to a third-party provider using Chat format or to GitHub Copilot, the model catalog changed along with the official entry. CC Switch used to build the catalog for these models from the official gpt-5.5 entry in Codex's local cache, so every change the official side made to that entry (such as marking it hidden or switching to a new tool shape) carried over to third-party models; the cache also states that GPT-5.5 will be retired on October 14, after which every switch would need an extra launch of the Codex command line. CC Switch's built-in template is now always used.
  • After deleting a managed ChatGPT account or signing out of all accounts, Codex providers bound to that account could not be switched to. These providers still pointed to the deleted account. Deleting or signing out now also removes the binding, and the providers follow Codex's own sign-in instead. Providers sync through the cloud, so only bindings to accounts on this device are removed; account bindings on other devices are not affected.
  • Claude Code installed with npm would not run after being upgraded from the "Apps" page on macOS and Linux. The previous release fixed installing under npm 12, but the claude update used for upgrades still had its install script blocked by npm 12 while reporting a successful upgrade. Upgrades now also allow the install script to run. The upgrade path on Windows and WSL is unchanged in this release.
  • The Skills import dialog could not be closed. If you had opened the "Discover" page, importing waited for the "Discover" list to be downloaded again from GitHub in full; on a slow network the dialog stayed stuck and could not be canceled or closed.
  • In the tray, providers with three quota tiers such as Volcengine, Zhipu and MiniMax did not show the 5-hour quota. The tray showed only the two tiers with the least left; the 5-hour quota resets most often and usually has the most left, so it was almost always left out. All tiers are now shown, as in 3.x.
  • In light mode, the switches in the "Show" column of the "Apps" page were hard to tell on from off. They were dark gray when on and medium gray when off; they now use the same colors as the other switches.

Other:

  • Added a Chinese guide to Aggregation mode, and the user manual now explains the difference between fetching the model list, filling in parameters from models.dev, and entering them by hand.
  • The user manual in all three languages updates the settings path for app-level window buttons on Linux.

Upgrade Notes

The database schema is unchanged, still at 20.

Codex sessions routed to a third-party provider using Chat format or to GitHub Copilot compact their context once automatically when you continue them after upgrading.


Thanks

Thanks to @SailingLoong (the last part of the reply lost when Claude Code is routed), @ggbdpq (502 when compacting context in Aggregation mode), @Komikawayi (the restart prompt after switching Codex accounts), @CacinieP (upgrading Claude Code under npm 12), @SaladDay (reporting and first fixing the dangling binding after deleting an account), @ljie-PI (follow-up cleanup of the GitHub Copilot provider for Codex), @Lingbou (checking Linux packages in the release pipeline) and @Railgun-wiki (user manual updates) for their contributions.

Thanks to @zjyzhj, @Camsyn, @Tison6, @fpga-go, @j1406493495, @RichardZhengkay, @spancerxing and @HansYeoh for reporting issues and making suggestions.

For the full technical details, see the CHANGELOG.