Files

3.9 KiB

CC Switch v4.0.1

The first fix release for the 4.0 preview

Thanks to everyone who tried the 4.0 preview and sent feedback. This release fixes Gemini CLI sessions not showing up and Codex slowing down startup under WSL, among other issues, and lets OpenCode offer thinking variants. For everything new in 4.0, see the v4.0 release notes.

Preview builds do not update automatically. In-app updates follow stable releases only. If you installed 4.0.0, download 4.0.1 from this page and install it manually.


New

OpenCode offers thinking variants. OpenCode only offers thinking variants (Ctrl+T) for models marked as reasoning-capable, and the custom providers CC Switch wrote never carried that mark, so models added through CC Switch never had any variants to pick. Now presets and fetched models that are known to reason (going by the preset or models.dev) are marked automatically. OpenCode generates the variants itself, so they keep up with OpenCode releases.

"Skip Claude Code first-run confirmation" now explains itself. Its help icon shows what the toggle actually does: it writes or removes hasCompletedOnboarding in ~/.claude.json.

Fixes

  • Session Management could not read Gemini CLI sessions. Newer Gemini CLI versions record sessions as JSONL and migrate old files when a session is resumed, so the Sessions page showed no Gemini sessions and usage sync imported nothing. The new format is now fully supported. When an old file and its migrated copy both exist, only one is shown, and deleting the session removes both. Session titles also skip context the CLI injects automatically and slash commands.
  • Codex under WSL slowed down startup and session scans. When the Codex config directory lives inside WSL, Windows cannot lock the SQLite databases there, and every open waited out a 5-second timeout. The history migration started over on every launch, and session scans stalled. Such databases are now skipped, and session titles come from the session index instead.
  • An upstream rejection was reported as an output limit. Some Responses upstreams (for example, the ChatGPT Codex backend rejecting a tool definition) return "max output tokens reached" without processing the request, with zero usage, so Claude Code reported a limit that was never hit. This is now reported as the upstream error it is, with the rejection details.
  • Codex usage sync could hang. After an unrelated error, syncing Codex records with a parent session could get stuck. This is fixed.
  • Grok Build's "Get API Key" opened the plain homepage. Like the other apps, it now opens the sign-up page the preset provides.

Polish

  • Smoother sidebar collapse and expand. The animation is drawn on the compositor and runs at the display's refresh rate instead of being capped at the WebView main thread's 60 fps. Clicking again mid-animation continues from where the edge is.
  • The sidebar's bottom divider matches the one above it, so a selected "Usage" row no longer touches the line.
  • The reset-credits dropdown arrow lines up with the countdown clock of the row above when it sits on its own row.

Build and Release

macOS now builds both architectures in parallel, so a notarization retry no longer recompiles from scratch. If any platform is missing its update signature, the build fails outright instead of publishing an update manifest that leaves that platform out.


Thanks

Thanks to @allenxu09 (Gemini CLI sessions, sidebar animation and divider) and @parkavenue9639 (error reporting for upstream rejections) for their contributions, and to @juntaosun for reporting the Gemini CLI session issue right away.

For the full technical details, see the CHANGELOG.