Skip to main content

Claude Profile Switcher

English | 简体中文


English

A profile manager for Claude Code configurations. Easily switch between different API providers and model configurations via TUI or command line.

Features

  • TUI Interface: Interactive terminal UI for managing profiles
  • CLI Commands: Quick profile switching and launching from command line
  • Support for multiple API providers (Anthropic, OpenAI-compatible, etc.)
  • Add, edit, and delete custom profiles
  • View current active configuration
  • Auto-save after editing each field
  • Model overrides for haiku, sonnet, and opus

Installation

Install from source

# Clone the repository
git clone https://github.com/junity/claude-profile-switcher.git
cd claude-profile-switcher

# Install in editable mode (for development)
pip install -e .

# Or install normally
pip install .

Build and install from wheel

# Build the package
pip install build
python -m build

# Install the built wheel
pip install dist/claude_profile_switcher-0.1.0-py3-none-any.whl

Usage

TUI Interface

Launch the interactive TUI interface:

claude-profile

Controls:

Key Action
w / ↑ Navigate up
s / ↓ Navigate down
Enter Switch to selected profile
→ / e Edit profile
a Add new profile
d Delete profile
Esc / ← / q Go back / Quit

Command Line Interface

List all profiles:

claude-profile list
# or using short form
claude-profile ls
# or
claude-profile show

Switch to a specific profile:

claude-profile switch my-profile
# or using short form
claude-profile s my-profile

Switch to a profile and launch claude-code:

claude-profile launch my-profile
# or using short form
claude-profile l my-profile

View help:

claude-profile --help
claude-profile switch --help

Configuration

Profiles are stored in ~/.config/claude-profile-switcher/profiles.json

Profile Fields

Each profile contains:

Field Required Description
name Yes Profile name (unique identifier)
base_url No API base URL (e.g., https://api.anthropic.com)
api_key No API key for authentication
haiku_model No Custom model name for Haiku
sonnet_model No Custom model name for Sonnet
opus_model No Custom model name for Opus

Optional fields can be left empty to use Claude Code defaults.

Example Profiles

Anthropic (default)

{
  "name": "anthropic",
  "base_url": "https://api.anthropic.com",
  "api_key": "sk-ant-..."
}

OpenAI-compatible

{
  "name": "openai-compatible",
  "base_url": "https://api.openai.com/v1",
  "api_key": "sk-...",
  "haiku_model": "gpt-4o-mini",
  "sonnet_model": "gpt-4o",
  "opus_model": "o1-preview"
}

Local LLM (e.g., LM Studio, Ollama)

{
  "name": "local",
  "base_url": "http://localhost:1234/v1",
  "api_key": "not-needed",
  "haiku_model": "local-model-small",
  "sonnet_model": "local-model-medium",
  "opus_model": "local-model-large"
}

License

MIT License


简体中文

Claude Code 配置文件管理器。通过 TUI 或命令行轻松切换不同的 API 提供商和模型配置。

功能特性

  • TUI 界面:交互式终端 UI 管理配置文件
  • 命令行工具:快速切换配置和启动 Claude Code
  • 多 API 提供商支持:Anthropic、OpenAI 兼容接口等
  • 增删改查:添加、编辑、删除自定义配置
  • 查看当前配置:显示当前激活的配置
  • 自动保存:编辑字段后自动保存
  • 模型覆盖:支持自定义 haiku、sonnet、opus 模型

安装

从源码安装

# 克隆仓库
git clone https://github.com/junity/claude-profile-switcher.git
cd claude-profile-switcher

# 开发模式安装(可编辑)
pip install -e .

# 或正常安装
pip install .

从 wheel 文件安装

# 构建包
pip install build
python -m build

# 安装构建好的 wheel
pip install dist/claude_profile_switcher-0.1.0-py3-none-any.whl

使用方法

TUI 界面

启动交互式 TUI 界面:

claude-profile

按键说明:

按键 功能
w / ↑ 向上导航
s / ↓ 向下导航
Enter 切换到选中的配置
→ / e 编辑配置
a 添加新配置
d 删除配置
Esc / ← / q 返回 / 退出

命令行

列出所有配置:

claude-profile list
# 或使用短格式
claude-profile ls
# 或
claude-profile show

切换到指定配置:

claude-profile switch my-profile
# 或使用短格式
claude-profile s my-profile

切换配置并启动 claude-code:

claude-profile launch my-profile
# 或使用短格式
claude-profile l my-profile

查看帮助:

claude-profile --help
claude-profile switch --help

配置文件

配置文件存储在 ~/.config/claude-profile-switcher/profiles.json

配置字段

每个配置包含:

字段 必填 说明
name 是 配置名称(唯一标识符)
base_url 否 API 基础 URL(如 https://api.anthropic.com)
api_key 否 API 认证密钥
haiku_model 否 自定义 Haiku 模型名称
sonnet_model 否 自定义 Sonnet 模型名称
opus_model 否 自定义 Opus 模型名称

可选字段留空将使用 Claude Code 默认值。

配置示例

Anthropic(默认)

{
  "name": "anthropic",
  "base_url": "https://api.anthropic.com",
  "api_key": "sk-ant-..."
}

OpenAI 兼容接口

{
  "name": "openai-compatible",
  "base_url": "https://api.openai.com/v1",
  "api_key": "sk-...",
  "haiku_model": "gpt-4o-mini",
  "sonnet_model": "gpt-4o",
  "opus_model": "o1-preview"
}

本地 LLM(如 LM Studio、Ollama)

{
  "name": "local",
  "base_url": "http://localhost:1234/v1",
  "api_key": "not-needed",
  "haiku_model": "local-model-small",
  "sonnet_model": "local-model-medium",
  "opus_model": "local-model-large"
}

许可证

MIT License

Metadata

Release files for claude-profile-switcher 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-profile-switcher 0.1.0
File Size Uploaded
claude_profile_switcher-0.1.0.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for claude-profile-switcher 0.1.0
File Interpreter ABI Platform
claude_profile_switcher-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / claude_profile_switcher-0.1.0.tar.gz

Download URL claude_profile_switcher-0.1.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ecd7b8034d4ec98dc3a5a120841a7ed1bd30e8938889fad210519ba9dc5f2ccb
BLAKE2b-256 checksum
How to use checksums
a5c11eafeede260eb69e0d0d698d77717ac6da077d3206162ab6fc2f5c2a8e1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / claude_profile_switcher-0.1.0-py3-none-any.whl

Download URL claude_profile_switcher-0.1.0-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4fe99f2c0ba638c1eb825aaeb2db56df7cc1b4c167518770bc86e836692e3217
BLAKE2b-256 checksum
How to use checksums
4f9d19b5d688d7930fdd09d61be448758f05004dd14814c668328238928c3696
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page