This folder contains two things:
- a local Anthropic-compatible gateway for Claude Desktop
- a macOS menu bar app to manage providers and fake
/v1/models
Requires Node.js 18+.
Run once manually:
cd /path/to/Cowork-Switch
node src/server.jsCheck it:
curl http://127.0.0.1:8787/health
curl http://127.0.0.1:8787/_admin/statusStop it with Ctrl+C.
Copy the LaunchAgent template:
cp launchd/com.pixelsama.cowork-switch.plist ~/Library/LaunchAgents/com.pixelsama.cowork-switch.plistReplace:
__NODE_PATH__ absolute path from: which node
__PROJECT_DIR__ absolute path to this folder
Load it:
plutil -lint ~/Library/LaunchAgents/com.pixelsama.cowork-switch.plist
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.pixelsama.cowork-switch.plist
launchctl enable gui/$(id -u)/com.pixelsama.cowork-switch
launchctl kickstart -k gui/$(id -u)/com.pixelsama.cowork-switchcd /path/to/Cowork-Switch
zsh scripts/build-macos-app.sh
open dist/CoworkSwitch.appThis project supports the same signing/notarization variable names used by Free-Agent-Vtuber-Openclaw.
Signed package:
cd /path/to/Cowork-Switch
brew install create-dmg
npm run package:macos:signedOffline dry run:
cd /path/to/Cowork-Switch
SKIP_NOTARIZATION=1 npm run package:macos:signedIf Apple notarization returns 403 about missing or expired agreements, fix the Apple Developer agreements first and rerun the package command.
The DMG installer UI is generated with create-dmg, so the released disk image opens with a background, app icon placement, and an Applications drag target.
The menu bar app lets you:
- see whether the gateway is running
- switch the active Anthropic-compatible provider
- add preset providers for DeepSeek and OpenRouter
- choose whether
/v1/modelsshould be faked or passed through - edit fake model IDs for providers like DeepSeek
Provider: Gateway / Anthropic-compatible
Gateway base URL: http://127.0.0.1:8787
Gateway API key: your provider API key
Gateway auth scheme: bearer
- If the upstream provider does not implement
/v1/models, enable fake models and fill in model IDs. - If the upstream provider already supports
/v1/models, disable fake models and let the gateway pass the request upstream untouched.
If you want Claude Code or Claude Desktop to route through OpenRouter:
- Open Cowork-Switch settings.
- Choose
Add Provider > Add OpenRouter Preset. - Paste your OpenRouter API key into that provider.
- Keep
useFakeModelsdisabled so/v1/modelsis forwarded to OpenRouter. - Make the OpenRouter preset the active provider.
The preset uses https://openrouter.ai/api, which matches OpenRouter's Anthropic-compatible integration guide.