之前在 V 站介绍过 Runner ,是一个管理 CLI agent 的原生桌面工具,本质是一个类似 terminal multiplexer 的工具,可以在同一个 app 中管理不同平台的 agent cli ,也可以把几个 agent 组成 crew 一起协作沟通。之前的帖子: 我的第一个 300 stars 开源项目 Runner 这次做 claude 多账号切换的初衷主要是我自己用了两年的 Claude 账号最近被封了,用的是 Max 订阅。
并且想要再搞出一个新的 max 账号现在太难了,有 KYC ,加上越来越严格的检查,感觉普通国内用户想稳定用一个 Max 账号的成本已经显著增加了。从我自己最近的使用情况来看,Pro 账号的检查相对没那么严格,用多个 Pro 的重度用户也多了起来。
这样就需要管理几个账号、看各自的用量,也希望换个账号以后还能接着之前的工作继续做。所以这次 0.17.0 给 Runner 加了 Claude Code 多账号支持,可以在里面分别登录、查看用量,切换账号以后继续之前的对话。
这里单独开一帖,配几张图介绍一下。添加另一个账号 在 Settings → Agents → Claude Code 的 Accounts 里面,可以看到自己原来用的账号,默认叫 Personal 。
点 Add account ,给新账号起个名字,再跟着 Claude Code 的浏览器登录流程走一遍就可以了。如果之前已经用独立目录登录过,也可以直接选择那个目录。
添加以后,两个账号的登录会分别保留,平时切换不用再来回退出和登录。原来的配置可以继续用 我自己用 Claude Code 会配一些 skills 、MCP 和插件,换个账号以后如果这些都要重新弄一遍,还是挺麻烦的。
所以添加账号时,可以勾选 Use Personal’s settings ,继续用主账号的全局 CLAUDE.md 、skills 、MCP 和已启用的插件。这里主账号和当前使用的账号是分开的:主账号提供共享配置,Active 决定接下来用哪个账号启动会话。
比如配置一直用 Personal 的,干活时可以切到 Work 。新账号已有的本地配置和同名 skill 会保留,登录信息也是各自独立的。
换个账号,继续之前的对话 在用量下拉框里选好账号以后,新开的 chat 和新启动的 Claude Code crew 成员就会使用它。已经在跑的会话会继续使用原来的账号。
已有的 chat 如果也想换账号,可以先 Stop ,选好另一个账号,再点 Resume 。 Runner 会接着原来的对话继续,不用重新开一个 chat ,再把项目和做到哪一步介绍一遍。
这一版先做了手动切换,不会在额度用完时自动轮换账号。多账号功能目前也只针对 Claude Code 。
账号切换实现对比 做这个功能的时候,也看了社区里一些工具的实现。大致可以分成两类: 通过反代或者 agent gateway 。
客户端先把请求交给一个中间服务,由它选择账号、转发请求,有的还会做协议转换。具体实现也有区别,比如 Magpie 的 Claude gateway ,是由 gateway 调用真实的 Claude Code ,再由 Claude Code 向 Anthropic 发起请求。
原生 CLI 直连,在本机切换账号。不额外加模型请求代理,还是由 Claude Code 自己发请求。
这里又可以分成替换登录凭据和切换账号目录两种做法,所以 direct mode 不一定就是切目录。 Anthropic 官方文档里的多账号用法 是给每个账号一个独立的配置目录,用 CLAUDE_CONFIG_DIR 来选择。
例如个人账号继续直接运行 claude ,工作账号用 CLAUDE_CONFIG_DIR=~/.claude-work claude ,各自在自己的目录下登录。对 Runner 来说,我觉得沿用这个官方提供的机制是最稳妥的选择。
Runner 本来就在管理本机的 CLI 进程,经常会有几个 agent 同时跑。每个账号保留自己的登录状态和凭据存储,登录、保存凭据和 token 刷新都交给 Claude Code ,Runner 负责启动时选好目录。
从登录状态的稳定性和账号凭据管理上,这样我会更放心一些。 Runner 具体怎么做 登录和凭据: 添加账号时,在对应目录下运行 claude auth login ,走 Claude Code 自己的浏览器登录流程。
macOS 上凭据由 Claude Code 放进对应的 Keychain 项,Windows 上放在对应目录的凭据文件里。 Runner 保存账号名字、目录等信息,不另外保存一份供切换用的凭据;查看用量时会读取本机凭据,查询对应账号的用量。
启动和切换: 原来的账号保持原来的启动方式,额外账号通过 CLAUDE_CONFIG_DIR 指定目录。切换 Active 账号,只影响接下来新开或恢复的会话,已经在跑的 agent 继续用自己的账号。
在 Runner 外面直接打开的 Claude Code 也继续使用原来的默认登录。共享配置: 目录分开以后,skills 、MCP 和插件这些也需要处理。
Runner 按需链接主账号的 CLAUDE.md 、skills 等内容,settings 、MCP 和插件通过启动参数带入,保留各账号已有的本地文件和插件状态。所以账号可以分别登录,常用配置仍然可以共用。
继续原来的对话: Runner 会记住对话文件最初在哪个目录。换账号恢复时,用 claude --resume 接着原来的记录继续,不需要把历史复制到新账号目录,也不用从头开一个 chat 。
和 Magpie direct mode 的区别 Magpie 的 direct mode 会记住多个账号的凭据,切换时先保存当前账号的最新凭据,再把选中账号的凭据写回 Claude Code 原来使用的位置。这样配置和历史可以一直留在同一个目录,切换工具需要处理凭据的保存、替换和刷新后的同步。
Runner 这里切的是启动时使用的目录,每个账号的凭据留在各自的存储里。相应地,Runner 要多处理共享配置和跨目录恢复对话。
这是两种实现各自需要处理的事情,也和 Runner 本身就管理会话的功能有关。另外,Magpie 的 gateway 内部也会给 Claude 账号使用独立目录 。
所以这个区别具体说的是它切换原生 Claude Code 登录的 direct mode ,独立目录也不是 Runner 特有的做法。和 CC Switch 的区别 CC Switch 在 Claude Code 这一侧主要是切换 provider 配置。
Direct 模式会修改配置里的 endpoint 、key 、模型等字段; Routing 模式则让请求经过它的本地路由,可以做协议转换和故障切换。 Claude Official 使用 Claude Code 自己的登录,不经过本地 Routing 。
按它目前的文档,Accounts 里的多订阅账号管理列出的是 ChatGPT 、GitHub Copilot 和 Grok 。它的 Claude provider 切换,和 Runner 这次做的几个 Claude 订阅账号各自登录、切换后继续同一个会话,处理的需求有所不同。
下载和反馈 Repo: /ai-market-guide/ 官网: /ai-market-guide/ 下载: /ai-market-guide/ 版本说明: Runner 0.17.0 支持 macOS ( Apple Silicon )和 Windows x64 ( Windows 10 1809 及以上)。有多个 Claude 账号的朋友可以试试看,有问题在楼里反馈,或者到 GitHub 提 issue 都可以。
也欢迎分享自己平时是怎么切换账号的,看看还有哪些地方可以做得方便一点。