CSSwitch: routing Claude Science through your own model API on Apple Silicon
帮你的 Claude Science 一键接入你自己的 API:DeepSeek / 通义千问 / 智谱 GLM / Kimi / MiniMax / 小米 MiMo / 硅基流动 / OpenRouter / 任意 OpenAI·Anthropic 兼容端点
At a glance
- What is it?
- CSSwitch is a macOS menubar app that points Claude Science at DeepSeek, Qwen, GLM, Kimi, MiniMax, OpenRouter or any OpenAI and Anthropic compatible endpoint. It is narrow by design, and the README is explicit about where it stops.
- Who is it for?
- Adopt CSSwitch if you run Claude Science on an Apple Silicon Mac and already hold API keys for a third party model provider you want Science to use. Do not adopt it if you need Windows, Intel Macs, a headless CLI, or general MCP server management; the README states the public desktop build is macOS Apple Silicon only and that v0.8.4 has no user-facing MCP configuration.
- 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 last received commits 40 days ago.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem CSSwitch solves for Claude Science users
Claude Science is Anthropic's desktop research client, and it assumes an Anthropic account. If you want the same client to run on a DeepSeek key, a Qwen key bought through DashScope, a GLM plan, or a self-hosted OpenAI-compatible gateway, there is no setting for that. CSSwitch exists to fill exactly that gap. It is a Tauri 2 desktop app for macOS that keeps a separate configuration of provider, base URL, API key and model names, then launches Science against a local loopback gateway instead of the official endpoint.
The audience is narrow and the README does not pretend otherwise. You need an Apple Silicon Mac, an installed copy of Claude Science, and a working third-party API key or a Codex account. If you are on Linux, the README points to a separate v0.8.1 Linux x64 prerelease with an amd64 .deb package, which is not the same artifact as the current macOS release. Windows is not mentioned as a target at all.
How the third-party mode isolates your real Claude login
The mechanism that matters is the isolation boundary. In third-party mode CSSwitch uses a separate HOME, a separate data directory, and a local loopback Gateway. The README states plainly that this mode does not read or modify the real Claude login or your Science data. Switching back to official Claude stops the third-party proxy chain first, then opens the real Science.
Model mapping is strict rather than clever. A configuration has a required default model, and optional quality, balanced, fast and Fable slots. You can leave the optional slots empty or fill them with the exact upstream model ID. Science's model picker shows the real model name, not a `default` placeholder. The README says unknown models are not silently switched to something else, which is the right call: a research client that quietly answers with a different model than the one you selected is worse than one that fails.
Keys live in `~/.csswitch/config.json` with file permissions of `0600`, and the README states credentials are not written to logs. That is a reasonable baseline, though it is a plain file on disk, so anything running as your user can read it.
Installing CSSwitch and getting one provider working
The README's install path is a dmg from the v0.8.4 release. Download it, drag CSSwitch into Applications, and open it. The README warns that the public package is ad-hoc signed, not Developer ID, notarized or Gatekeeper-approved, so the first launch may be blocked; the documented workaround is to right-click CSSwitch in Finder and choose Open. It also suggests checking the published attachment SHA-256 against the v0.8.4 release evidence file.
If you want to build from source instead, the repository's development instructions are two commands from the `desktop` directory:
cd desktop
npm install
npm run tauri devThe README lists a fuller gate script for complete checks, which writes its output to a temporary directory:
GATE_ROOT="$(mktemp -d /private/tmp/csg.XXXXXX)"
chmod 700 "$GATE_ROOT"
bash test/run_all.sh --output-root "$GATE_ROOT"For the normal first run, the documented flow is: open Model Connection, click New Configuration, pick a built-in provider (or a compatible endpoint and fill in `base_url`), enter the API key and model name, save, and click Set as Current. Then return to the home screen, keep third-party model mode selected, and click the one-click start button. When Science opens, its top model selector should list the real model names you configured. To go back, switch to official Claude on the home screen.
What CSSwitch does not give you in v0.8.4
The README's boundary section is unusually candid, and it is the most useful part of the document. Third-party mode does not carry Anthropic account entitlements, so hosted MCP, directory connectors and some cloud capabilities may simply be unavailable. If your Science workflow depends on those, switching providers is not a like-for-like swap.
General MCP support is not there yet. The README states that v0.8.4 cannot let users add, edit or manage their own MCP servers, and explicitly warns against mistaking the internal connector used for Skill installation for full MCP functionality. That connector is deliberately narrow: install, uninstall, and long-task status queries.
Codex is experimental and off by default. It uses its own browser login and a dynamic account model catalogue, and the README says it does not read or modify the native `~/.codex` login. Only single-account browser login is supported. There is also a documentation gap worth naming: the README points to project docs for upgrade, rollback and known limitations, but does not describe a rollback procedure inline, so plan to read those docs before you need them.
Finally, provider capability is not uniform. Tool calling, thinking, images, long context and streaming vary by provider, and CSSwitch does not paper over the differences.
Skill installation and the bundle lifecycle
Skills are the one area where CSSwitch does more than route traffic. The Skill and MCP page reads the Skills that actually exist in the current Science organization and shows source, whether each is a single Skill or a bundle, and one of three OPERON binding states: `attached`, `detached` or `unknown`. The README says it will not guess when Science is not running or identity cannot be confirmed.
Local packages come in through a system file picker as `.zip` or `.skill`, and the frontend does not receive or submit local file paths. Installing from GitHub works differently: you hand an exact public repository, collection or Skill directory URL to the Science agent, and a dedicated bridge performs an anonymous download pinned to a commit, validates it, commits it and binds it, without using Science's or your GitHub credentials. Before committing, it checks archive size, file count, path traversal, symlinks, special files and name collisions, and the commit is atomic so same-named or modified content is not silently overwritten.
The README draws a distinction that users will get wrong: attached in the list only means the OPERON read-back succeeded, not that the current agent session has loaded the Skill. After installing a single Skill you should still call `skill()` in Science to confirm. Bundles keep `_shared` and supporting resources, and uninstalling from any member requires showing the full impact list and getting confirmation before the whole bundle is detached.
Compared with a terminal-based switcher
The related searches around this project mostly point at CC Switch and similar tools, and the difference in approach is worth stating. A CLI switcher typically rewrites configuration files for coding agents and assumes you are comfortable editing JSON or TOML and restarting processes. CSSwitch is the opposite shape: a menubar GUI that owns a local gateway process, keeps its own HOME and data directory, and never touches your real Claude login.
That buys isolation at the cost of reach. A config-file switcher can run anywhere a shell runs, including Linux servers and CI. CSSwitch, per its README, ships a public desktop build for macOS Apple Silicon only, with a separate prerelease deb for Linux x64. It is also tied to one client, Claude Science, rather than being a general provider router. If your need is switching models for a coding agent on a remote box, CSSwitch is the wrong tool. If your need is a research desktop client on a Mac with a clean separation between your Anthropic account and your third-party keys, that separation is the whole point.
Maintenance, licence and what the release trail shows
CSSwitch is MIT licensed, which permits commercial use, modification and redistribution provided the copyright notice and licence text are retained. That is the standard permissive arrangement; it says nothing about whether the project will keep working against any given provider, and it does not obligate the maintainer to fix a broken integration.
The repository is not archived, and the last push was on 2026-08-22. Recent releases are v0.8.4 (2026-07-29), v0.8.3 (2026-07-29) and v0.8.2 (2026-07-23). The cadence through July was tight, with two releases on the same day, and the August push suggests work continued after the tagged release. Treat that as activity, not as a guarantee: the README itself frames evidence in layers, noting that source and unit gates, final attachments, install identity, signing, and live provider or account behaviour are different things, and that passing one does not validate the others. That framing is honest, and it is also a warning that a green build does not prove your specific provider works end to end. Upgrade cost is low in the ordinary case, since the app is a dmg you replace, but the README does not document a rollback path inline.
Editorial conclusion
Adopt CSSwitch if you run Claude Science on an Apple Silicon Mac and already hold API keys for a third party model provider you want Science to use. Do not adopt it if you need Windows, Intel Macs, a headless CLI, or general MCP server management; the README states the public desktop build is macOS Apple Silicon only and that v0.8.4 has no user-facing MCP configuration. Before installing, verify two things on the release page: the SHA-256 of the downloaded dmg against the v0.8.4 release evidence, and that the provider you intend to use actually supports the tool calling and long context your Science workflow needs, because CSSwitch maps models strictly and will not silently substitute another one.
Frequently asked questions
What is CSSwitch and what does it do?
CSSwitch is a macOS Apple Silicon app that connects Claude Science to your own model API, including built-in providers such as DeepSeek, Qwen, GLM, Kimi, MiniMax and OpenRouter, plus custom OpenAI and Anthropic compatible endpoints. It runs Science against a local loopback gateway with a separate HOME and data directory, so your real Claude login and Science data are not read or modified.
How do I install CSSwitch?
Download the v0.8.4 aarch64 dmg from the release page, drag CSSwitch into Applications, and open it. The README notes the public package is ad-hoc signed, so if macOS blocks the first launch you should right-click CSSwitch in Finder and choose Open. You also need Claude Science installed and a third-party API key or Codex account.
Does CSSwitch support MCP servers?
Not in v0.8.4. The README states that users cannot add, edit or manage their own MCP servers in this version, and warns against treating the internal connector used for Skill installation as full MCP support. General MCP support is described as in development.
Which platforms can run CSSwitch?
The public desktop build supports macOS Apple Silicon only, and the current macOS release is v0.8.4. The README points Linux x64 users to a separate v0.8.1 Linux x64 prerelease with an amd64 .deb package. Windows is not listed as a supported target.
Where are my API keys stored?
In `~/.csswitch/config.json` with file permissions of `0600`, according to the README. The same section states that credentials are not written to logs.
How do I go back to my normal Claude account?
On the home screen, switch to official Claude and open Science. The README states that CSSwitch first stops the third-party proxy chain it manages, then opens the real Science.
Official sources
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.
[](https://hysenlabs.com/projects/superjj007-csswitch)