Skip to content

Dolov/ccsw

Repository files navigation

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/ccsw

After installation, the command is:

ccsw

Quick Start

Save a profile:

ccsw add

List saved profiles:

ccsw ls

If /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 1

Commands

ccsw add

Interactive prompt flow:

  1. Enter base-url
  2. Enter auth-token
  3. Enter a unique alias

Example:

ccsw add

ccsw ls

List all saved profiles with:

  • 1-based index
  • Alias
  • Base URL
  • Full auth token
  • Active marker

Example:

ccsw ls

Example output:

* 1. kimi | https://api.kimi.com/coding/ | sk-kimi-example
  2. openrouter | https://openrouter.ai/api/ | sk-or-example

ccsw use <alias-or-index>

Activate a saved profile and write it into ~/.claude/settings.json.

Examples:

ccsw use kimi
ccsw use 1

ccsw delete <alias-or-index>

Delete a saved profile by alias or 1-based index.

Examples:

ccsw delete kimi
ccsw delete 2

Files

  • Profile store: ~/.claude/ccsw.json
  • Active Claude Code config: ~/.claude/settings.json

ccsw only updates these fields in Claude settings:

  • env.ANTHROPIC_BASE_URL
  • env.ANTHROPIC_AUTH_TOKEN

All unrelated settings are preserved.

Behavior Notes

  • Aliases must be unique
  • add saves a profile but does not activate it
  • use updates 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 build

Publishing

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.

About

CLI for saving and switching Claude Code API profiles.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors