ccsw is a small CLI for saving and switching Claude Code API profiles without manually editing ~/.claude/settings.json.
It stores reusable profiles in ~/.claude/ccsw.json, then writes the active profile into Claude Code's env.ANTHROPIC_BASE_URL and env.ANTHROPIC_AUTH_TOKEN.
- Save reusable Claude Code API profiles
- List saved profiles and show the active one
- Switch Claude Code to a saved profile by alias or index
- Delete profiles you no longer need
- Import an existing Claude Code API config into the saved list during
ccsw ls
If you switch between different Claude-compatible providers or API gateways, manually editing Claude Code settings gets tedious and error-prone.
ccsw gives you a simple workflow:
- Save a profile once
- List saved profiles
- Activate one by alias or index
- Delete one when you no longer need it
pnpm add -g @shisongyan/ccswAfter installation, the command is:
ccswSave a profile:
ccsw addList saved profiles:
ccsw lsIf /Users/ryan/.claude/settings.json already contains a Claude Code API configuration, ccsw ls will import it into the profile list before printing the result.
Activate a profile:
ccsw use 1Interactive prompt flow:
- Enter
base-url - Enter
auth-token - Enter a unique
alias
Example:
ccsw addList all saved profiles with:
- 1-based index
- Alias
- Base URL
- Full auth token
- Active marker
Example:
ccsw lsExample output:
* 1. kimi | https://api.kimi.com/coding/ | sk-kimi-example
2. openrouter | https://openrouter.ai/api/ | sk-or-example
Activate a saved profile and write it into ~/.claude/settings.json.
Examples:
ccsw use kimi
ccsw use 1Delete a saved profile by alias or 1-based index.
Examples:
ccsw delete kimi
ccsw delete 2- Profile store:
~/.claude/ccsw.json - Active Claude Code config:
~/.claude/settings.json
ccsw only updates these fields in Claude settings:
env.ANTHROPIC_BASE_URLenv.ANTHROPIC_AUTH_TOKEN
All unrelated settings are preserved.
- Aliases must be unique
addsaves a profile but does not activate ituseupdates Claude settings first, then marks the profile as active- Deleting the active profile clears the active marker in
~/.claude/ccsw.json - Deleting a profile does not clear the currently written values in
~/.claude/settings.json
pnpm install
pnpm test
pnpm buildThis package is intended to publish to the official npm registry:
pnpm publish --registry=https://registry.npmjs.org/If your machine uses a mirror registry by default, publishConfig.registry already points this package at the official npm registry.