MemoryLake
返回全部文章
Tutorial2026 年 11 月 4 日·10 分钟阅读

在 Claude Code 中使用多账号?如何通过 CLAUDE_CONFIG_DIR 为每个账号分配独立的会话、记忆和登录 (2026)

许多开发者最终会拥有两个 Claude 账号:一个是个人 Pro 或 Max 计划,另一个是公司提供的 Team 或 Enterprise 席位。Claude Code 可以使用其中任何一个。问题在于如何在不每次注销的情况下在它们之间切换,并且不让你的个人会话和记忆出现在工作中,反之亦然。

Anthropic 文档提供了一种实现方式。其身份验证指南指出:“要同时保持登录多个账号(例如工作和个人账号),请为每个账号提供其专属的配置目录。”你在启动 Claude Code 时通过 CLAUDE_CONFIG_DIR 环境变量来选择目录。

本指南涵盖了使用 /logout 和 /login 切换的作用、配置目录包含的内容、如何设置第二个目录、它无法隔离的一种登录类型,以及该设置在 VS Code、Claude Desktop 和云端会话中的表现。如果你是想将 Claude 聊天从一个账号移动到另一个账号,而不是在 Claude Code 中切换账号,请参阅我们的迁移 Claude 对话到另一个账号的指南。

使用 /logout 和 /login 切换

更改账号最简单的方法是注销并重新登录。Anthropic 这样描述 /logout:“注销还会重置你的首次启动设置状态,因此下次运行 claude 时,它会再次引导你完成登录和设置。”

你也可以在会话中间进行切换。Anthropic 的交互模式文档在对话易手的几种方式中列出了“你使用 /login 切换账号”。

这两种途径都有相同的限制。它们更改了凭据,但继续使用相同的配置目录(默认为 ~/.claude)。你的会话历史、自动记忆、用户级设置和插件都保留在原处。下一个账号会接管相同的本地文件。

对于偶尔的切换,这可能没问题。但要同时保持登录两个账号,Anthropic 的文档建议使用独立的目录。

配置目录包含的内容

Anthropic 的环境变量参考将 CLAUDE_CONFIG_DIR 描述为“覆盖配置目录(默认:~/.claude)”的方法,并补充道:“所有设置、会话历史和插件都存储在此路径下。”

.claude 目录指南的定义更广:如果你设置了该变量,“此页面上的每个 ~/.claude 路径都将改为存在于该目录下。”这包括通常位于主目录下的 .claude.json。

在实践中,配置目录包含:

  • 你的登录信息。 凭据,如下所述。
  • 会话历史。 projects/ 下的转录文本,由 --resume 和 /resume 读取。我们关于查找 Claude Code 会话历史的指南涵盖了其布局。
  • 自动记忆。 Anthropic 的记忆文档将每个项目的自动记忆放在 <config dir>/projects/<project>/memory/ 下。
  • 用户级指令和设置。 你的用户级 CLAUDE.md、用户规则和 settings.json。
  • 插件。 已安装的插件及其数据。

项目文件则不同。代码仓库的 CLAUDE.md、.claude/settings.json 和 .mcp.json 存在于仓库中,因此打开它的每个账号都会读取它们。

设置第二个账号

Anthropic 的示例使用了 shell 别名。在 Bash 或 Zsh 中,将其添加到 ~/.bashrc 或 ~/.zshrc:

alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

有了这个别名,claude 会将你的个人账号保留在 ~/.claude 中,而 claude-work 则使用 ~/.claude-work 中的工作账号。Anthropic 表示,在你打开新终端并首次运行 claude-work 后,“Claude Code 会引导你完成新目录的登录和设置。”

文档中的两个细节有助于设置成功:

  • 在设置文件中使用绝对路径。 “对于接受路径的变量(如 CLAUDE_CONFIG_DIR),请编写绝对路径”。Claude Code 不会在那里展开 ~。
  • 不在项目设置中。 该变量在项目和本地设置中会被忽略,因此仓库无法为你切换账号。

新目录不会带来的内容

新目录不包含你现有的文件。这正是目的所在,但这意味着工作账号看不到你的个人用户级 CLAUDE.md、用户设置、插件或你在个人账号下建立的自动记忆。如果你希望在两者中拥有相同的个人偏好,请将所需的用户级文件复制到第二个目录中。将会话历史和自动记忆留在原处,因为这些是你想要分开的部分。

每个账号的登录信息存储在哪里

Anthropic 的凭据部分解释了目录如何隔离登录。在 Linux 和 Windows 上,凭据位于配置目录中的 .credentials.json 里。在 macOS 上,它们位于 Keychain(钥匙串)中,该变量也会改变这一点:Claude Code “也将 macOS Keychain 条目与该目录关联,因此具有不同 CLAUDE_CONFIG_DIR 的会话会读取不同的条目。”

因此,两个目录意味着两个独立的登录,且两者都保持登录状态。

无法隔离的一种登录类型

有一个例外,Anthropic 明确指出了它。“独立的目录无法将两个没有 API key 的 Claude Console 登录分开,因为 Claude Code 将这种登录存储在配置目录之外。”

这种无 key 的 Console 登录作为 Anthropic 配置文件存储在独立的 Anthropic 配置目录中。Anthropic 增加了一个在使用前值得了解的副作用:“Claude Code 会让你注销机器上存储的任何 claude.ai 登录”。如果你将无 key 的 Console 登录与 claude.ai 登录混合使用,请在每次登录后检查 /status。

API key 可以覆盖你的订阅

凭据是有顺序的。如果在你的环境中设置了 ANTHROPIC_API_KEY,它的优先级高于来自 /login 的订阅登录。Anthropic 警告说:“如果你有活跃的 Claude 订阅,但在环境中也设置了 ANTHROPIC_API_KEY,Claude Code 在你批准后将使用 API key。”运行 /status 查看正在使用哪个凭据;当两者都配置时,它会标记未使用的那个。

拆分前的会话

设置第二个目录不会移动任何内容。你在拆分前运行的会话仍保留在它们保存的目录中(默认为 ~/.claude),连同它们的自动记忆一起。

因此,如果你在 ~/.claude 中使用了一段时间工作账号,然后创建了 ~/.claude-work,旧的工作会话仍然在个人目录下。要恢复其中一个,请使用保存它的目录启动 Claude Code。Anthropic 的会话指南指出,在配置目录中,在会话选择器中按 Ctrl+A 会列出其下每个项目目录中的会话,这在你记不清会话在哪里运行的时候很有帮助。

保留策略也是按目录执行的。Claude Code 会在 cleanupPeriodDays(默认为 30 天)指定的天数后删除旧的转录文本。如果你在用户设置中设置了它,该文件属于一个目录。请在另一个目录的用户设置中再次设置,否则第二个账号的旧会话将按默认计划被清理。

VS Code、Claude Desktop 和云端会话

VS Code

shell 别名只会更改你在终端中输入的命令,因此它不会影响扩展。你可以在扩展的 environmentVariables 设置中设置该变量,但有一条规则:“仅当 CLAUDE_CONFIG_DIR 条目的值为绝对路径时才生效;扩展不会展开 ~ 且会忽略相对值。”扩展还有一个“切换账号”屏幕;其更新日志提到一个“取消”按钮,可以作为当前账号返回会话。

Claude Desktop

Desktop 的本地 Code 会话读取与 CLI 相同的配置文件。要将 Desktop 指向不同的目录,Anthropic 表示要在设置开发服务器变量的其中一个位置设置 CLAUDE_CONFIG_DIR,然后退出并重新打开 Desktop。最近的版本修复了终端和桌面应用登录不同账号时出现的两个问题,因此如果你以这种方式运行,请保持两者都是最新版本。

云端会话

云端会话属于你的 claude.ai 账号。“云端会话始终使用你的订阅凭据。”在云端和终端之间移动它们需要两端使用相同的账号;对于 teleport(传送),Anthropic 的要求是“你必须通过云端会话中使用的同一个 claude.ai 账号进行身份验证。”如果你要传送一个工作会话,请先使用工作账号的目录启动 Claude Code。我们关于为什么 Claude Code 会在不同机器间遗忘的指南涵盖了云端会话携带的内容。

人们首先尝试的方法

每次都注销并登录。 这可行,但它保留了一个配置目录,因此两个账号共享本地历史和自动记忆。

期望 /login 能清除旧账号的会话。 它只更改凭据。转录文本仍留在同一个目录中。

使用相对路径。 设置文件和 VS Code 扩展需要 CLAUDE_CONFIG_DIR 的绝对路径。

尝试用目录隔离两个无 key 的 Console 登录。 Anthropic 表示目录无法将它们分开。

保留 ANTHROPIC_API_KEY 设置。 一旦获得批准,它的优先级就会高于你的订阅登录。

解决方案:为每个账号提供专属空间

第 1 步:决定哪些内容应该隔离

决定哪些部分应该隔离(如会话历史、自动记忆和登录),以及哪些部分应该匹配(如你的个人偏好)。在进行任何设置之前,写下哪些文件属于每一组。

第 2 步:创建第二个目录和别名

添加一个类似 Anthropic 示例的别名,打开新终端,运行一次以登录第二个账号。在 VS Code 和 Desktop 中,在各自读取环境变量的地方设置相同的绝对路径。

第 3 步:复制共享偏好,而非历史记录

复制你希望在两者中都拥有的用户级 CLAUDE.md 和设置。保持 projects 文件夹独立,因为它保存了每个账号的转录文本和自动记忆。我们关于 Claude Code 工作区和记忆的指南解释了自动记忆是如何与仓库关联的。

在 MemoryLake 中设置

独立的目录可以将每个账号的会话和自动记忆分开。代价是,你希望在两者中都拥有的一些上下文(例如你的约定或长期运行项目的状态)现在只存在于其中一个目录中。

MemoryLake 是一个记忆层,用于将这些共享事实保存在一个由你维护的地方,供你连接的助手(如 ChatGPT、Claude Code 和 Codex)使用。

你自己用自己的语言编写条目。不会从你的配置目录、Claude Code 会话、CLAUDE.md 文件、自动记忆、凭据或任何供应商的存储中读取、写入或删除任何内容。CLAUDE_CONFIG_DIR 和 Claude Code 的登录将继续按照 Anthropic 描述的方式工作。

第 1 步:创建 API key

登录并从控制面板生成一个 key。该 key 属于你的 MemoryLake 工作区,与你的 Claude 账号是分开的。

MemoryLake 控制台显示 API keys 屏幕,在此创建并复制新 key 以供代理使用
MemoryLake 控制台显示 API keys 屏幕,在此创建并复制新 key 以供代理使用

第 2 步:上传你的第一批记忆

从解决方案第 1 步中的共享偏好开始,加上两个账号都需要的所有项目决策。每个条目一个要点,并请先根据公司政策检查工作内容。

MemoryLake 工作区显示已上传的首批文档,列出了每个成为可搜索记忆的文件
MemoryLake 工作区显示已上传的首批文档,列出了每个成为可搜索记忆的文件

第 3 步:连接你的 AI 和代理

在每个账号下连接 Claude Code,以及你使用的任何其他助手。无论你从哪个目录启动,相同的条目都是可用的。

MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和代理框架
MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和代理框架

这在实践中改变了什么

第一个区别是不再需要注销。每个账号都保持登录状态,你输入的别名决定了使用哪个账号。

第二个是真正的隔离。工作会话和工作自动记忆留在工作目录中,个人会话和记忆留在你的目录中。

第三个是减少重复。你在两个账号下都需要的事实不需要手动复制到两套文件中。如果你也使用 Codex,我们关于同时使用 Claude Code 和 Codex 的指南涵盖了跨工具共享上下文的内容。

Claude Code 多账号最佳实践

每个账号一个目录。 启动 Claude Code 时设置 CLAUDE_CONFIG_DIR。

在 shell 之外使用绝对路径。 设置文件和 VS Code 不会展开 ~。

切换后检查 /status。 它会显示正在使用的账号和凭据。

取消设置多余的 API key。 经批准的 ANTHROPIC_API_KEY 优先级高于你的订阅。

不要依赖目录来隔离无 key 的 Console 登录。 它们存储在目录之外。

云端工作时匹配账号。 Teleport 需要相同的 claude.ai 账号。

注意旧会话。 恢复长期闲置的会话可能会消耗大量额度;我们关于恢复旧会话用量警告的指南解释了原因。

结论

Claude Code 通过 /logout 和 /login 切换账号,但这会保留同一个配置目录,因此两个账号共享本地历史和自动记忆。为了同时保持登录并保持隔离,Anthropic 的方案是为每个账号设置独立的 CLAUDE_CONFIG_DIR。每个目录都有自己的设置、会话历史和登录信息,在 macOS 上还有自己的 Keychain 条目。

注意例外情况:无 key 的 Console 登录、环境中的 ANTHROPIC_API_KEY 以及 VS Code 和设置文件中的绝对路径规则。将你在两个账号下都需要的上下文保存在不属于任何一个目录的地方。

常见问题

如何在 Claude Code 中切换账号?

运行 /logout,然后使用另一个账号登录,或者在会话期间运行 /login。两者都会保留相同的配置目录。

我可以同时使用两个 Claude Code 账号吗?

可以。通过 CLAUDE_CONFIG_DIR 为每个账号提供其专属的配置目录。Anthropic 表示每个目录都有自己的设置、会话历史以及 claude.ai 登录或 API key。

在 Claude Code 中切换账号会保留我的会话历史吗?

使用 /logout 和 /login 时,是的:历史记录保留在同一个配置目录中。如果每个账号使用独立目录,则每个账号只能看到自己的会话。

自动记忆是按账号分开的吗?

自动记忆存储在配置目录的 projects/ 文件夹下。独立的目录意味着独立的自动记忆;同一个目录意味着两个账号共享它。

如何在 Claude Code VS Code 扩展中切换账号?

使用扩展的“切换账号”屏幕,或者在扩展的 environmentVariables 设置中将 CLAUDE_CONFIG_DIR 设置为绝对路径。

为什么 Claude Code 使用我的 API key 而不是我的订阅?

如果设置了 ANTHROPIC_API_KEY 且你已批准,Claude Code 会优先使用它而非你的 /login 凭据。取消设置该变量并检查 /status。