@shisongyan/ccsw
v0.4.0
Published
Switch Claude Code API profiles from the command line.
Maintainers
Readme
ccsw
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.
What It Does
- 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
Why
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
Install
pnpm add -g @shisongyan/ccswAfter installation, the command is:
ccswQuick Start
Save 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 1Commands
ccsw add
Interactive prompt flow:
- Enter
base-url - Enter
auth-token - Enter a unique
alias
Example:
ccsw addccsw ls
List 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-exampleccsw use <alias-or-index>
Activate a saved profile and write it into ~/.claude/settings.json.
Examples:
ccsw use kimi
ccsw use 1ccsw delete <alias-or-index>
Delete a saved profile by alias or 1-based index.
Examples:
ccsw delete kimi
ccsw delete 2Files
- 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.
Behavior Notes
- 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
Development
pnpm install
pnpm test
pnpm buildPublishing
This 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.
