hamzarehmandeveloper/claude-account
GitHub: hamzarehmandeveloper/claude-account
为 Linux 平台设计的 Claude Code 多账户配置切换器,通过隔离配置目录实现无需重复登录的账户管理。
Stars: 60 | Forks: 11
# claude-account
[](https://github.com/hamzarehmandeveloper/claude-account/actions/workflows/ci.yml)
[](https://github.com/hamzarehmandeveloper/claude-account/releases)
[](LICENSE)
一个专为 Linux 设计的 Claude Code 配置切换器。它为每个账户提供一个独立的
`CLAUDE_CONFIG_DIR`,并透明地将常规命令转发
给官方的 Claude 可执行文件。
```
claude account add work
claude account add personal
claude account use work
claude account list
claude account current
claude account remove personal
claude
claude "fix this bug in main.py"
```
Claude Code 本身负责执行登录、登出、凭证存储以及 token
刷新。`claude-account` 从不读取或复制凭证内容。
## 环境要求
- Linux
- 正常可用的 Claude Code 安装
- Rust 1.85 或更高版本(用于从源码构建)
## 安装发布版本
从[最新发布版本][releases]下载 `claude-account-v0.1.1-x86_64-unknown-linux-gnu.tar.gz` 及其
`.sha256` 文件,然后进行验证并安装:
```
sha256sum --check claude-account-v0.1.1-x86_64-unknown-linux-gnu.tar.gz.sha256
tar -xzf claude-account-v0.1.1-x86_64-unknown-linux-gnu.tar.gz
./claude-account install
```
安装程序会输出一行 `export PATH=...`。将该行添加到 `~/.bashrc`
并打开一个新的终端。此 shim 位于其独立的目录中;它不会
替换官方的 Claude 可执行文件。
确认安装:
```
type -a claude
claude account list
```
claude-account shim 应该出现在官方 Claude 可执行文件之前。
## 从源码构建
```
git clone https://github.com/hamzarehmandeveloper/claude-account.git
cd claude-account
cargo build --locked --release
./target/release/claude-account install
```
## 命令
### 添加账户
```
claude account add work
claude account add personal --email you@example.com
claude account add company --sso
claude account add api-billing --console
```
这会打开 Claude Code 的官方登录流程。第一个配置将成为活跃配置。
添加另一个配置不会切换当前的活跃配置。该命令还会
完成 Claude Code 的本地引导状态,因此下次启动 `claude` 时
会使用已保存的登录信息,而无需你再次进行身份验证。
### 切换账户
```
claude account use work
```
切换操作仅影响新启动的 Claude 进程。现有会话将保持
其启动时所用的账户。
### 查看配置
```
claude account list
claude account current
```
`current` 仅输出配置名称,因此可安全用于脚本中。
### 移除账户
```
claude account remove personal
```
这会在该配置内运行 Claude Code 的官方 `auth logout` 命令
并将其注销。设置和会话历史记录将被保留,允许同一
配置名称在日后重复使用它们。
要删除属于该配置的所有本地数据:
```
claude account remove personal --purge --yes
```
除非提供 `--force` 参数,否则拒绝移除当前活跃的配置。
`--purge` 会永久删除该配置的设置、会话、插件和
历史记录,以及其存储的登录信息。
### 获取帮助
```
claude account --help
claude account add --help
claude account remove --help
```
所有非账户相关的命令和标志都将原封不动地传递给官方 Claude
可执行文件:
```
claude
claude -p "explain this project"
claude --model opus
claude auth status --text
```
## 存储
默认情况:
```
~/.config/claude-account/state.json
~/.local/share/claude-account/profiles//
~/.local/share/claude-account/bin/claude
~/.local/share/claude-account/libexec/claude-account
```
遵循标准的 `XDG_CONFIG_HOME` 和 `XDG_DATA_HOME` 变量。
`CLAUDE_ACCOUNT_HOME` 可将所有应用程序数据放置在一个绝对
目录下,这对于测试特别有用。
状态文件包含配置名称、目录路径以及真实的 Claude
可执行文件路径。它从不包含 access 或 refresh token。
## 身份验证环境变量
为确保实际使用所选配置,包装器会从子 Claude 进程中
移除以下变量:
- `ANTHROPIC_API_KEY`
- `ANTHROPIC_AUTH_TOKEN`
- `CLAUDE_CODE_OAUTH_TOKEN`
如果你特意希望使用这些
变量来覆盖配置的身份验证,请设置 `CLAUDE_ACCOUNT_PRESERVE_AUTH_ENV=1`。
## 开发
```
cargo fmt --check
cargo test --locked --all-targets
cargo clippy --locked --all-targets -- -D warnings
```
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解贡献工作流程,
并参阅 [SECURITY.md](SECURITY.md) 了解私密漏洞报告方式。
## 许可证
基于 [MIT 许可证](LICENSE) 发布。
标签:AI编程辅助, Rust, 可视化界面, 开发辅助工具, 环境管理, 网络流量审计, 通知系统, 配置切换