explaingit

itsmeeaera/claude-switcher

19GoAudience · developerComplexity · 2/5Setup · easy

TLDR

A small command-line tool that lets developers quickly switch between multiple Claude Code API endpoints or accounts by selecting named profiles in a terminal picker.

Mindmap

mindmap
  root((claude-switcher))
    What it does
      Switch API profiles
      Set env variables
      Test endpoint health
    Profile storage
      Name and endpoint on disk
      Keys in OS keychain
      Auto-migrate plaintext keys
    Platforms
      macOS Apple Silicon
      macOS Intel
      Linux
      Windows
    How to use
      Add shell integration once
      Run cw to open picker
      Select profile to apply
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Switch between different Claude Code API providers in your terminal without manually typing environment variables each time.

USE CASE 2

Store API keys securely in your OS keychain instead of in plaintext config files, and let the tool set credentials automatically when you pick a profile.

USE CASE 3

Test whether a configured Claude API endpoint is reachable before starting a coding session.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min

Prebuilt binaries available for all platforms, requires one-time shell integration added to terminal config.

No license information was mentioned in the explanation.

In plain English

Claude-switcher is a small command-line tool for developers who use Claude Code (an AI coding assistant) and need to switch between multiple API endpoints or accounts. Rather than manually setting environment variables each time you want to connect to a different API provider, you open the tool, pick a profile from a list, and the correct settings are applied to your current terminal session. The tool presents an interactive text-based interface in the terminal where you can add, edit, delete, and switch between named profiles. Each profile stores a name and an API endpoint address. The corresponding API key is kept separately in your operating system's built-in credential storage, which is the macOS Keychain on Mac, Credential Manager on Windows, or Secret Service on Linux. The profile file on disk never contains the key itself, only a reference to where it is stored. If you have an older config file that does contain a key in plain text, the tool migrates it to secure storage automatically. Switching profiles works through a shell integration that you add to your terminal configuration once. After that, running cw opens the picker, and selecting a profile sets the two environment variables Claude Code reads for its API credentials. Because environment variables only affect the current terminal session, you need to switch profiles before launching Claude Code, not while it is running. The tool also includes a live endpoint check feature that tests whether a configured API address is reachable, which is useful when managing multiple providers or testing new configurations. Prebuilt binaries are available for Mac (both Apple Silicon and Intel), Linux, and Windows. Building from source requires Go.

Copy-paste prompts

Prompt 1
Help me set up claude-switcher shell integration in my zsh config so running `cw` in a new terminal lets me pick between my personal and work Claude API profiles.
Prompt 2
I have an old claude-switcher config file with a plaintext API key. How does the automatic migration to OS keychain storage work, and is there anything I need to do?
Prompt 3
Using claude-switcher, how do I add a new profile pointing to a self-hosted Claude-compatible API endpoint and verify it is reachable before switching to it?
Prompt 4
Explain why I need to switch claude-switcher profiles before launching Claude Code rather than while it is already running.
Open on GitHub → Explain another repo

← itsmeeaera on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.