claude-account:在 Linux 上管理多个 Claude Code 配置文件

概述

claude-account 是一个社区开发的 Claude Code 在 Linux 上的配置文件切换器。它通过为每个账户提供独立的 CLAUDE_CONFIG_DIR,使用户能够维护多个相互隔离的账户(例如工作和个人),从而在不重复登录流程的情况下切换身份。

核心功能

claude-account 充当一个 shim(中间层),在管理不同配置文件环境的同时,透明地将命令转发给官方的 Claude 可执行文件。

账户管理命令

  • 添加账户claude account add <name> 会触发官方 Claude Code 的登录流程。首次添加的配置文件会成为活动配置。用户可以指定电子邮件或使用 --sso--console 等标志进行特定登录方式。
  • 切换账户claude account use <name> 会更改新启动的 Claude 进程使用的活动配置文件。已有会话仍然绑定到其启动时的账户。
  • 检查claude account list 显示所有已配置的配置文件,claude account current 返回当前活动的配置文件名称(适用于脚本)。
  • 删除claude account remove <name> 在该配置文件中运行官方的 auth logout。使用 --purge 标志会永久删除与该配置文件关联的所有设置、会话、插件和历史记录。

安全性与隔离

为确保使用所选的配置文件,包装器会从子 Claude 进程中移除以下环境变量:

  • ANTHROPIC_API_KEY
  • ANTHROPIC_AUTH_TOKEN
  • CLAUDE_CODE_OAUTH_TOKEN

用户可以通过设置 CLAUDE_ACCOUNT_PRESERVE_AUTH_ENV=1 来覆盖此行为。

安装与要求

系统要求

  • 操作系统:Linux
  • 前置条件:已安装并可正常运行的 Claude Code
  • 构建要求:Rust 1.85 或更高版本(如果从源码构建)

安装步骤

  1. 发布版安装:下载最新的发布版本(例如 claude-account-v0.1.1-x86_64-unknown-linux-gnu.tar.gz)及其 SHA256 校验和。校验通过后,解压归档并运行 ./claude-account install
  2. 路径配置:安装程序会提供一行 export PATH=...,需要将其添加到用户的 ~/.bashrc 中,以确保 shim 优先于官方 Claude 可执行文件。
  3. 源码构建:克隆仓库,运行 cargo build --locked --release,然后执行 ./target/release/claude-account install

存储结构

claude-account 遵循 XDG_CONFIG_HOMEXDG_DATA_HOME。默认情况下,它使用以下路径:

  • 状态文件~/.config/claude-account/state.json(存储配置文件名称和路径;不存储令牌)。
  • 配置文件数据~/.local/share/claude-account/profiles/<name>/
  • 二进制文件~/.local/share/claude-account/bin/claude~/.local/share/claude-account/libexec/claude-account

用户可以通过设置 CLAUDE_ACCOUNT_HOME 环境变量,将所有数据统一到一个目录下。

社区观点与替代方案

虽然 claude-account 提供了结构化的管理系统,但 Hacker News 社区指出了几种实现账户隔离的替代方法:

  • 环境变量别名:一些用户使用简单的 shell 别名或脚本为每个账户设置 CLAUDE_CONFIG_DIR
  • 基于目录的切换mise 工具的用户可以在特定项目目录的 mise.toml 文件中定义 CLAUDE_CONFIG_DIR,实现账户自动切换。
  • 基于使用量的轮换:一些人使用 omp.sh 等工具,在达到使用限制时自动轮换账户。
  • 混合使用:有些用户通过在一个账户使用 Claude Code 桌面应用,另一个账户使用 CLI,来避免使用切换器。

风险讨论

社区成员对频繁切换账户的安全性以及可能导致账户被封的风险表示担忧。但项目文档强调,claude-account 并不读取或复制凭证内容,因为所有认证、令牌刷新和存储均由 Claude Code 本身处理。

Sources