使用 /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 账号是分开的。

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

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

这在实践中改变了什么
第一个区别是不再需要注销。每个账号都保持登录状态,你输入的别名决定了使用哪个账号。
第二个是真正的隔离。工作会话和工作自动记忆留在工作目录中,个人会话和记忆留在你的目录中。
第三个是减少重复。你在两个账号下都需要的事实不需要手动复制到两套文件中。如果你也使用 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 和设置文件中的绝对路径规则。将你在两个账号下都需要的上下文保存在不属于任何一个目录的地方。