claude-profiles
Swap Claude Code configurations in one command
Quick Start • Commands • Auto-Switching • npm • Discussions
______________________________________________________________________
克劳德简介 允许您维护多个Claude Code配置并立即在它们之间切换。不同的插件、钩子、MCP服务器和不同工作流的设置——没有冲突。
npm install -g claude-profiles一个命令。你的 ~/.claude 自动成为默认配置文件。不需要安装向导。
为什么?
| 无配置文件 | 有配置文件 |
|---|---|
一个 ~/.claude 配置一切 | 多个配置,立即切换 |
| 到处都是相同的插件,即使你不需要它们 | 根据配置文件切换插件 |
| 切换工作流时手动备份/还原 | claude-profiles use work |
| 不同客户端的不同MCP服务器?手动编辑 | 一个切换命令 |
| 无法为每个项目自动切换 | .claude-profile 每个仓库的文件(如 .nvmrc) |
快速开始
# Install (that's it — shell hook + slash commands auto-configured)
npm install -g claude-profiles
# Create a work profile
claude-profiles create work
# Switch to it
claude-profiles use work
# >>> RESTART CLAUDE CODE /`.切换直接在内部交换配置文件 `~/.claude` --没有环境变量,没有符号链接。
~/.claude/ # Create profile (clones ~/.claude) claude-profiles use # Switch profile claude-profiles list # List all profiles (* = active) claude-profiles current # Show active profile claude-profiles delete # Delete a profile claude-profiles toggle plugin on|off # Toggle plugin per profile claude-profiles init # Guided setup (optional) claude-profiles uninstall # Clean removal
### 克劳德代码内部
这些斜线命令直接在Claude Code会话中工作:
/profiles # List profiles + show available commands /profiles-list # List all profiles (* = active) /profiles-use # Switch profile /profiles-create - # Create a new profile /profiles-current # Show active profile /profiles-delete # Delete a profile /profiles-configure # Toggle plugins in the active profile
无需离开Claude代码——内置的钩子会立即执行命令并显示结果。
## 示例:工作vs个人
Create separate profiles
claude-profiles create work -d "Work — Vercel + Jira MCP servers" claude-profiles create personal -d "Personal — minimal plugins"
Configure each profile
claude-profiles use work
>>> RESTART CLAUDE CODE >> RESTART CLAUDE CODE .claude-profile
当你 `cd` 在该目录中,shell钩子会自动切换。Leave--恢复默认值。
喜欢 `.nvmrc` 适用于Node.js版本,但适用于Claude Code配置。
### 分辨率链
1. `CLAUDE_PROFILES_ACTIVE` env-var(最高优先级)
1. `.claude-profile` 文件(沿目录树向上移动)
1. 活动配置文件来自 `state.json`
1. 退路: `default` (`~/.claude`)
## 安装/卸载
Install — one command, everything configured
npm install -g claude-profiles
Uninstall — asks which profile to keep, cleans everything
claude-profiles uninstall npm uninstall -g claude-profiles
自动安装:
- 增加 `/profiles-*` Claude代码的斜线命令
- 安装外壳挂钩 `.zshrc`/`.bashrc`/`config.fish` (自动打开 `cd`)
- 注册一个快速执行钩子(因此 `/profiles-list` 在1秒内响应)
- 为添加自动批准权限 `claude-profiles` 命令
卸载会删除上述所有内容。 `~/.claude` 永远不会被修改。
What profiles isolate
每个配置文件都有自己的:
- `settings.json` --插件、钩子、权限、模型首选项
- `mcp.json` --MCP服务器配置
- `CLAUDE.md` --自定义说明
- `commands/` --斜线命令
- `settings.local.json` --本地覆盖
在所有配置文件中共享:
- 插件缓存(下载的文件)
- 项目/会话数据
- 身份验证凭据
- 自动内存(中的每个项目 `~/.claude/projects/`,不按配置文件)
Shell integration details
shell钩子在安装时使用conda风格的哨兵注释自动添加:
>>> claude-profiles >>>
!! Contents within this block are managed by claude-profiles !!
_claude_profiles_hook() { ... }
#
Design influences
- Python 版本管理器 --解析链(环境变量>文件>默认值)
- direnv --自动开启
cd - 非易失性存储器 —
.nvmrc惯例 - 康达 --shell配置的哨兵注释
- Codex CLI --配置文件覆盖
相关
- --对原生Claude Code配置文件的功能请求
- Codex CLI配置文件 --OpenAI的方法
贡献
看 贡献.md.PR欢迎。
许可证
麻省理工学院
